グローブ問題。通称はコンドーム問題で、こちらの名称の方が一般的です。
n人の医者がm人の患者に対して、n×m通りの全ての組み合わせで手術を行う時、手術用手袋は何枚必要か?という問題
感染を防ぐために手袋の同じ面に患者、医者とも複数人が触れないようにしなくてはいけません。手袋は重ねたり、裏返して使うことは可能ですが、菌のついた手袋の面に他の手袋を重ねると、重ねた側にもその菌が付着することに注意が必要です。
まず次の問題を考えてみてください。
「3人の医者が1人の患者に、順に手術を行います。しかし困ったことに、手袋が2組しかありません。
さて2組の手袋で感染を防ぎ、手術を無事に行うことができるでしょうか?」
これは不可能っぽいと思うかもしれませんが、実は可能なんですね。
以下のようにします
医者をそれぞれA、B、C、患者をa、2枚の手袋をア、イとします。
①Aはアの上にイの手袋を重ねて着けてaを手術
アの内側はAによって、イの外側はaによって汚染されますが、アの外側とイの内側はきれいなままです。
②Bはイの手袋を着けてaを手術
イの内側はBによって汚染します
③Cはアを裏返し、その上にイを重ねて着けてaを手術(アの内側はきれいですし、イの外側はaしか触れていないのでOKです)
これで無事に手術を行うことができます。
この答えはとても秀逸ですよね。これを一般的にn人とm人で考えたのがグローブ問題です。
上でのべた医者3人, 患者1人のケースはマーチン・ガードナーの「SFパズル」と「aha!Insight ひらめき思考 2」に載っている答えそのままです。
「SFパズル」には、さらに
・1977年にイェール大学のRichard Liptonが部分的な解決法を発見
・同時に独立してA. HajnalとL. Lovászが、論文「An Algorithm to Prevent the Propagation of Certain Diseases at Minimal Cost」において解決法を発見。(ここではウサギを用いた実験という設定のようです)
ということも書いてあります。
この問題を好んで取り上げたのが秋山仁で、「皆殺しの數學」(あるいは「誰かに解かせたくなる算数・数学の本」これは皆殺しの數學の改定版で内容は同じ)に書かれています。
この本には、医者2人患者2人の場合と、医者3人患者3の場合の解が載っています。
簡単に示すと次のようなものです。
n=2, m=2の場合は2枚必要
医者をA、B、患者をa、b、手袋をア、イとします。
①Aはアにイを重ねてaを手術 Aアイa
②Aはアを着けてbを手術 Aアb
③Bはイを着けてaを手術 Bイa
④Bはイにアを重ねてbを手術 Bイアa
n=3, m=3の場合は4枚必要
ややこしいので図で示すと次の通り
各段階での手袋の汚染状況を表すと次の図のようになります。小さな文字はその記号の人の菌を表していて、手袋に菌が付いているのをイメージして書いています。
全ての人が他人の菌のついた面に触れていないことを確認してください。
そして、ラスロウ・ロバースの定理というのが載っていて、必要な枚数は
で与えられるが、最後の項の (0 or 1) というのがまだ決着がついていないのだそうです。
(mini{m,n}はmとnの大きい方、minは小さい方)
私も4人と4人の場合(5枚で可能)を考えてみたんですが、これがなかなか難しい。
一応できましたが、結構時間がかかってしまいました。
よかったら挑戦してみてください。途中で3枚重ねが必要です。
その後決着はついたんだろうか?と気になったので調べてみましたので、次回に詳しくまとめましょう。