* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Agents - computational logic
Survey
Document related concepts
Transcript
Agents Introduction Fariba Sadri Imperial College London ICCL Summer School Dresden August 2008 Fariba Sadri - ICCL 08 Introduction 1 Plan for the Course • Introduction • Some agent examples – TR programs – Agent0 – AgentSpeak • Abductive logic programming (ALP) • ALP for agents • An example of an ALP-based agent model Fariba Sadri - ICCL 08 Introduction 2 Introduction - Contents • • • • Agent definition Why are agents useful Some application areas A classification of agents Fariba Sadri - ICCL 08 Introduction 3 General Acknowledgements In preparing these lectures I have used or been inspired by material from Keith Clark, Bob Kowalski, and many online sources. Fariba Sadri - ICCL 08 Introduction 4 What is an Agent? An intelligent agent perceives its environment via sensors and acts rationally upon that environment with its actuators. sensors percepts ? environment agent actuators actions Fariba Sadri - ICCL 08 Introduction 5 What is an Agent? Agent SYSTEM output input ENVIRONMET Fariba Sadri - ICCL 08 Introduction 6 Agent: Definition Many definitions by different authors, but they have much in common: • An agent is a computer system that is capable of exhibiting some form of intelligence and independent action on behalf of its user or owner. • Another agent definition from: Is it an Agent, or just a Program?: A Taxonomy forAutonomous Agents, Franklin and Graesser http://www.msci.memphis.edu/~franklin/AgentProg.html An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future. Fariba Sadri - ICCL 08 Introduction 7 Agent: Definition cntd. • Another definition from AgentLink Agent Roadmap Definition : An agent is a computer system that is capable of flexible autonomous action in dynamic, unpredictable, typically multiagent domains. Fariba Sadri - ICCL 08 Introduction 8 Agent Definition Key Properties An agent is a hardware or software system that is: • Situated: i.e. embedded in some environment (which may be the physical world, a software environment, a community of agents) which they can: – sense (through physical sensors or message receipt or event detection giving partial info on environment state) and – act upon (via effectors, messages or event generation with possible non-deterministic outcomes) • Reactive : i.e. responds in a timely fashion to messages, sensed data or detected events - so actively monitors state of its environment • Autonomous: i.e. operates without the direct intervention of humans or other agents, with independent control over its actions and internal state Fariba Sadri - ICCL 08 Introduction 9 Agent Definition Other Possible properties • Social: can interact with other agents and possibly humans using messages or actions that change the shared environment • Pro-active: has one or more goals which it tries to achieve by communicating with other agents or acting on its environment • Has a mentalistic model: agent has an internal architecture that can be understood in terms of mentalistic notions such as beliefs, desires, intentions and obligations Fariba Sadri - ICCL 08 Introduction 10 E.g. Humans Situated Sensors: Eyes (vision), ears (hearing), skin (touch), tongue (taste), nose (olfaction), neuromuscular system (proprioception) Percepts: At the lowest level – electrical signals After preprocessing – objects in the visual field (location, textures, colors, …), auditory streams (pitch, loudness, direction), … Actuators: limbs, digits, eyes, tongue, … Actions: lift a finger, turn left, walk, run, carry an object (Often) Intelligent and Autonomous Fariba Sadri - ICCL 08 Introduction 11 E.g. Artificial Agents Agent Environ- Goal ment Percepts Action Financial Forecaster Stock market Maximise Stock Pick stocks investments market data to buy/sell Medical Diagnostic Patient, Hospital Patient Care Symptom, Tests, Test results Treatments Deep Blue Chess board, opponent Win Current Choose next board state move Fariba Sadri - ICCL 08 Introduction 12 Why are Agents useful? • Specialised tasks Agents (and their physical instantiation in robots) have a role to play in high-risk situations, unsuitable or impossible for humans • In applications where the data, control or resources are distributed: The system can be conceptualised as a collection of co-operating components Fariba Sadri - ICCL 08 Introduction 13 Why are Agents useful? • Agents as a tool for understanding human societies: Multiagent systems provide a novel new tool for simulating societies, which may help shed some light on various kinds of social processes. • Agents as tools for formalising and experimenting with theories of cognition Fariba Sadri - ICCL 08 Introduction 14 For example: Sloman A., Architectural requirements for human-like agents both natural and artificial (What sort of machines can love?). In K. Dautenhahn (ed.) Human cognition and social agent technology. Advances in consciousness research, 2000, 163-195. Sloman A. & Logan B., Building cognitively rich agents using the Sim_Agent toolkit. Communivcations of the ACM, 1999, 42(3), 7177. Fariba Sadri - ICCL 08 Introduction 15 Why are Agents useful? • Agents as a paradigm for software engineering: – Increasing complex software – It is now widely recognized that independence of components and their interaction are very important characteristics of complex software Fariba Sadri - ICCL 08 Introduction 16 Some Application Areas • Computer games (http://www.ai-junkie.com/books/toc_pgaibe.html) • Work flow and business process management (http://www.eil.utoronto.ca/iscm-descr.html) • Simulation – Social, economic, behavioural (http://jasss.soc.surrey.ac.uk/5/1/7.html) – Complex systems (http://www.jot.fm/issues/issue_2002_07/column 3) Fariba Sadri - ICCL 08 Introduction 17 Some Application Areas • Ambient intelligence (http://research.nii.ac.jp/~ichiro/papers/satoh-smc2004.pdf) Examples: MavHome (Managing An Intelligent Versatile Home) project at the University of Texas at Arlington: objective to create a home that acts as a rational agent, that has sensors and effectors, and that acquires and applies information about the inhabitants to provide comfort and efficiency iDorm (intelligent dormitory) at the University of Essex, UK. The iDorm contains space for various activities such as sleeping, working and entertaining, and contains various items of furniture such as a bed, desk, wardrobe, and multimedia entertainment system. It is fitted with multiple sensors and effectors. The sensors can sense temperature, occupancy (for example user sitting at desk, user lying in bed), humidity, and light levels. The effectors can open and close doors, and adjust heaters and blinds. Fariba Sadri - ICCL 08 Introduction 18 Some Application Areas Ambient intelligence • Much has been done on hardware • Much more required on “intelligence” • Lends itself well to agents and many areas of AI • Distributed information via sensors • Distributed information about user profile • Partial information • Defeasible reasoning Fariba Sadri - ICCL 08 Introduction 19 Some Application Areas • E-commerce • Information gathering and retrieval (http://www.doc.ic.ac.uk/~klc/iceis03.html) • Semantic web (http://citeseer.ist.psu.edu/hendler01agents. html) Fariba Sadri - ICCL 08 Introduction 20 INTELLIGENT AGENTS A Classification Adopted from Russell and Norvig’s book, Artificial Intelligence A Modern Approach: 1. simple reflex agents 2. model-based reflex agents 3. goal-based agents 4. utility-based agents Fariba Sadri - ICCL 08 Introduction 21 1. Simple reflex agents Fariba Sadri - ICCL 08 Introduction 22 Simple reflex agents With perception see action Agent Environment Fariba Sadri - ICCL 08 Introduction 23 Example: Simple reflex agents Percept At A, A Dirty At A, A Clean At B, B Dirty At B, B Clean Action Vacuum Move Left Vacuum Move right Fariba Sadri - ICCL 08 Introduction 24 Simple reflex agents Act only on the basis of the current percept. The agent function is based on the condition-action rule: condition action Limited functionality: Work well only when • the environment is fully observable and • the condition-action rules have predicted all necessary actions. Fariba Sadri - ICCL 08 Introduction 25 2. Model-based reflex agents Fariba Sadri - ICCL 08 Introduction 26 Model-based reflex agents • Have information about how the world behaves – Model of the World. • They can work out information about the part of the world which they have not seen. • Handle partially observable environments. The model of the world allows them to – Use information about how the world evolves to keep track of the parts of the world they cannot see • Example: If the agent has seen an object in a place and has since not seen any agent moving towards that object then the object is still at that place. – Know the effects of their own actions on the world. • Example: if the agent has moved northwards for 5 minutes then it is 5 minutes north of where it was. Fariba Sadri - ICCL 08 Introduction 27 Model-based reflex agents With internal states Agent see action Predict state Environment Fariba Sadri - ICCL 08 Introduction 28 Model-based reflex agents Given a Percept Integrate Percept in State ==> State Evaluate the condition-action rules in State and choose Action Execute Action Update State with Action ==> State Fariba Sadri - ICCL 08 Introduction 29 3. Goal-based agents Fariba Sadri - ICCL 08 Introduction 30 Goal-based agents Agent see Predict Goals Decision action state Environment Fariba Sadri - ICCL 08 Introduction 31 Goal-based agents • The current state of the world is not always enough to decide what to do. • For example at a junction a car can go left, right or straight. It needs knowledge of its destination to make the decision which of these to choose. Fariba Sadri - ICCL 08 Introduction 32 Goal-based agents World Model (as model-based agents) + Goals Goals are situations that are desirable. The goals allow the agent a way to choose among multiple possibilities, selecting the one which reaches a goal state. Fariba Sadri - ICCL 08 Introduction 33 Goal-based agents Differences from Reflexive Agents: • Goals are explicit • The future is taken into account • Reasoning about the future is necessary – planning, search. Fariba Sadri - ICCL 08 Introduction 34 4. Utility-based agents Fariba Sadri - ICCL 08 Introduction 35 Utility-based agents • What if there are multiple alternative ways of achieving the same goal? • Goals provide coarse distinction between “happy” and “unhappy” states. • Utility-based agents have finer degrees of comparison between states. • World Model + Goals + utility functions Fariba Sadri - ICCL 08 Introduction 36 Utility-based agents Utility functions map states to a measure of the utility of the states, often real numbers. They are used to: • Select between conflicting goals • Select between alternative ways of achieving a goal • Deal with cases of multiple goals, none of which can be achieved with certainty – weighing up likelihood of success against importance of goal. Fariba Sadri - ICCL 08 Introduction 37 Multi-Agent Systems Agent Agent ENVIRONMENT Agent Agent ENVIRONMENT Agent ENVIRONMENT Agent Fariba Sadri - ICCL 08 Introduction 38 Multiagent Systems Features • Interaction – Communication languages – Protocols – Policies • • • • Co-ordination Co-operation Collaboration : Shared goals Negotiation Fariba Sadri - ICCL 08 Introduction 39