食事する哲学者:箸の取り方で固まる

円卓に座る 5 人の哲学者。箸(フォーク)の取り方の方策を切り替えると、全員が固まるデッドロックと、止まらない進行(ライブ)が分かれます。

5 人
6
箸の取り方の方策(これがデッドロックを左右する)
考え中 空腹(箸を待つ) 食事中 デッドロック
状態
食事中の人数
食事した延べ回数
空腹で待つ人数
デッドロックの 4 条件(成立中=赤/崩した=緑)
  • 相互排除:1本の箸は1人しか持てない
  • 保持と待機:片方を持ったまま、もう片方を待つ
  • 横取り不可:他人の箸を奪えない
  • 循環待機:待ちの輪が一周つながる

4つが同時に成立すると停止。1つでも崩せば進む。

円卓(哲学者と箸)
5 人の哲学者が円卓を囲み、「考える」と「食べる」を繰り返します。食べるには左右 2 本の箸が要りますが、箸は隣どうしで共有で、合計 5 本しかありません。
もし全員が同時に「まず左の箸を取る」と、全員が左を握ったまま右を待ち、誰も右を取れず永遠に止まります。これがデッドロックです。
方策ボタンで取り方を変え、非対称化調停者で循環がほどけ、再び全員が食事できる様子を確かめましょう。

いま何が起きている?

ここがポイント