agent concepts and issues
DESCRIPTION
Agent concepts and issues. Lin Padgham Artificial Intelligence Group Dept. of Computer Science RMIT. Thanks to AOS and E. Sonenberg for some borrowed slides. Many choices. Smart agents with complex knowledge Systems of many small simple agents Agents in the physical world (robots) - PowerPoint PPT PresentationTRANSCRIPT
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Lin PadghamLin Padgham
Artificial Intelligence GroupArtificial Intelligence Group
Dept. of Computer ScienceDept. of Computer Science
RMITRMIT
Agent concepts and issuesAgent concepts and issues
Thanks to AOS and E. Sonenberg for some borrowed slides
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Many choicesMany choices
Smart agents with complex knowledge Systems of many small simple agents Agents in the physical world (robots) Small mobile agents ...
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Agent approachesAgent approaches
Behaviour based situated, reactive (Brooks, Maes …)
Plan-based deliberative, reasoning (Bratman, Georgeff&Rao, …)
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Behaviour based architectureBehaviour based architecture
perceptsactions
behaviour layer 1
behaviour layer 2
behaviour layer 3
behaviour layer n
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Behaviour based philosophyBehaviour based philosophy
no internal world model no symbolic reasoning goals a function of observer ‘intelligence’ is emergent
environmentagent
behaviours
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Example behavioursExample behaviours
avoid obstacle
go to point
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Merging - corridor exampleMerging - corridor example
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Merging - go-around exampleMerging - go-around example
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Merging - won’t always workMerging - won’t always work
weighting
suppression
activation
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Oscillating behavioursOscillating behaviours
run to ball vs mark opponent
mark opponentrun to ball
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Behaviour based summaryBehaviour based summary
impressive robotics systems– e.g. walking insect-like robots
work well to a certain complexity
many layers and behaviours lead to difficulty in understanding and dealing with interactions.
no methodology to help with managing interactions
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Pragmatic plan-based systemsPragmatic plan-based systems
came out of symbolic reasoning and planning recognise need for reactivity accept adequate vs optimal solution recognise that world is dynamic earliest examples IRMA and PRS use pre-defined plans rather than generating plans
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
BDI basic conceptsBDI basic concepts
beliefs - local knowledge base, can be updated desires/goals - what the agent is trying to accomplish actions - elementary things the agent can do to communicate,
or change the environment plans - predetermined sequences of actions (or calls to other
plans) that can accomplish specified tasks intentions - currently “adopted” plans - multiple concurrently events - things that ‘happen’, can be internal or external
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
BDI architectureBDI architecture
beliefs /
world model
goals /
desires
intentionsplans
events
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Plan selection and executionPlan selection and execution
invocation condition/trigger - when should plan be considered
context condition - under what conditions is plan appropriate
body - actions, sub-goals, sub-plans maintenance condition - abort if broken fail procedure - may be atomic action or more complex
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Ongoing reasoningOngoing reasoning
when an event occurs, the agent– looks for a relevant plan– for each relevant plan, examines applicability– selects an applicable plan & starts executing
ongoing questions– what goal to pursue or event to react to - now !– how to pursue it– when to suspend / abandon / change– level of commitment, more/less sensitive to change
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
High level programming constructsHigh level programming constructs
Achieve– semantics of try and retry until achieved or possibilities
exhausted Test
– check if known, if not find out Wait-for
– monitor periodically while doing other things
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Illustrative exampleIllustrative example
Airport– runway– air traffic controller– multiple aircraft
taking off landing
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Example beliefsExample beliefs
Aircraft controller– arrivals((plane-id, time)(plane-id, time)…)– runways(R1,R2,R3)– ...
Aircraft– schedule((place, time)(place time)…)– altitude(height)– next-arrival(place, time)– ...
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Example eventsExample events
aircraft enters control zone– possibly a radar sensor event
aircraft contacts controller– a radio message event
runway assigned– possibly an internally generated event following
processing of a message.
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Example goals and sub-goalsExample goals and sub-goals
land the plane– determine runway– fly landing pattern– execute approach
assign runway
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Example planExample plan
Invocation: plane enters radar area
Context: plane not scheduled
Maintenance: no emergency
Fail: send message "holding pattern"
establish communication
allocate runway
monitor approach and land
direct to park
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Hybrid systemsHybrid systems
Layered architecture– reactive layer– deliberative layer
Further layers– plan generation– social awareness– emotion/personality– …
percepts actions
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Vacuum cleaner exampleVacuum cleaner example
vacuum cleaner problem (Firby, 1993) problem: autonomous agent (robot) vacuuming a room without
over-engineering the task solution requires a range of reactive and deliberative behaviour
– reactive: avoid obstacles - furniture, children– deliberative: map the room, plan the task, interact with
humans
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Vacuum cleaner - part 1Vacuum cleaner - part 1
simple vacuum task (vacuum as agent) – objects in room are simple (e.g., convex)– stationary during cleaning, may move between cleanings– people occasionally move through the room
reactive architecture appropriate / sufficient for navigation– minimal state, simple sensing e.g. rug, dirt– simple strategies can cover the room without a map
(e.g., random walk, slow spiral outwards, etc.)
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Vacuum cleaner - part 2Vacuum cleaner - part 2
synthetic vacuum task– complex objects (clean around, under)– moving and stationary objects treated differently– different vacuuming strategies at different times in
different situations need to represent object classes and associated strategies
– solution naturally expressed in terms of goals and plans– still need reactive capabilities for obstacle avoidance
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Vacuum cleaner - part 3Vacuum cleaner - part 3
intelligent vacuum task– negotiate with user
“Do under the sofa first.” “Do here later.” “Stay away from the baby.”
– be able to operate correctly in varied situations
need higher level understanding of goals and plans useful to retain reactive properties for obstacle avoidance
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Multi-agent systems - (DAI)Multi-agent systems - (DAI)
no global control mechanism each agent has limited knowledge/capability asynchronous computation Interaction
– co-ordination– co-operation– competition– negotiation
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Co-operation vs co-ordinationCo-operation vs co-ordination
co-ordination (traffic)– individual goals– mutual benefit– avoid potential conflict
co-operation (soccer game)– shared goals– shared plans– commitment
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
TeamworkTeamwork
multi-agent plans roles authority relationships - can one assume the other will take
on tasks when requested? global information or partial information? individual or joint goals? conflicting priorities?
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Coordination protocols, e.g.Coordination protocols, e.g.
contract net– manager / contractor multi-pass bidding system
partial global planning– agents exchange partial information on goals– use info on others’ goals to reason about own activities– use contract-net to assign tasks to underutilised agents
conversation plans– use predetermined knowledge of others’ capabilities and known
authority relationships to drive negotiation
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Communication mechanismsCommunication mechanisms
blackboards contract net protocol
– manager / contractor multi-pass bidding system interaction protocols
– e.g. request, confirm, ... shared plans
– possibly using roles joint intentions, joint goals, joint commitments
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Open environmentsOpen environments
agents need to find each other interoperability - agent communication languages middle agents
– matchmakers– brokers
agent difference
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Agent Communication Languages Agent Communication Languages (ACLs)(ACLs)
general requirements– high level - concise, easy to parse, readable – separate communication acts from domain information– fit with modern networking technology - support
point-to-point, broadcast, multicast– be independent of transport mechanisms (http,
TCP/IP...)– support for “facilitators”
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
KQMLKQML
a proposed “standard” for inter-agent communication, still under development
((ask-oneask-one: sender joe: sender joe: content (: content (PRICE IBM ?PRICE IBM ?
priceprice)): receiver stock-server: receiver stock-server: reply-with ibm-stock: reply-with ibm-stock: language LPROLOG: language LPROLOG: ontology NYSE-: ontology NYSE-
TICKSTICKS))
(tell(tell: sender stock-: sender stock-
serverserver: content (: content (PRICE PRICE
IBM 14IBM 14)): receiver joe: receiver joe: in-reply-to ibm-: in-reply-to ibm-
stockstock: language : language
LPROLOGLPROLOG: ontology NYSE-: ontology NYSE-
TICKSTICKS))
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
CORBACORBA
Non-ACL Communication Infrastructure:
– popular for integration in intranets, Web
– current standard limited to OO RPC-style communication
– event service usable in a few cases, message service in future
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Summary of issuesSummary of issues
complexity of agent agent architecture,
– behaviour based, plan based, hybrid many agents or few agent interactions
– competing, co-ordinating, co-operating, negotiating open environments
– agent diversity, middle agents, ACL's
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Case study Case study
schedule the use of runways on an airport
arrivals departures multiple runways
AircraftAircraftAircraft
Air Traffic Controller
Runway
Runway
...
...
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
AgentsAgents
aircraft agents
– request runway slot from airport
– monitor progress of real aircraft
– compute holding / delay actions air traffic controller agents
– arbitrator of runway use
– airport procedures
– weather knowledge runway agents
– manage usage schedule
– slot in new aircraft
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
bidding solution bidding solution
aircraft
aircraft
atc
runway runway runway
aircraft
request
request
allocation
bidrequest bid
request
bid
allocation
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
aircraft agents (bidding)aircraft agents (bidding)
aircraft
flight planpositionATL / ATTETA
position updates
runway request runway allocation
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
airtraffic controller agent (bidding)airtraffic controller agent (bidding)
atc
runway statusairport proceduresweather
runway request
runway allocation
requestallocation
bid
rescheduling
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
runway agents (bidding)runway agents (bidding)
runway
schedulereadiness
request bid
allocationrescheduling
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Example Example bidding interactionsbidding interactions
(aircraft)ABA345
(atc)Turichirappalli
(runway)East-West 1
request
(runway)East-West 2
request
request
bid
bid
allocationallocation
rescheduling (QF638)
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
aircraft
daisy chain solutiondaisy chain solution
aircraft
atc
runway runway runway
aircraft
request
request
best so farbest so far
allocation
best allocation
allocation rescheduling
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
aircraft agents (daisy chain)aircraft agents (daisy chain)
aircraft
flight planpositionATL / ATTETA
position updates
runway request runway allocation
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
airtraffic controller agent airtraffic controller agent (daisy chain)(daisy chain)
atc
runway statusairport proceduresweather
runway request
runway allocation
request best
allocation rescheduling
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
runway agents (daisy chain)runway agents (daisy chain)
runway
schedulereadiness
request andbest so far
request andbest so far
allocation rescheduling
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
ExampleExampledaisy chain interactionsdaisy chain interactions
(aircraft)ABA345
(atc)Turichirappalli
(runway)East-West 1
request
(runway)East-West 2
request
best so far
best
allocationallocation
rescheduling (QF638)
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998
Case Study 2 - wrapupCase Study 2 - wrapup
the example focused more on the interactions among agents than their internal architecture
“intelligence” could be embedded in the agents, e.g. how the air traffic controller adapts to changed weather
different domains may require different conceptual and software tools either when designing or when building the systems
the diversity of domains justifies the existing variety of agent architectures and frameworks