lecture 2 multi-agent systems lecture 2 university “politehnica” of bucarest 2004 - 2005 adina...

36
Multi-Agent Systems Lecture 2 Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea [email protected] http://turing.cs.pub.ro/blia_2005

Upload: matilda-burns

Post on 20-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Multi-Agent SystemsLecture 2Lecture 2

University “Politehnica” of Bucarest2004 - 2005

Adina Magda [email protected]

http://turing.cs.pub.ro/blia_2005

Page 2: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Models of agency and Models of agency and architecturesarchitecturesLecture outlineLecture outline

Conceptual structures of agents Cognitive agent architectures Reactive agent architectures Layered architectures

Page 3: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

1. Conceptual structures of 1. Conceptual structures of agentsagents

1.1 Agent rationality

An agent is said to be rational if it acts so as to obtain the best results when achieving the tasks assigned to it.

How can we measure the agent’s rationality? A measure of performance, an objective

measure if possible, associated to the tasks the agent has to execute.

3

Page 4: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

An agent is situated in an environment An agent perceives its environment through sensors and

acts upon the environment through effectors.

Aim: design an agent program = a function that implements the agent mapping from percepts to actions.We assume that this program will run on some computing device which we will call the architecture.

Agent = architecture + program

The environment– accessible vs. inaccessible– deterministic vs. non-deterministic– static vs. dynamic– discrete vs. continue

4

Page 5: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

1.2 Agent modeling

E = {e1, .., e, ..}P = {p1, .., p, ..}A = {a1, .., a, ..}

Reflex agentsee : E Paction : P Aenv : E x A E(env : E x A P(E))Environment

env

Decisioncomponent

action

Executioncomponent

action

Perceptioncomponent

see

Agent

5

Page 6: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Agent modelingSeveral reflex agents

see : E P env : E x A1 x … An P(E) inter : P I

action : P x I A

Environmentenv

Decisioncomponent

action

Executioncomponent

action

Perceptioncomponent

see

Agent (A1)

Agent (A2)

Agent (A3)

Interactioncomponent

inter

6

I = {i1,…,i,..}

Page 7: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Cognitive agents

Agents with states S = {s1,…,s,…}

action : S x I Ai

next : S x P S

inter : S x P I

see : E P

env : E x A1 x … An P(E)

Agent modeling

7

Page 8: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Agents with states and goals

goal : E {0, 1}

Agents with utility

utility : E R

Environment non-deterministic

env : E x A P(E)

The probability estimated by the agent that the result of an action (a) execution in state e will be the new state e’

