500 likes | 620 Views
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)
E N D
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) • Small mobile agents • ...
Agent approaches • Behaviour based • situated, reactive • (Brooks, Maes …) • Plan-based • deliberative, reasoning • (Bratman, Georgeff&Rao, …)
Behaviour based architecture behaviour layer n percepts actions behaviour layer 3 behaviour layer 2 behaviour layer 1
Behaviour based philosophy • no internal world model • no symbolic reasoning • goals a function of observer • ‘intelligence’ is emergent agent behaviours environment
go to point Example behaviours avoid obstacle
Merging - won’t always work weighting suppression activation
Oscillating behaviours • run to ball vs mark opponent run to ball mark opponent
Behaviour 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
Pragmatic 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
BDI 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
BDI architecture beliefs / world model goals / desires events intentions plans
Plan 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
Ongoing 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
High 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
Illustrative example • Airport • runway • air traffic controller • multiple aircraft • taking off • landing
Example 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) • ...
Example 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.
Example goals and sub-goals • land the plane • determine runway • fly landing pattern • execute approach • assign runway
Example plan establish communication Invocation: plane enters radar area Context: plane not scheduled Maintenance: no emergency Fail:send message "holding pattern" allocate runway monitor approach and land direct to park
Hybrid systems • Layered architecture • reactive layer • deliberative layer • Further layers • plan generation • social awareness • emotion/personality • … percepts actions
Vacuum 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
Vacuum 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.)
Vacuum 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
Vacuum 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
Multi-agent systems - (DAI) • no global control mechanism • each agent has limited knowledge/capability • asynchronous computation • Interaction • co-ordination • co-operation • competition • negotiation
Co-operation vs co-ordination • co-ordination (traffic) • individual goals • mutual benefit • avoid potential conflict • co-operation (soccer game) • shared goals • shared plans • commitment
Teamwork • 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?
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
Communication 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
Open environments • agents need to find each other • interoperability - agent communication languages • middle agents • matchmakers • brokers • agent difference
Agent Communication Languages (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”
KQML • a proposed “standard” for inter-agent communication, still under development • (ask-one : sender joe : content (PRICE IBM ?price) : receiver stock-server : reply-with ibm-stock : language LPROLOG : ontology NYSE-TICKS) • (tell : sender stock-server : content (PRICE IBM 14) : receiver joe : in-reply-to ibm-stock : language LPROLOG : ontology NYSE-TICKS)
CORBA • 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
Summary 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
Case study • schedule the use of runways on an airport • arrivals • departures • multiple runways ... Aircraft Aircraft Aircraft Air Traffic Controller ... Runway Runway
Agents • 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
bidding solution aircraft aircraft aircraft request allocation allocation atc request bid request bid bid request runway runway runway
aircraft agents (bidding) aircraft flight plan position ATL / ATT ETA position updates runway allocation runway request
airtraffic controller agent (bidding) atc runway allocation runway status airport procedures weather runway request rescheduling request bid allocation
runway agents (bidding) runway allocation rescheduling bid request schedule readiness
Example bidding interactions (aircraft) ABA345 (atc) Turichirappalli (runway) East-West 1 (runway) East-West 2 request request request bid bid allocation allocation rescheduling (QF638)
daisy chain solution aircraft aircraft aircraft request allocation atc request best allocation rescheduling allocation runway runway runway best so far best so far
aircraft agents (daisy chain) aircraft flight plan position ATL / ATT ETA position updates runway allocation runway request
airtraffic controller agent (daisy chain) atc runway allocation runway status airport procedures weather runway request request best allocation rescheduling
runway agents (daisy chain) runway rescheduling allocation schedule readiness request and best so far request and best so far
Exampledaisy chain interactions (aircraft) ABA345 (atc) Turichirappalli (runway) East-West 1 (runway) East-West 2 request request best so far best allocation allocation rescheduling (QF638)
Case 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