In this paper, we show how to use common knowledge computationally in solving problems involving cooperation of multiple agents, when common knowledge is available. We will explain why a procedural approach to common knowledge is better suited to solving multiple-agent problems than a static one.
We show, even if one can never prove that common knowledge has been attained ([Halpern and Moses, 1990]), that assuming it has been attained is often safe and efficacious. The ability to detect fairly reliably when certain conditions are not met suffices as a guideline for when to assume something is common knowledge. In principle, the problem of when one has individual knowledge is about as difficult.
We use the situation oriented programming language PROSIT. By combining reasoning about situations and in situations, PROSIT makes possible an especially intuitive and simple solution of hypothetical reasoning problems involving common knowledge ([Nakashima and Tutiya, 1991]).
[1]
K. Jon Barwise,et al.
The situation in logic
,
1989,
CSLI lecture notes series.
[2]
Herbert H. Clark,et al.
Definite reference and mutual knowledge In Aravind K. Joshi, Bonnie L. Webber, and Ivan A. Sag, editors
,
1981
.
[3]
J. McCarthy.
Formalization of two Puzzles Involving Knowledge
,
1987
.
[4]
B. Webber,et al.
Elements of Discourse Understanding
,
1983
.
[5]
Hector J. Levesque,et al.
On Acting Together
,
1990,
AAAI.
[6]
Keith Devlin,et al.
Logic and information
,
1991
.
[7]
H. Nakashima.
Inference in a situation about situations
,
1991
.
[8]
Joseph Y. Halpern,et al.
Knowledge and common knowledge in a distributed environment
,
1984,
JACM.
[9]
Stanley Peters,et al.
Towards a Computational Interpretation of Situation Theory
,
1988,
FGCS.