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

Automatic Synthesis of a Global Behavior from Multiple ...

Finite state (to get computability of the synthesis). Nondeterministic (devilish/don't ... Incomplete information on effects of actions in the domain. Action outcome ...

559KB Sizes 3 Downloads 247 Views

Recommend Documents

Automatic Synthesis of Regular Expressions from Examples
Jul 5, 2013 - pression, for example by adding terms that should not be matched, until reaching a local optimum in terms of precision and recall. The proposal is assessed on regular expressions for extracting phone numbers, university course names, so

Automatic Behavior Composition Synthesis
Jan 2, 2013 - bSchool of Computer Science and IT - RMIT University - Melbourne, Australia. ...... We stress that S1 decisions are required to be made in an “online” ...... the CG knows it ought to delegate such a request to arm BA, so as to ...

Automatic Synthesis of Regular Expressions from Examples - Core
Jul 5, 2013 - 12 different extraction tasks: email addresses, IP addresses, MAC (Ethernet card-level) addresses, web URLs, HTML headings, Italian Social ...

Automatic Synthesis of New Behaviors from a Library of ...
Imagine an intelligent system built from a variety of different components or ...... [8] L. P. Kaelbling, M. L. Littman, and A. R. Cassandra. Planning and acting in ...

Automatic Synthesis of New Behaviors from a Library of ...
Problem: synthesize a “scheduler” that realize the target behavior by suitably ... Giuseppe De Giacomo. 5. Example target behavior b c a a c b c. A sample run action request: scheduler scheduler response: available behavior 1 available behavior 2

Automatic A Posteriori Veri cation of Certain Global ...
the design of multimedia applications for embedded systems. .... signature of the computation defining out[] on in[] along with the associated dependency ...

Automatic multiple-decanting centrifuge and method of treating ...
Apr 20, 2001 - (73) Assignee: Harvest Technologies Corporation,. Plymouth, MA (US) ..... Welded, e.g., ultrasonically, to retain the membrane. The lid also ...

Who Benefits from Concentrated Affluence? A Synthesis of ... - jpmsp
pervades neighborhoods and their institutions, including schools. ...... accelerated placement programs), which often leads to greater variation in learning.

Who Benefits from Concentrated Affluence? A Synthesis of ... - jpmsp
on education outcomes according to race and gender. The findings show that the presence of ..... absolute income of the top quintile. Education Outcomes, the ...

Estimation of multiple phases from a single fringe ...
OCIS codes: (090.1995) Digital holography; (090.2880) Holographic interferometry;. (120.2650) Fringe analysis. References and links. 1. G. Pedrini, Y. L. Zou, and H. J. Tiziani, “Simultaneous quantitative evaluation of in-plane and out-of-plane def

Synthesis And Throughput Behavior Of WM Meshed ...
packet-switching meshed-ring network employing wavelength routers. We investigate ... the kinds of high speed optoelectronic and optical components that can ...

Atypical Behavior of Credit: Evidence from a ...
use credit-to-GDP ratios for all three regions in question: the U.S., the euro are and Japan. To form this ratio, I use the same credit variable as in the case of the monetary VAR. Due to the normalization by GDP, which is available at lower frequenc

MGSyn: Automatic Synthesis for Industrial Automation
thesis for generating production code in the domain of industrial automation. ..... which may then (compare “Internet of things / Industrie 4.0”), determine how they ...

MGSyn: Automatic Synthesis for Industrial Automation
Abstract. MGSyn is a programming toolbox based on game-theoretic notions of syn- thesis for generating production code in the domain of industrial automation.

Automatic Learning in Multiple Model Adaptive Control
Tehran, Iran (e-mail: [email protected]). ***Advanced Process Automation & Control (APAC) Research Group, K. N. Toosi University of Technology. Tehran, Iran (e-mail: [email protected]). Abstract: Control based on multiple models (MM) is an effective

Automatic Human Action Recognition in a Scene from Visual Inputs
problem with Mind's Eye, a program aimed at developing a visual intelligence capability for unmanned systems. DARPA has ... Figure 1. System architectural design. 2.2 Visual .... The MCC (Eq. 2) is a balanced measure of correlation which can be used

Automatic Removal of Typed Keystrokes From Speech ... - IEEE Xplore
Abstract—Computers are increasingly being used to capture audio in various applications such as video conferencing and meeting recording. In many of these ...

05-004-14-2867b_WHINING NOISE FROM AUTOMATIC ...
05-004-14-2867b_WHINING NOISE FROM AUTOMATIC TRANSAXLE.pdf. 05-004-14-2867b_WHINING NOISE FROM AUTOMATIC TRANSAXLE.pdf. Open.

Automatic Generation of Efficient Codes from Mathematical ... - GitHub
Sep 22, 2016 - Programming language Formura. Domain specific language for stencil computaion. T. Muranushi et al. (RIKEN AICS). Formura. Sep 22, 2016.

Automatic Removal of Typed Keystrokes from Speech ...
Speech Technology Group. Microsoft ... to capture meetings, interviews, and lectures using the laptop's lo- ..... Because the mean is computed online, it.

Automatic Inference of Optimizer Flow Functions from ... - UCSD CSE
Jun 13, 2007 - mation for this analysis using the hasConstValue(X, C) edge fact schema ...... to write correct program analysis tools, but will also make it feasi-.

Automatic Inference of Optimizer Flow Functions from ... - UCSD CSE
Jun 13, 2007 - flow functions cover most of the situations covered by an earlier ... effects of all the different kinds of statements in the compiler's in- termediate ...