プロが教える店舗&オフィスのセキュリティ対策術

1000本のワインがあって、1つは毒入りです。の問題について。

この問題の回答を見て
解こうとしたのですが、まず、僕の力では無理でした。

家族の力や友人にまで聞いてみたのですが
回答がなぜ10人なのかがいまだわかりません。

そこで、僕でもわかるように詳しく解説していただけませんか?


この問題(本家)の回答にあったように
2進法を使うらしく。2進法はなんとなくわかるのですが
どうやってこの問題に当てはめるかまではわかりません・・・。


【設問】
1000本のワインがあって、1つは毒入りです。
1滴でも飲むと、10h~20hで死にます。
今から24h以内に、毒ワインを自分のドレイに飲ませることで、判別したい。
これには最低何人のドレイを要するか?

【回答】
 10人

【本家】
http://oshiete.goo.ne.jp/qa/5872665.html


どうぞよろしくお願いします。

A 回答 (9件)

こんばんわ。



こういうときは、少ない数を例として考えてみるとポイントが見えてきます。

いま、8本のワインのうち 1本だけが毒入りであるとします。
このときは、3人だけで毒入りを見分けることができます。
その手順は次のようになります。

(1) 8本のワインに 0~ 7まで番号をつけておきます。
また、番号を 2進法にしておきます。

No.0 = 000
No.1 = 001
No.2 = 010
No.3 = 011
No.4 = 100
No.5 = 101
No.6 = 110
No.7 = 111
---------------
    CBA

(2) グラスを 3個用意します。
それぞれのグラスを A、B、Cとします。

(3) (1)の 2進法の表を見ながら、
Aのグラスには、No.1+ No.3+ No.5+ No.7
Bのグラスには、No.2+ No.3+ No.6+ No.7
Cのグラスには、No.4+ No.5+ No.6+ No.7

をそれぞれ混ぜ合わせます。((1)の表の一番下段に書かれている文字に対応させる)
あとは、3つのグラスに入ったワインを飲ませて様子をみます。


もし、
・Aだけが亡くなったのであれば、毒入りは No.1
・AとCが亡くなったのであれば、毒入りは No.5
・誰も亡くならなければ、毒入りは No.0

というようになります。
人数を増やしていくと、勘定できるワインの本数が倍々になっていきます。
    • good
    • 5
この回答へのお礼

ご回答ありがとうございます!

なるほど、わかりやすい数からやればいいんですね
さらに二進法の当てはめ方もわかりました

ありがとうございました!

お礼日時:2010/05/25 22:07

どうもまちがったことを書いてすみませんでした。


全部自力で解くのをあきらめて他の方の回答を見ると
発想がわかりました。少ない回数でたくさんの情報を知るためには
同時にたくさん行えばよいというのはわかってたんですが
具体的に何をたくさんにするかを取り違えてました。
「電気の中継コードがたくさんの種類ありそれぞれたくさんあり、
一種だけすべて断線しており分岐ソケットが好きなだけ
使えて電気を流してみる回数が限られている」
と考えればよかったんですね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

眠い中で時間を割いてまでありがとうございます!

思考として「同時にたくさん」というのは
さんこうになりました

ありがとうございます

お礼日時:2010/05/27 23:36

すみません!


私の方法では一人が数多く飲んでいるのでだめですね。

しかし、正しい考えの一部分を成している可能性はあります。
今思いついたのですが、
一人が飲めるのは二回きりではなく、たとえば一時間にひとつずつ記録しながら
飲めば、20時間目で死んだなら最初から10種は毒ではなく残りの10種が毒候補と
なります。これをうまく組むと解けるかもしれません。
つまり飲むチームのメンバーをずらして組み合わせを増やすように
飲む時間をずらして二次元を三次元にする的な。

とりあえずおやすみなさい。
    • good
    • 0

まず、ひとつめの私の回答の


「最初に10人で100ずつ飲んで候補を
100にして二回目百人で飲む。これなら101人」
は間違いで、二回目飲むのは99人なので合わせて100人でした。
誰も死ななかったら飲まれていない酒が毒だから。

では正解の説明。
とりあえず10人で試します。
まず、花びら9枚の花を描きます。
各はなびらに10と書き、中心の丸に2と書き、花の外に8
と書きます。中心の2は9人が同じ酒を飲むという意味です。
もし酒が1000ではなく100なら、これで解決します。
毒を含むグループの内容はどれも10以下なのだから生き残りが9人
いればよく、中央2に毒があり一回目みんな死んだらあとひとりいればよい。
これは実感的な数量のあつかいでだいたいつかんで
調整するという手順です。

