Distributed Computing: Principles, Algorithms, and Systems
Muddy Children Puzzle (Scenario A)
n
children, all intelligent, can see others but not their own faces
k
(
≤
n
) have mud on their forehead
Scenario A:
Father says::
ψ
: ”At least one of you has
mud on the forehead.”
Father then repeatedly asks (i.e., broadcasts) in
rounds (to model synchronous operation) to the
assembled children:
I
Do you have mud on your
forehead?
How does each child respond in each round,
r
= 1
,
2
,...
k

1
,
k
,
k
+ 1
n
,
n
+ 1
?
An answer is ”broadcast” in that round.
Let
c
= clean child,
d
= dirty child
k
= 0: contradicts
ψ
k
= 1: In
r
= 1, the
d
answers ”Yes”.
For
r
= 2, the
c
answer ”No”.
k
= 2: In
r
= 1, no responses.
In
r
= 2, both
d
answer ”Yes”.
In
r
= 3, the
c
answer ”No”
k
= 3: In
r
= 1
,
2, no responses.
In
r
= 3, the 3
d
answer ”Yes”.
In
r
= 4, the
n

3
c
answer ”No”.
k
≤
n
: In
r
<
k
, no responses.
In
r
=
k
, the
k d
answer ”Yes”.
In
r
=
k
+ 1, the
n

k c
answer ”No”.
Reasoning with Knowledge
CUP 2008
2 / 29