Speculative Constraint Processing Satoh, Ken National ... - FJCP 2005

Ordinary Computation. START. Query to Other Agent. 8. Page 9. Ordinary Computation. START. Query to Other Agent suspended. 9 ...
92KB taille 7 téléchargements 269 vues
Speculative Constraint Processing Satoh, Ken National Institute of Informatics and Sokendai 1. Motivation (Kiga-kiku Computing) 2. Speculative Computation 3. Its Extension (a) Speculative Computation with Answer Revision (b) Speculative Constraint Processing (c) Speculative Constraint Processing with (Disjunctive) Answer Revision 4. Conclusion

1

Underlying Motivation: toward “kiga-kiku” computing (pronounced like “qui gare qui que” in French) • “kiga-kiku”: meaning a mixture of “attentive”, “considerate”, “proactive”, “context-sensitive”.... • A “kiga-kiku” computer can understand a situation and take an appropriate action for the situation without being told explicitly what to do. • In Japan, a “kiga-kiku” person is respected very much, so Japanese people might be good at making a “kiga-kiku” computer. • Example: A scene from Yasujiro Ozu’s film “Bakushuu” ( 1951)

2

Application of “kiga-kiku” computing • Ubiquitous computing • Pervasive computing • Attentive computing • Intelligent electric appliance • Multi-agent systems under incomplete communication

3

What is necessary for “kiga-kiku” computing? • Situation-awareness or context-awareness (ex. serving a warm green tea for the first cup and a hotter green tea for the second cup) • Understanding user intention without much interaction (ex. making a flight reservation usually means a reservation of hotels) • Learning of user’s preference (ex. some people like cheap hotels than luxury hotels and vice versa) • Handling incompleteness and a mechanism of back-up if the “kigakiku” action is not appropriate ⇒ Speculative computation

4

Motivating Example for Multi-Agent System • A, B and C to attend the meeting. • If a person is available, then he/she will attend the meeting. • We ask a person whether he/she is free or not. • If all the persons are available, we reserve a big room. • If only two persons are available, we reserve a small room. Suppose we have answers from A and B that he/she is free but we do not have an answer from C. Then, non-”kiga-kiku” computer (or person) cannot decide a room reservation since the answers from C are not obtained.

5

Solution • We can decide a room reservation based on a plausible answer whether C is usually busy or not. (“kiga-kiku” reservation) • If the answers from C is an exception, then we cancel the room and make a new reservation. (backing-up for failure of “kiga-kiku” action) We call this process speculative computation. Presented at ICMAS’00 (with Katsumi Inoue, Chiaki Sakama and Koji Iwanuma)

6

Ordinary Computation ¾

»

START ¼

½

7

Ordinary Computation ¾

»

START ¼

½

Query to Other Agent

8

Ordinary Computation ¾

»

START ¼

½

suspended

Query to Other Agent

9

Ordinary Computation ¾

»

START ¼

½

suspended

Query to Other Agent Answer from Other Agent

10

Ordinary Computation ¾

»

START ¼

½

suspended

Query to Other Agent

resumed ­­JJ

J J J J J

­ ­ ­ ­ ­

11

Answer from Other Agent

Speculative Computation ¾

»

START ¼

½

12

Speculative Computation ¾

»

START ¼

½

Query to Other Agent

13

Speculative Computation ¾

»

START ¼

½

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢

continued by default value

14

Query to Other Agent suspended

Speculative Computation ¾

»

START ¼

½

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢

Query to Other Agent

continued by default value

suspended Answer from Other Agent

When returned answer is consistent with a default...

15

Speculative Computation ¾

»

START ¼

½

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢""

continued

Query to Other Agent suspended Answer from Other Agent

When returned answer is consistent with a default, we just continue the computation.

16

Speculative Computation ¾

»

START ¼

½

¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢

continued by default value Answer from Other Agent

Query to Other Agent suspended

When returned answer contradicts a default...

17

Speculative Computation ¾

»

START ¼

½

Query to Other Agent

¢¥AD ¢¥ DA ¢¥ D A ¢ A ¢ A ¢ A ¢ A ¢ A ¢ A ¢ A ¢ A A bb A

alternative computation resumed

Answer from Other Agent

When returned answer contradicts a default, we resume other alternative computation.

18

Limitations of ICMAS’00 work and its extension (1) • There is no change of answer from slave agent ⇒ Speculative Computation with Belief Revision • We only handle a master-slave multi-agent system ⇒ Tree-structured multi-agent system Presented at AAMAS’02 (with Keiji Yamamoto)

19

Iterative Yes-No Answer Revision When a question is processed in process reduction phase C

³XXX XXX ³³ ³ ³ XXX ³ XXX ³³ ³ XXX ³ ³ XXX ³³

yes ......

no suspended

NOTE: We assume a default answer for a question is “yes”.

20

Iterative Yes-No Answer Revision When the first answer “yes” for the question arrives C

³XXX XXX ³³ ³ ³ XXX ³ XXX ³³ ³ XXX ³ ³ XXX ³³

yes

no suspended

............

We just continue the default processes. However, we do not kill the alternative process since it might be revised.

