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
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!!
JavaSpaces service is used in current implementation. ⢠Master solver. â Realizes parallel ... constraint solvers are used. â Cream: A Java class library for CP.
Naturally one wants to easily set and maintain the relations between the shapes. Constraint ... Proposition. Offer a tool to explore all the cinematographic possibilites of a scene: .... By convention, we call interiors the points P such that : f(P)
Constraint programming for software validation in SAT based model checking platforms to generate test cases for animating JML (Java Modeling Language) specifications ... C0 â C1 (where C0 and C1 are conjunctions of basic ... max : overestimate of t
Nov 16, 2005 - Cream: a Java class library for constraint programming. â LGPL open source software. Calc/Cream. OpenOffice.org Calc. Cream. FJCP2005 â ...
domains over which variables can range (D = D1. Ã...ÃDn). DX1. = {a;b;c;...} ... DXn = {t;u;v;...} some constraints to set relation between objects. C1. : X ⤠Y â 3.
computation and its manipulation c i o m ... Serve also as a practical programming language .... Translator to Java running on JDK 1.4 or higher ... I/O, arrays, window toolkit, socket, utilities, . .... Parallel, distributed, embedded implementation
diversification for not staying stuck in a given area. ⢠Two algorithmic solutions : * Hill-climbing and restarting : for example GSAT. * Metaheuristics : when and ...
The DCF model is often selected by the researchers when determining the fundamental value ..... refers to the roots of the following quadratic equation. 0. 2/. 22.
Programming techniques in the automation of program verification. In 2000, ... leads to solve a constraint system that characterizes a path through a particular.
Research Supervisors: Jacqueline Nadel, Pr. in Emotion Center, UMR 7593 (Hôpital ... One year grant from the french call for projects âFutur et Rupture (2010)â.
Le magnétisme et le charme de M. Hinton opèreront à coup sûr sur les auditoires et la ... 2004-2005, grâce aux membres de notre Cercle des donateurs, à.
Vehicle Transmission and Driveline System Faults. O. Unit AE01 - Locate and ..... d. encourage learners to ask questions and get explanation at appropriate stages in the demonstration. ... periodic servicing of vehicles. KEY WORDS AND ...
Guidelines, Collins Easy Learning Mandarin Chinese Dictionary 1st Edition, Colt Terry Green Beret. Williams Ford Texas Aandm University Military History ...
Dong Wu. 36-WG11/Nuremberg2/240. 09/2005. Cover letter for documents 241 & 242. Hi, Clive. Attached please find two documents obtained from Prof. Xidong ...
The important point to underline is that when clas- sical approaches based on model checking allows to prove that some property is verified for a given set.
Mar 22, 2005 - system; specifically, process management, file management, and device ... design and implement programs and user interfaces in Java using ... l'Hospital's, Lipschitz and Lemma. ..... based on the Netscape source code.
Economic theory offers two non-mutually-exclusive types of explanation for the ... (2002) argue that, in a more general and realistic employment contract where ...
Economic theory offers two non-mutually-exclusive types of explanation for the ... (2002) argue that, in a more general and realistic employment contract where ...