Agents - computational logic

Download Report

Transcript Agents - computational logic

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