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

Click here to load reader

Post on 14-Dec-2015




0 download

Embed Size (px)


  • Slide 1

Lecture 7 Multi-Agent Systems Lecture 7 University Politehnica of Bucarest 2004 - 2005 Adina Magda Florea adina@cs.pub.ro http://turing.cs.pub.ro/blia_2005 Slide 2 Distributed problem solving and planning Lecture outline 1 Distributed problem solving 2 Distributed planning 2.1 Centralized planning for distributed plans 2.2 Distributed planning for centralized plans 2.3 Distributed planning for distributed plans 2.4 Distributed planning and execution 3 An example: Partial global planning Slide 3 3 1. Distributed problem solving n Group coherence n Group coherence - agents want to work together - cooperative agents n Competence n Competence - agents must find ways to work together - coordinate to cooperate n Task and result sharing - an agent has many tasks to do and asks other agents to do some of its tasks; then it should integrate the results n Distributed planning - the problem to be solved is to design and execute a plan in a distributed manner, by many agents Slide 4 4 2 Distributed planning n What can be distributed: The process of coming out with a plan is distributed among agents Execution is distributed among agentsPlanning State representation and plan representation Search vs planning representation of changes to the world state representation of and reasoning about the plan (steps/actions) n Linear planning n Partial order planning n Hierarchical planning n Conditional planning Planning Search Slide 5 2.1 Centralized planning for distributed plans o Operators move(b,x,y) movetotable(b,x) Precond: on(b,x) clear(b) clear(y) Precond: on(b,x) clear(b) Postcond: on(b,y) clear(x) Postcond: on(b,T) clear(x) on(b,x) on(b,x) clear(y) 5 A BD CE F Si C A E B F D Sf I'm Bill Agent1 I'm Tom Agent2 on(A,B) on(C,D) on(E,F) on(B,T) on(D,T) on(F,T) on(B,A) on(F,D) on(A,E) on(D,C) on(E,T) on(C,T) on(B,A) S1: move(B,T,A) on(B,T) clear(B) clear(A) movetotable(A,B) move(A,B,y) S2: move(A,B,E) clear(A) clear(E) on(A,B) .. . on(E,T) S3: movetotable(E,F) 1. Given a goal description, a set of operators, and an initial state description generate a partial order plan Slide 6 S1: move(B,T,A)To satisfy the preconditions, we have: S2: move(A,B,E)S2 < S1, S3 < S4 S3:movetotable(E,F)S6 < S4, S6 < S5 S4: move(F,T,D)Also S5: move(D,T,C)S2 threat to S3 S3 < S2 S6: movetotable(C,D)S4 threat to S5 S5 < S4 Then the partial ordering is:S3 < S2 < S1 S6 < S5 < S4 S3 < S4 S3: movetotable(E,F) S2: move(A,B,E) S1: move(B,T,A) S6: movetotable(C,D) S5: move(D,T,C) S4: move(F,T,D) Any total ordering that satisfies this partial ordering is a good plan for Agent1 What if we have 2 agents? DECOMP1 Subplan1 S3 < S2 < S1 Subplan2 S6 < S5 < S4 and S3 < S4 Agent1S3 < send(clear(F)) < S2 < S1 Agent2S6 < S5 < wait(clear(F)) < S4 6 < < 2. Decompose the plan into subproblems so as to minimize order relations across plans 3. Insert synchronization 4. Allocate subplans to agents Slide 7 S3: movetotable(E,F) S2: move(A,B,E) S1: move(B,T,A) S6: movetotable(C,D) S5: move(D,T,C) S4: move(F,T,D) DECOMP2 Subplan1 S3 < S5 < S4 Subplan2 S6 < S2 < S1 and S3 < S2 and S6 < S5 Agent1S3 < send(don't_care(E)) < wait(clear(D)) < S5 < S4 Agent2S6 < wait(don't_care(E)) < wait(clear(D)) < S2 < S1 Obviously, DECOMP2 has more order relations among subplans than DECOMP1 Therefore, we choose DECOMP1 S3 < send(clear(F)) < S2 < S1 S6 < S5 < wait(clear(F)) < S4 But then back to DECOMP2 7

View more