Networks

Kiga-kiku computing and speculative computation

| Permalink

Ken Satoh

30 January 2012

The Japanese concept of ‘kiga-kiku’, whereby a person should predict others' intentions and behave proactively, is being incorporated into the design of multi-agent systems.

In Japanese social life, the concept of ‘kiga-kiku’ is very important. ‘Kiga-kiku’ has no exactly corresponding English word but is a mixture of ‘attentive’, ‘considerate’, ‘proactive’ and ‘context-sensitive’. A kiga-kiku person is aware of the current context and takes an appropriate action without being told explicitly what to do. For example, in Japanese companies this concept is highly appreciated and everyone is expected to act proactively before being told to do something. This concept is also very important in multi-agent systems, pervasive and ubiquitous computing systems, affective computing and socio-technical systems, because otherwise humans would have to make many subtle commands for these systems to work.

Four tasks must be accomplished to realize kiga-kiku computing. First, there must be situation awareness or context awareness. Without understanding the current context, a kiga-kiku agent cannot behave properly. Second, an agent must understand the intentions of a user or another agent without much interaction. If a kiga-kiku agent knows the default user behaviour, it can use this default to make a plausibly appropriate action. Third, agents should learn users' preferences. A kiga-kiku agent sometimes can only learn about users' default behaviours from experience. Finally, agents must handle incompleteness of information and have a mechanism to recover if the kiga-kiku action turns out not to be appropriate when more complete information is obtained. Because kiga-kiku actions are based on default user behaviour, they sometimes fail. A kiga-kiku agent should have a back-up plan for this eventuality. We are tackling this last problem of handling incompleteness and recovery from mistakes with an approach called speculative computation.


A kiga-kiku person offers appropriate actions based on the context without needing to be asked.

The idea of speculative computation has been used in various areas of computer science, from optimistic transactions in databases to execution of functional programming1 and parallel logic programming.2 The general idea is that a computer needs to know the value of a subcomputation to complete its main computation. Instead of waiting for a processor to supply the actual value of the subcomputation, the computer uses a predefined default value to continue its main computation virtually. When the subcomputation later finishes, if the actual result equals the default value, then the computer can use the virtual continued computation. Otherwise it goes back and computes from the choice point with the correct value.

In a multi-agent setting, we started our research on handling an incomplete communication environment in which a computation could be considerably delayed or lost. We proposed a very simple operational model of speculative computation for a master-slave multi-agent system.3 The framework used a logic programming paradigm, and the basic idea was as follows: First, an agent A prepares a default answer for a question in advance. Then when it asks this question of another agent B, agent A uses the default value as a tentative answer and continues its computation with the tentative answer. When the response eventually comes from the agent B, if the response confirms the default answer, then agent A continues the computation. Conversely, if the response is inconsistent with the default answer, agent A withdraws the tentative computation process and restarts the computation with the true answer.

In this scheme, we assume that the default answer is prepared to cover the normal answer of each agent. The actual response will then usually be consistent with the default answer, and therefore we expect that the tentative computation will be effective in most cases. This result is particularly desirable in the situation where some action should be taken in advance, although a complete plan cannot be decided because of incompleteness of information. An example of such a situation would be making a hotel reservation in high season before the travel plan is completely decided, when there is considerable risk of not getting a reservation later on.

As described above, speculative computation may sound almost trivial. In a large multi-agent system, however, agents could be reasoning about correct actions to take based on multiple pieces of uncertain information pending from other agents. They may be continually updating their knowledge as new answers to queries—and revisions of previous answers—arrive from the other agents. We are therefore developing systems that can deal efficiently with these situations, such as when one piece of information in a complicated picture changes from the default that was assumed. The current status of research spells out how an agent in a hierarchical multi-agent system can handle revised answers and carry out what is called abductive reasoning with constraints.4, 5 We are also working on how to introduce kiga-kiku computation into conventional multi-agent systems.6 In some situations it is practical to add a kiga-kiku service as a front-end to an existing system.

We believe that this line of research contributes significantly to kiga-kiku computing, and we encourage collaboration with other awareness researchers to address the challenge of making a kiga-kiku computer.




Author

Ken Satoh
National Institute of Informatics

Ken Satoh is a professor in the Principles of Informatics Research Division at the National Institute of Informatics and Sokendai (the Graduate University for Advanced Studies). He works on the logical foundations of multi-agent systems and legal reasoning.


References
  1. F. W. Burton, Speculative computation, parallelism, and functional programming, IEEE Trans. Comput. 34 (12), pp. , 1985.

  2. S. Gregory, Experiment with speculative parallelism in Parlog, Proc. ILPS '93, pp. , 1993.

  3. K. Satoh, K. Inoue, K. Iwanuma and C. Sakama, Speculative computation by abduction under incomplete communication environments, Proc. ICMAS 2000, pp. , 2000.

  4. H. Hosobe, K. Satoh, J. Ma, A. Russo and K. Broda, Speculative constraint processing for hierarchical agents, AI Commun. 23 (4), pp. , 2010.

  5. J. Ma, K. Broda, R. Goebel, H. Hosobe, A. Russo and K. Satoh, Speculative abductive reasoning for hierarchical agent systems, Proc. CLIMA 2010, pp. 49-64, 2010.

  6. N. Fukuta, K. Satoh and T. Yamaguchi, Towards ‘kiga-kiku’ services on speculative computation, Proc. PAKM 2008, pp. , 2008.


 
DOI:  10.2417/3201201.003961

Stay Informed