Upload
tracy-robinson
View
233
Download
0
Tags:
Embed Size (px)
Citation preview
Fariba Sadri - ICCL 08 Introduction
1
AgentsIntroduction
Fariba Sadri Imperial College London
ICCL Summer School DresdenAugust 2008
Fariba Sadri - ICCL 08 Introduction
2
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
3
Introduction - Contents
• Agent definition• Why are agents useful• Some application areas• A classification of agents
Fariba Sadri - ICCL 08 Introduction
4
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
5
What is an Agent?
sensors
environmentagent
?
actuators
percepts
actions
An intelligent agent perceives its environment via sensors and acts rationally upon that environment with its actuators.
Fariba Sadri - ICCL 08 Introduction
6
What is an Agent?
Agent SYSTEM
ENVIRONMET
input output
Fariba Sadri - ICCL 08 Introduction
7
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
8
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 multi-agent domains.
Fariba Sadri - ICCL 08 Introduction
9
Agent DefinitionKey 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
10
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
11
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
12
E.g. Artificial Agents
Agent Environ-ment
Goal Percepts
Action
Financial Forecaster
Stock market
Maximise investments
Stock market data
Pick stocks to buy/sell
Medical Diagnostic
Patient, Hospital
Patient Care
Symptom, Test results
Tests, Treatments
Deep Blue Chess board, opponent
Win Current board state
Choose next move
Fariba Sadri - ICCL 08 Introduction
13
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
14
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
15
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), 71-77.
Fariba Sadri - ICCL 08 Introduction
16
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
17
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/column3)
Fariba Sadri - ICCL 08 Introduction
18
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
19
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
20
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
21
INTELLIGENT AGENTSA Classification
Adopted from Russell and Norvig’s book, Artificial Intelligence A Modern Approach:
1. simple reflex agents2. model-based reflex agents3. goal-based agents 4. utility-based agents
Fariba Sadri - ICCL 08 Introduction
22
1. Simple reflex agents
Fariba Sadri - ICCL 08 Introduction
23
With perception
Environment
Agent
see action
Simple reflex agents
Fariba Sadri - ICCL 08 Introduction
24
Example: Simple reflex agents
Percept ActionAt A, A Dirty VacuumAt A, A Clean Move LeftAt B, B Dirty VacuumAt B, B Clean Move right
Fariba Sadri - ICCL 08 Introduction
25
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
26
2. Model-based reflex agents
Fariba Sadri - ICCL 08 Introduction
27
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
28
Model-based reflex agents
With internal states
Environment
Agent
see action
statePredict
Fariba Sadri - ICCL 08 Introduction
29
Model-based reflex agents
Given a Percept Integrate Percept in State ==> StateEvaluate the condition-action rules in
State and choose ActionExecute ActionUpdate State with Action ==> State
Fariba Sadri - ICCL 08 Introduction
30
3. Goal-based agents
Fariba Sadri - ICCL 08 Introduction
31
Goal-based agents
Environment
Agent
see action
Predict state
DecisionGoals
Fariba Sadri - ICCL 08 Introduction
32
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
33
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
34
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
35
4. Utility-based agents
Fariba Sadri - ICCL 08 Introduction
36
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
37
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
38
Multi-Agent Systems
Agent
Agent
Agent
Agent
Agent
Agent
ENVIRONMENT
ENVIRONMENT
ENVIRONMENT
Fariba Sadri - ICCL 08 Introduction
39
Multiagent SystemsFeatures
• Interaction – Communication languages– Protocols– Policies
• Co-ordination• Co-operation• Collaboration : Shared goals• Negotiation