21

Iterative Yes-No Answer Revision When the second revised answer “no” for the question arrives C

³XXX XXX ³³ ³ ³ XXX ³ XXX ³³ ³ XXX ³ ³ XXX ³³

yes

no ......

............ suspended

We do not kill the default process since it might be revised.

22

Limitations of ICMAS’00 work and its extension (2) • Only yes-no question can be handled ⇒ Speculative Constraint Computation Presented at PRIMA’03 (with Hiroshi Hosobe and Philippe Codognet)

23

Speculative Constraint Processing When a question is processed in process reduction phase C

³³XXXX XXX ³³ ³ XXX ³ ³ XXX ³³ ³ XXX ³ XX ³³

Cd

true suspended

24

Speculative Constraint Processing When the answer Cf for the question arrives C

³³XXXX XXX ³³ ³ XXX ³ ³ XXX ³³ ³ XXX ³ XX ³³

Cd ...... Cf Cf

true

Cf ∧¬Cd

We might have to think about both cases in speculative constraint processing whereas we only need to consider either case in speculative yes-no processing. Note: (Cf ∧ Cd) ∨ (Cf ∧ ¬Cd) is equivalent to Cf .

25

Further Extension Presented at CLIMA-VI (with Martine Ceberio and Hiroshi Hosobe) • Handling alternative (disjunctive) answers for the same question • Combining answer revision and speculative constraint processing. It is important to handle both of revision and disjunctions for flexible problem solving. • We can give a partial answer even when all the information is available. Ex. We can tell an agent the current available date and then tell alternative available date later. • We can give a tentative answer which can be revised later according to our situation. Ex. Meeting schedule can be reorganized.

26

Technical Problems for Further Extension • Handling disjunctive answer ⇒ We create a new process which starts from the same point as the previous disjunctive answer starts. • Handling answer revision ⇒ We add a revised constraint to the previous process and start a new process which handles complementary constraint set as if the whole processes handled a revised answer instead of the previous answer.

27

Technical Problems for Further Extension(continued) • How to distinguish from answer revision and disjunctive answer ⇒ – We devise an answer entry for each answer and add an answer ID to each answer in order to keep track on each answer. – We distinguish answers using an answer ID; The answer with the different ID is regarded as a disjunctive answer and the answer with the same ID as a revision of the previous answer.

28

Iterative Constraint Answer Revision When a question is processed in process reduction phase C

³XXX XXX ³³ ³ ³ XXX ³ XXX ³³ ³ XXX ³ ³ XXX ³³

Cd

true suspended

29

Iterative Constraint Answer Revision When the first answer Cf for the question arrives C

³XXX XXX ³³ ³ ³ XXX ³ XXX ³³ ³ XXX ³ ³ XXX ³³

Cd true © ©© S © S © ³ . . . . . . ½Z S ³³ ©© ³ Z ½ © © S Z ½ ³³ Cf true Cf true Cf ∧¬Cd true suspended suspended suspended We have to keep the intermediate process state since we have another (disjunctive or revised) answer. Note: (Cf ∧ Cd) ∨ (Cf ∧ ¬Cd) is equivalent to Cf .

30

Handling Disjunctive Answers When the alternative answer Ca for the question arrives C

³³XXXX XXX ³³ ³ XXX ³ ³ XXX ³³ ³ XXX ³ XX ³³

Cd ³ . . . . . . ½Z ³³ ³ Z ½ Z ³³ ½ Cf true C f true ¶ ¡ "" "" ¶ " ¶ " ¶ ""

true

³ ³³ S ³³ ³ S ³³ ³³ S ³³ S

Cf ∧¬Cd

¡ ¡ ¡ ¡

. . . Ca true . . . Ca true . . . suspended suspended

true

! !! S ! ! S !! S ! ! S

Ca ∧¬Cd

true suspended

When disjunctive answer comes, we create processes from suspended process. Note: (Ca ∧ Cd) ∨ (Ca ∧ ¬Cd) is equivalent to Ca.

31

When the revised answer Cr for Cf arrives C

³³XXXX XXX ³³ ³ XXX ³ ³ XXX ³³ ³ XXX ³ ³ XX ³

Cd true ³ ³³ S ³ ³ ³ S ³³ ³ . . . . . . ½Z ³³ ³³ S ³ ³ Z ½ ³ Z ½ S ³³ Cf ∧¬Cd Cf true Cf true true !!S ! ! ! S suspended suspended !! S ! ! S . . . . . . . . . C ∧¬C Cr Cr Cr Cr Cr Cr r true f suspended When a revised answer comes, we add this revised answer to processes using the first answer and create complementary processes from the original process. Note: (Cr ∧ Cf ∧ Cd) ∨ (Cr ∧ Cf ∧ ¬Cd) ∨ (Cr ∧ ¬Cf ) is equivalent to Cr .

32

Conclusion • Speculative Constraint Processing is a mechanism for “kiga-kiku” computing. – Virtual processing using defaults (expectations) – Back-up mechanism if exeption happens • “Kiga-kiku” computing is a challenging research thema!!

33