prob(ex(a, e) e') 1e'env( e,a)

Agent modeling

8

Page 9: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Agents with utility

The expected utility of an action in a state e, from the agent’s point of view

The principle ofMaximum Expected Utility (MEU) =a rational agent must choose the action that will bring the maximum expected utility

),('

)'(*)'),((),(aeenve

eutilityeeaexprobeaU

Agent modeling

9

Page 10: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

How to model?

Getting out of a maze

– Reflex agent

– Cognitive agent

– Cognitive agent with utility

3 main problems:

what action to choose if several available

what to do if the outcomes of an action are not known

how to cope with changes in the environment

10

Page 11: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

2. Cognitive agent architectures2. Cognitive agent architectures

2.1 Rational behaviour

AI and Decision theory AI = models of searching the space of possible actions to

compute some sequence of actions that will achieve a particular goal

Decision theory = competing alternatives are taken as given, and the problem is to weight these alternatives and decide on one of them (means-end analysis is implicit in the specification of competing alternatives)

Problem 1 = deliberation/decision vs. action/proactivity

Problem 2 = the agents are resource bounded

11

Page 12: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

General cognitive agent architectureGeneral cognitive agent architecture

12

Information aboutitself- what it knows- what it believes- what is able to do- how it is able to do- what it wantsenvironment andother agents- knowledge- beliefs

Communication

Interactions

Control

Output

Input

Otheragents

Environment

Scheduler&Executor State

Planner

Reasoner

Page 13: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

2.2 FOPL models of agency Symbolic representation of knowledge + use inferences in FOPL -

deduction or theorem proving to determine what actions to execute Declarative problem solving approach - agent behavior represented

as a theory T which can be viewed as an executable specification

(a) Deduction rules

At(0,0) Free(0,1) Exit(east) Do(move_east)

Facts and rules about the environment

At(0,0)

Wall(1,1)

x y Wall(x,y) Free(x,y)

Automatically update current state and test for the goal state At(0,3)

13

Page 14: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

FOPL models of agency

(b) Use situation calculus = describe change in FOPL

Situation = the state resulting after executing an action

Logical terms consisting of the initial state S0 and all situations that are generated by applying an action to a situation

Result(Action,State) = NewState Fluents = functions or predicates that vary from one

situation to the next

At(location, situation)

14

Page 15: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

FOPL models of agency

At((0,0), S0) Free(0,1) Exit(east)

At((0,1), Result(move_east,S0))

Try to prove the goal At((0,3), _) and determine the actions that lead to it

- means-end analysis

KB -| {Goal} and keep track o associated actions

15

Page 16: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Advantages of FOPL- simple, elegant- executable specifications

Disadvantages- difficult to represent changes over time

other logics- decision making is deduction and

selection of a strategy- intractable- semi-decidable

16

Page 17: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

2.3 BDI architectures High-level specifications of a practical component of an

architecture for a resource-bounded agent. It performs means-end analysis, weighting of competing

alternatives and interactions between these two forms of reasoning

Beliefs = information the agent has about the world Desires = state of affairs that the agent would wish to

bring about Intentions = desires (or actions) that the agent has

committed to achieve BDI - a theory of practical reasoning - Bratman, 1988 intentions play a critical role in practical reasoning - limits

options, DM simpler17

Page 18: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

18

BDI particularly compelling because: philosophical component - based on a theory of

rational actions in humans software architecture - it has been implemented and

successfully used in a number of complex fielded applications– IRMA - Intelligent Resource-bounded Machine Architecture– PRS - Procedural Reasoning System

logical component - the model has been rigorously formalized in a family of BDI logics– Rao & Georgeff, Wooldrige

– (Int Ai ) (Bel Ai )

Page 19: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

19

BDI ArchitectureBelief revision

BeliefsKnowledge

Deliberation process

percepts

DesiresOpportunityanalyzer

Intentions

Filter

Means-endreasonner

Intentions structured in partial plans

PlansLibrary of plans

Executor

B = brf(B, p)

D = options(B, D, I)

I = filter(B, D, I)

= plan(B, I)

actions

Page 20: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Roles and properties of intentions Intentions drive means-end analysis Intentions constraint future deliberation Intentions persist Intentions influence beliefs upon which future practical

reasoning is based

Agent control loopAgent control loopB = B0 I = I0 D = D0

while true do

get next perceipt p

B = brf(B,p)

D = options(B, D, I)

I = filter(B, D, I)

= plan(B, I)

execute()

end while 20

Page 21: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Commitment strategies If an option has successfully passed trough the filter

function and is chosen by the agent as an intention, we say that the agent has made a commitment to that option

Commitments implies temporal persistence of intentions; once an intention is adopted, it should not be immediately dropped out.

Question: How committed an agent should be to its intentions?

Blind commitment Single minded commitment Open minded commitment

Note that the agent is committed to both ends and means.

21

Page 22: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

B = B0

I = I0 D = D0

while true do

get next perceipt p

B = brf(B,p)

D = options(B, D, I)

I = filter(B, D, I)

= plan(B, I)

while not (empty() or succeeded (I, B) or impossible(I, B)) do

= head()

execute()

= tail()

get next perceipt p

B = brf(B,p)

if not sound(, I, B) then

= plan(B, I)

end while

end while 22

Reactivity, replan

Dropping intentions that are impossibleor have succeeded

Revised BDI agent control loopRevised BDI agent control loopsingle-minded commitment

Page 23: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

B = B0

I = I0 D = D0

while true doget next perceipt pB = brf(B,p)D = options(B, D, I)I = filter(B, D, I) = plan(B, I)while not (empty() or succeeded (I, B) or impossible(I, B)) do

= head()execute()

= tail()get next perceipt pB = brf(B,p)

D = options(B, D, I) I = filter(B, D, I)

= plan(B, I)end while

end while 23

Replan

if reconsider(I, B) then

Revised BDI agent control loopRevised BDI agent control loopopen-minded commitment

Page 24: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

3. Reactive agent 3. Reactive agent architecturesarchitectures

Subsumption architecture - Brooks, 1986

(1) Decision making = {Task Accomplishing Behaviours}– Each behaviour = a function to perform an action– Brooks defines TAB as finite state machines– Many implementations: situation action

(2) Many behaviours can fire simultaneously

24

Page 25: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Subsumption architecture A TAB is represented by a competence module

(c.m.) Every c.m. is responsible for a clearly defined, but

not particular complex task - concrete behavior The c.m. are operating in parallel Lower layers in the hierarchy have higher priority and

are able to inhibit operations of higher layers c.m. at the lower end of the hierarchy - basic,

primitive tasks; c.m. at higher levels - more complex patterns of

behaviour and incorporate a subset of the tasks of the subordinate modules

subsumtion architecture 25

Page 26: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Module 1 can monitor and influence the inputs and outputs of Module 2

M1 = move around while avoiding obstacles M0M2 = explores the environment looking for

distant objects of interests while moving around M1

Incorporating the functionality of a subordinated c.m. by a higher module is performed using suppressors (modify input signals) and inhibitors (inhibit output) 26

CompetenceModule (1)Move around

CompetenceModule (0)Avoid obstacles

Inhibitor nodeSupressor node

Sensors

CompetenceModule (2)Explore environ

CompetenceModule (0)Avoid obstacles

EffectorsCompetenceModule (1)Move around

Input(percepts)

Output(actions)

Page 27: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

More modules can be added:• Replenishing energy• Optimising paths• Making a map of territory• Pick up and put down objects

Behavior(c, a) – pair of condition-action describing behavior

R = { (c, a) | c P, a A} - set of behavior rules

R x R - binary inhibition relation on the set of behaviors, total ordering of R

function action( p: P)var fired: P(R), selected: Abegin

fired = {(c, a) | (c, a) R and p c}for each (c, a) fired doif (c', a') fired such that (c', a') (c, a) then return areturn null

end 27

Page 28: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Every c.m. is described using a subsumption language based on AFSM - Augmented Finite State Machines

An AFSM initiates a response as soon as its input signal exceeds a specific threshold value.

Every AFSM operates independently and asynchronously of other AFSMs and is in continuos competition with the other c.m. for the control of the agent - real distributed internal control

1990 - Brooks extends the architecture to cope with a large number of c.m. - Behavior Language

Other implementations of reactive architectures Steels - indirect communication - takes into account the social

feature of agents

Advantages of reactive architectures Disadvantages

28

Page 29: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

4. Layered agent architectures4. Layered agent architectures Combine reactive and pro-active behavior At least two layers, for each type of behavior Horizontal layering - i/o flows horizontally Vertical layering - i/o flows vertically

29

Layer n

Layer 2

Layer 1

perceptualinput

Actionoutput

Layer n

Layer 2

Layer 1

Layer n

Layer 2

Layer 1

Actionoutput

Actionoutput

perceptualinput

perceptualinput

HorizontalVertical

Page 30: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

TouringMachine Horizontal layering - 3 activity producing layers, each layer

produces suggestions for actions to be performed reactive layer - set of situation-action rules, react to precepts from the

environment planning layer

- pro-active behavior

- uses a library of plan skeletons called schemas- hierarchical structured plans refined in this layer

modeling layer- represents the world, the agent and other agents- set up goals, predicts conflicts- goals are given to the planning layer to be achieved

Control subsystem- centralized component, contains a set of control rules- the rules: suppress info from a lower layer to give control to a higher one- censor actions of layers, so as to control which layer will do the actions

30

Page 31: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

InteRRaP Vertically layered two pass agent architecture Based on a BDI concept but concentrates on the dynamic control

process of the agent

Design principles the three layered architecture describes the agent using various

degrees of abstraction and complexity both the control process and the KBs are multi-layered the control process is bottom-up, that is a layer receives control

over a process only when this exceeds the capabilities of the layer beyond

every layer uses the operations primitives of the lower layer to achieve its goals

Every control layer consists of two modules:

- situation recognition / goal activation module (SG)

- planning / scheduling module (PS) 31

Page 32: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

32

Cooperativeplanning layer SG

SG PS

SG PS

PS

Localplanning layer

Behaviorbased layer

World interface Sensors Effectors Communication

Social KB

Planning KB

World KB

actions percepts

InteRRaP

Page 33: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

33

Beliefs

Social model

Mental model

World model

Situation

Cooperative situation

Local planning situation

Routine/emergency sit.

Goals

Cooperative goals

Local goals

Reactions

Options

Cooperative option

Local option

Reaction

Operational primitive

Joint plans

Local plans

Behavior patterns

Intentions

Cooperative intents

Local intentions

Response

Sensors

Effectors

BDI model in InteRRaPBDI model in InteRRaP

filter

plan

options

PS

SG

Page 34: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

Muller tested InteRRaP in a simulated loading area. A number of agents act as automatic fork-lifts that move in the loading

area, remove and replace stock from various storage bays, and so compete with other agents for resources

34

Page 35: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

BDI Architectures First implementation of a BDI architecture: IRMA

[Bratman, Israel, Pollack, 1988] M.E. BRATMAN, D.J. ISRAEL et M. E. POLLACK. Plans and resource-bounded practical reasoning, Computational Intelligence, Vol. 4, No. 4, 1988, p.349-355. PRS

[Georgeff, Ingrand, 1989] M. P. GEORGEFF et F. F. INGRAND. Decision-making in an embedded reasoning system, dans Proceedings of the Eleventh International Joint Conference on Artificial Intelligence (IJCAI-89), 1989, p.972-978. Successor of PRS: dMARS

[D'Inverno, 1997] M. D'INVERNO et al. A formal specification of dMARS, dans Intelligent Agents IV, A. Rao, M.P. Singh et M. Wooldrige (eds), LNAI Volume 1365, Springer-Verlag, 1997, p.155-176.

  Subsumption architecture [Brooks, 1991] R. A. BROOKS. Intelligence without reasoning, dans Actes

de 12th International Joint Conference on Artificial Intelligence (IJCAI-91), 1991, p.569-595.

 

35

Page 36: Lecture 2 Multi-Agent Systems Lecture 2 University “Politehnica” of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro

TuringMachine [Ferguson, 1992] I. A. FERGUSON. TuringMachines: An Architecture for

Dynamic, Rational, Mobile Agents, Thèse de doctorat, University of Cambridge, UK, 1992.

InteRRaP [Muller, 1997] J. MULLER. A cooperation model for autonomous agents,

dans Intelligent Agents III, LNAI Volume 1193, J.P. Muller, M. Wooldrige et N.R. Jennings (eds), Springer-Verlag, 1997, p.245-260.

BDI Implementations

The Agent Oriented Software Group Third generation BDI agent system using a component based

approached. Implemented in Java http://www.agent-software.com.au/shared/home/

JASON http://jason.sourceforge.net/

36