Automatic Synthesis of a Global Behavior from Multiple ... - Google Sites

3 downloads 206 Views 559KB Size Report
Finite state (to get computability of the synthesis). Nondeterministic (devilish/don't ... Incomplete information on eff
Automatic Synthesis of a Global Behavior from Multiple Distributed Behaviors Sebastian Sardina1 1

Fabio Patrizi2

Giuseppe De Giacomo2

Department of Computer Science and Information Technology RMIT University Melbourne, AUSTRALIA

2

Dipartimento di Informatica e Sistemistica Sapienza Universita’ di Roma Roma, ITALY

Twenty-Second Conference on Artificial Intelligence

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

1 / 17

Behavior Composition [IJCAI-07] Environment description of (virtual) actions, prec. & effects

Available Behaviors description of the behavior of available agents/devices

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

2 / 17

Behavior Composition [IJCAI-07] Environment description of (virtual) actions, prec. & effects

Target Behavior desired behavior

Available Behaviors description of the behavior of available agents/devices

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

2 / 17

Behavior Composition [IJCAI-07] Environment description of (virtual) actions, prec. & effects

Scheduler

Target Behavior desired behavior

Available Behaviors description of the behavior of available agents/devices

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

2 / 17

Behavior Composition: The setting studied 1

Environment: Describe precondition and effect of actions. Finite state (to get computabiliy of the synthesis). Nondeterministic (devilish/don’t know nondeterminism). Represented as a (finite) transition system.

2

Available behaviors: Describe the capabilities of various agents/devices. Finite state (to get computability of the synthesis). Nondeterministic (devilish/don’t know nondeterminism). Can access the state of the environment. Can not access the state of the other available behaviors. Represented as (finite) transition systems with guards.

3

Target behavior: As available behaviors, but deterministic. it’s a spec. of the desired behavior: we know what we want! Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

3 / 17

Behavior Composition: The setting studied 1

Nondeterministic environment: Incomplete information on effects of actions in the domain. Action outcome depends on external (not modeled) events.

push

e2

push

e3

e1

Sardina, Patrizi, De Giacomo ()

act act

e4 e5

Synthesis from Multiple Distributed Behaviors

AAAI 2007

4 / 17

Behavior Composition: The setting studied 1

Nondeterministic environment: Incomplete information on effects of actions in the domain. Action outcome depends on external (not modeled) events.

push

e2

push

e3

e1

2

act act

e4 e5

Nondeterministic available behaviors: Incomplete information on the actual behavior. Mismatch behavior description and actual agents/devices.

e2 : paint b1 e3 : clean

Sardina, Patrizi, De Giacomo ()

b2 b3

b4

pick pick

Synthesis from Multiple Distributed Behaviors

b6 b8

AAAI 2007

4 / 17

Behavior Composition: The setting studied Deterministic target behavior: it’s a spec. of a desired behavior.

t1

t3

paint

restart push

dispatch

t2 clean

t4

t5 dispatch

Concurrent actions allowed (in preparation for distribution): multiple actions performed at the same time environment, available behaviors, target behavior allow for concurrent actions New AAAI-07

t10

{liftLeft, liftRight}

{liftLeft}

t11

t2

¬ok

{liftLeft, liftRight} ok {liftRight} ¬ok

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

5 / 17

Behavior Composition [IJCAI-07] Environment description of (virtual) actions, prec. & effects

Scheduler

Target Behavior desired behavior

Available Behaviors description of the behavior of available agents/devices

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

6 / 17

Behavior Composition [IJCAI-07] ic inist le m r e vab det Environment non y obser dictable l description of (virtual) actions, prec. & effects l e r u f l ly p a i t r pa c nisti ble i m r Scheduler olla Behavior dete ontrTarget c y full desired behavior ic inist le m r e dete vab non y obser trollabl Available Behaviors l l n fu lly co description of the behavior of available agents/devices a i part

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

6 / 17

Behavior Composition [IJCAI-07] ic inist le m r e vab det Environment non y obser dictable l description of (virtual) actions, prec. & effects l e r u f l ly p a i t r pa c nisti ble i Centralized Problem m r Scheduler olla Behavior dete ontrTarget c y ll desired behavior Synthesize a centralized controllerfuthat realizes the target behavior in the environment by tic issuitably coordinating the available behaviors. n i m eter ervable ble d n no y obs trolla Available Behaviors full lly con description of the behavior of available agents/devices a i part

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

6 / 17

Example: Centralized controller c a

Target

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c ;a

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c ;a

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c ;a

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c ;a;c

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Example: Centralized controller c a

Target b;c ;a;c ;a;c

b NextAct:

Controller act = a delegate 2 act = b delegate 1 act = c if (state2 = S21 ) delegate 2 else delegate 1

NextState: – // stateless c Behavior 1 c b S10 S11 Sardina, Patrizi, De Giacomo ()

a S20

Synthesis from Multiple Distributed Behaviors

c a

Behavior 2 S21 AAAI 2007

7 / 17

Contributions on centralized problem Technique for automatic synthesis of the centralized controller based on PDL satisfiability. =⇒ deals with concurrent actions! Computational complexity characterization of the problem: EXPTIME-complete. =⇒ deals with concurrent actions! Normal form for the controller: nexta : Σ × S1 . . . Sn × E × 2A → 2A nexts : Σ × E × 2A → Σ Finite state Bounded by # number of states bound is tight!

Sardina, Patrizi, De Giacomo ()

Independent from available service states

Synthesis from Multiple Distributed Behaviors

AAAI 2007

8 / 17

Distribute the scheduler? Composition problem is of particular interest in settings where components are distributed and no central mediator is available. Examples: independent RoboCup players; Robot Ecologies; peer devices. In such cases, behavior components are not controllable as a whole. Thus, unrealistic to rely on a centralized scheduler! too tight coordination too much communication controller cannot be embodied anywhere

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

9 / 17

Distribute the scheduler? Composition problem is of particular interest in settings where components are distributed and no central mediator is available. Examples: independent RoboCup players; Robot Ecologies; peer devices. In such cases, behavior components are not controllable as a whole. Thus, unrealistic to rely on a centralized scheduler! too tight coordination too much communication controller cannot be embodied anywhere

Nonetheless, we can rely on: local control of each component (via “local controllers”); some kind of communication among such local controllers. Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

9 / 17

Behavior Composition [IJCAI-07] ic inist le m r e vab det Environment non y obser dictable l description of (virtual) actions, prec. & effects l e r u f l ly p a i t r pa c nisti ble i m r Scheduler olla Behavior dete ontrTarget c y full desired behavior ic inist le m r e dete vab non y obser trollabl Available Behaviors l l n fu lly co description of the behavior of available agents/devices a i part

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

10 / 17

The Distributed Behavior Composition [AAAI-07] ic inist le m r e vab det Environment non y obser dictable l description of (virtual) actions, prec. & effects l e r u f l ly p a i t r pa c nisti ble i m r Scheduler olla Behavior dete ontrTarget c y full desired behavior ic inist le m r e dete vab non y obser trollabl Available Behaviors l l n fu lly co description of the behavior of available agents/devices a i part

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

10 / 17

The Distributed Behavior Composition [AAAI-07] ic inist le m r e vab det Environment non y obser dictable l description of (virtual) actions, prec. & effects l e r u f l ly p a i t r pa c nisti ble i m r Scheduler olla Behavior dete ontrTarget c y full desired behavior ic inist le m r e dete vab non y obser trollabl Available Behaviors l l n fu lly co description of the behavior of available agents/devices a i part

· · · · · · · · · · · · · · · Broadcasting Channel · · · · · · · · · · · · · · · Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

10 / 17

The Distributed Behavior Composition [AAAI-07] ic inist le m r e vab det Environment non y obser dictable l description of (virtual) actions, prec. & effects l e r u f l ly p a i t r pa c Distributed Problem nisti ble i m r Scheduler olla Behavior dete ontrTarget c y Synthesize a set of local controllers full thatdesired behavior together realize the target behavior in the ticenvironment by suitably coordinating the inisavailable m r behaviors though message exchange. le e dete vab non y obser trollabl Available Behaviors full lly con description of the behavior of available agents/devices a i part

· · · · · · · · · · · · · · · Broadcasting Channel · · · · · · · · · · · · · · · Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

10 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c ;a NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c ;a NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c ;a NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c ;a;c NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Example: Distributed controllers c a b NextAct: act = a Controller 1 no-op act = b no-op act = c if ((S10 ∧ “2 : cannot c“) ∨ S11 ) do c else no-op NextMsg: – // no msgs generated NextState: – // stateless Behavior 1

c

S10 Sardina, Patrizi, De Giacomo ()

c b

Target a;c ;a;c NextAct: act = a Controller 2 do a act = b do b act = c if S21 do c else no-op NextMsg: if (S20 after a) send “2 : cannot c” NextState: – // stateless a

S11

S20

Synthesis from Multiple Distributed Behaviors

c a

S21 AAAI 2007

11 / 17

Distributed problem vs centralized problem: how they compare?

Does the distributed problem admit solutions when the centralized does not? Or is the converse true? Is the distributed problem more/less complex from the computational point of view? Are there techniques for the distributed problem? We study these issued under the following assumptions: Local controllers can synchronize on actions issued by the target. Local controllers can exchange an unlimited amount of message types, but once per action. “Pure setting”: no further Channel is fully reliable. constraints except for the distribution itself

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

12 / 17

Contribution on distributed problem Theorem Distributed problem as a solution iff the centralized problem does. =⇒ Thus, the computational complexity of the two problems is identical (EXPTIME-complete) Theorem From a finite central controller one can obtain the set of finite local controllers (exchanging finite message types) for the distributed problem. And vice-versa.

Theorem Message types required are bounded by #states of the available behaviors (tight). =⇒ We have a technique to automatically synthesize finite local controllers exchanging message types (bounded as above). Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

13 / 17

Local controllers from central ones: how-to Finite local controllers have the form: nextai : Σ × Si × E × 2M × 2A → 2A nextmi : Σ × Si × E × 2M × 2A × Si → 2M nextsi : Σ × Si × E × 2M × 2A → Σ

From centralized controller in normal form: nexta : Σ × S1 . . . Sn × E × 2A → 2A nexts : Σ × E × 2A → Σ

... define local controllers as: nextai (σ, si , e, {“1 : s1 “, . . . , “n : sn “}, A) = Ai iff nexta(σ, s1 , . . . , sn , e, A) = [A1 , . . . , Ai , . . . , An ]; nextmi (σ, si , e, {“1 : s1 “, . . . , “n : sn “}, A, s 0 ) = “i : si “ iff si0 ∈ δ(si , nextai (σ, si , e, {“1 : s1 “, . . . , “n : sn “}, A)) nextsi (σ, −, e, −, A) = nexts(σ, e, A).

Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

14 / 17

Local controllers from central ones: how-to Finite local controllers have the form: nextai : Σ × Si × E × 2M × 2A → 2A nextmi : Σ × Si × E × 2M × 2A × Si → 2M nextsi : Σ × Si × E × 2M × 2A → Σ

From centralized controller in normal form: nexta : Σ × S1 . . . Sn × E × 2A → 2A nexts : Σ × E × 2A → Σ

... define local controllers as:

Optimal!!!

nextai (σ, si , e, {“1 : s1 “, . . . , “n : sn “}, A) = Ai iff nexta(σ, s1 , . . . , sn , e, A) = [A1 , . . . , Ai , . . . , An ];

Look up at current state of behavior is not needed

nextmi (σ, si , e, {“1 : s1 “, . . . , “n : sn “}, A, s 0 ) = “i : si “ iff Look up at cursi0 ∈ δ(si , nextai (σ, si , e, {“1 : s1 “, . . . , “n : sn “}, A)) rent messages nextsi (σ, −, e, −, A) = nexts(σ, e, A). is not needed Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

14 / 17

Conclusions Further work More efficient synthesis techniques based on the formal notion of simulation to take advantages of symbolic techniques at the base of model checking

Robust solutions: use simulation for with just-in-time composition

Multiple target behaviors: build virtual agents community instead of virtual isolated agents

Partial observable environment and available behavior states not so simple extension

Specific further work on distributed problem More asynchronous accounts to avoid synchronizing at each action

Consider limits of the communication channel a priori limited bandwidth: a form of further constraints on the solution unreliable channel: robust solutions

Point-to-point communication instead of broadcasting a form of further constraints on the solution

Local environments instead of a single shared environment simple extension, but interesting in practice Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

15 / 17

Structure of the PDL Encoding (distributed case) V Φ = Init ∧ atu0 ∧ [u](Φ0 ∧ i=1,...,n Φi ∧ Φe ∧ Φadd )

Initial state of al behaviors

Target turn initially

PDL encoding of target behavior PDL encoding of the i-th available behavior + environment

Encoding of environment

General constraints

PDL encoding is polynomial in the size of the target behavior, available behaviors, and environment. Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

16 / 17

Local Controller Programs We assume a set of possible messages M (no a priori limits). A local behavior controller for behavior B is a pair of functions C = (P, B): + P : HB × 2A → 2A ;

+ B : HB × 2A × S → 2M .

+ A behavior history h ∈ HB is a sequence of the form:

(s 0 , e 0 , M 0 ) · A1 · (s 1 , e 1 , M 1 ) · · · (s k−1 , e k−1 , M k−1 ) · Ak · (s k , e k , M k ) A behavior history contains all the local observable information so far. To take a decision, P has full access to the past, but no access to the future.

The Distributed Problem Synthesize a set of local controllers P1 , . . . , Pn that realizes the target behavior T making use of the available behaviors B1 , . . . , Bn and exchanging messages in M. Sardina, Patrizi, De Giacomo ()

Synthesis from Multiple Distributed Behaviors

AAAI 2007

17 / 17

Suggest Documents