この発想で、実際の出題は酒1000本なので極力花を大きくするために
花の外はなしにします。
この問題は、正解の数値がむやみに大きくはない整数なので
愚直に試してゆく方法も有効と思われます。

二人が死んで二回目8人で足りる酒の種類は9です。
~途中飛ばして~
四人組が7種ずつ飲むとして、
四人組の組み合わせは
10×9×8×7を4×3×2で割るから
210であり×7=1470
1000を越えました。

9人で試すと足りないことがわかります。
    • good
    • 0

解けました!


今説明文を書いてもういちど回答しますので
スレッドを閉じないでください。
    • good
    • 2

本来の出題は「最少人数を示せ。


すなわちそれより減らせないことを示せ。」
というものです。
したがって、10人が正解という前提でなぜなのか知りたいと
考えても思考経路がありません。

愚直に考えてゆくと、
一人二回飲めるので、安直に考えれば500人です。
しかしこれが正解のわけがない。
段階的に毒候補を減らすなら最初に10人で100ずつ飲んで候補を
100にして二回目百人で飲む。これなら101人です。
最初20人なら51人。
最初30人なら35人。
最初40人なら40人です。お、変化あり。
この方法での最少人数は詰めていけばわかります。
この低いレベルの方法は高いレベルの方法の一要素と期待できそうです。
これより減らすには、一回の試飲での情報量を増やすアイデアがいります。
それは試飲酒を別人に重複させることです。
たとえば三つの円を一部重ねた図を描くと、
重なっていない領域と二重領域と三重領域があります。
これだと7種の情報を得られます。
重なっていなければ3種しかありません。
重ね方と情報の使い方とを試していけば法則がわかって
最少人数を知ることができそうです。

もちろん明解な方程式があるのでしょうが、
それを教わっても面白みがありません。
頭の体操なんだから、たとえ解けなくても、途中まででも自力で考えるから楽しいのです。
単に当たった外れたという状態に陥ると意味がありません。プレイなんだから。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

ごもっともですねw
頭の体操でかたっくるしかったら意味ないですねw

自力で考えても
「「6人で100個までしぼる」
しかできませんでしたがw

ありがとうございました!

お礼日時:2010/05/25 22:12

ORUKA1951さんの2番目の答えが分かりやすいと思う。



1000本では大変なので7本に減らす。この場合は10人じゃなくて3人で済む。

1本目のワイン 0 0 1
2本目のワイン 0 1 0
3本目のワイン 0 1 1
4本目のワイン 1 0 0
5本目のワイン 1 0 1
6本目のワイン 1 1 0
7本目のワイン 1 1 1

1人目の奴隷Aは、一番左が1になっているワインを混ぜて飲む。つまり4~7本目のワインを混ぜて飲む。
2人目の奴隷Bは、真ん中が1になっているワインを混ぜて飲む。
3人目の奴隷Cは 一番右が1になっているワインを混ぜて飲む。

もし、Aだけが死んだら、1 0 0となっている4本目のワインに毒が入っている。
もし、AとCが死んだら 1 0 1となっている5本目のワインに毒が入っている。
もし、ABC全員が死んだら 1 1 1となっている7本目のワインに毒が入っている。

ということ。1000本の場合も同様にすればいい。

何人の奴隷がいるかは、[log2(ワインの本数)]+1で求まる。([ ]はガウス記号:それを超えない最大の整数)
1000本ならlog2(1000)=9.96・・なのでこれを超えない最大の整数9に1を足した10(人)が答え。ワインが7本なら log2(7)=2.80・・・なので2+1=3が答え。

しかしヒドい話だな。

この回答への補足

ほそくでは無いのですがlogが分かったのでご報告です。

補足日時:2010/05/27 23:37
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

かなり数学的な解き方ですね

[log2(ワインの本数)]+1
が、よくわからなかったのですが
高校生レベルでもわかりますかね?

ひとまず
ありがとうございました!

話ですが・・・まぁ、紙面上ということでw

お礼日時:2010/05/25 22:09

追記結局のところ私にもなかなかわかりませんがw


1~1000のワインを10人で振り分けて試飲することで
後で死んだ奴隷から逆算すると1本の毒入りが判明するそうです。

実は1,023本までは10人でできますが、1,024本から2,047本だと死刑囚がもう一人必要となります。
と記載されているのでちゃんとした方程式があるのでは?
    • good
    • 2
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます!

ページを見させていただきました。
やっぱり難しいですね(低脳でごめんなさい。。。)

ただ、面白い問題が多くてたのしかったです
ありがとうございました!

お礼日時:2010/05/25 22:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!