親と子の間のゲームを考えます。
ジョーカーを除く 52 枚のトランプカードがあります。親がランダムに 10 枚のカードを抜き
出してテーブルの上に横一列に伏せて並べ、残りの 42 枚は燃やしてしまいます。
テーブルの上のカードには名前をつけておきます。すなわち、A B C D E F G H I J です。
伏せてありますので、それぞれのカードが赤(ハート・ダイヤ)、黒(スペード・クラブ)の色の
どちらであるかについて、最初、子にはわかりません。親は各カードの色をいつでも(子には
見えないようにしながら)確認してよいものとします。
ゲームの目標は、子が全てのカードの色を確実に知ることです。あてずっぽうなマグレ当
たりは許されません。ゲームの目標の達成のために、子は、複数回の質問を許されます。
質問に対して都度、親は正確に回答します。
1 回の質問の形式は以下のものに限られます。
10 枚のうち、何枚か( 1 枚以上 10 枚以下)のカードを選び、それぞれのカードについて
色を指定します。
例えば、「E は赤、Gは黒、Jは赤」が、子に許される質問の1回分です。
親の回答は以下のものに限定されます。
「■枚の色が当たり」
例えば、先ほど例に上げた質問に対する回答としては、
「0枚の色が当たり」から「3枚の色が当たり」
まで4通りの回答がありえます。
上記のようなゲームのサンプルのひとつとして、最も単純なものとしては例えば、以下が考
えられます。
子「Aは赤」 → 親「0枚当たり」
子「Bは赤」 → 親「1枚当たり」
子「Cは赤」 → 親「1枚当たり」
子「Dは赤」 → 親「1枚当たり」
子「Eは赤」 → 親「0枚当たり」
子「Fは赤」 → 親「0枚当たり」
子「Gは赤」 → 親「0枚当たり」
子「Hは赤」 → 親「1枚当たり」
子「Iは赤」 → 親「0枚当たり」
子「Jは赤」 → 親「0枚当たり」
カード 1 枚ごとに 1 回の質問をすることで 10 枚のカードの色を確実に知ることができます。
11 回目の質問では、「10枚当たり」という回答を引き出せることでしょう。
問1: 8 回以下の回数の質問で、全てのカードの色を知る手段があります。 これを考えてく
ださい。9回目までに、「10枚当たり」を引き出せるということになります。
※私は知人から出題されて答えられず、解を教えられて驚きました。
問2: 7 回以下の回数の質問で、全てのカードの色を知る手段がありますでしょうか。ご教
示ください。
※知人もこれについてはわからないようです。
DD++ さんからのコメントです。(令和3年11月29日付け)
問1について、とりあえず問題を読んで 3 秒で考えついたのが、
「A赤B赤」
「A黒B赤C赤」
「D赤E赤」
「D黒E赤F赤」
「G赤H赤」
「G黒H赤I赤」
「J赤」
で 7 回だったんですけど、なんか問題を勘違いしてますかね……?
私の問題の理解に誤りがなければという前提で、6 回?
「A赤B赤C赤」
「A黒B赤C赤D赤」
「A赤B黒C赤E赤」
「F赤G赤H赤」
「F黒G赤H赤I赤」
「F赤G黒H赤J赤」
同じく、私の問題の理解に誤りがなければという前提で、5回。
「A赤B赤D赤E赤I赤」
「A赤B赤D赤E赤I黒J赤」
「A赤B赤D黒E黒G赤」
「A赤B黒C赤D赤E黒F赤」
「A赤B黒C赤D黒E赤F黒H赤」
Dengan kesaktian Indukmu さんからのコメントです。(令和3年11月29日付け)
DD++さん、題意通りです。
3秒で〔質問7回〕の解をみつけるなんて、凄いです。 脳内のワーキングエリアの質や量が
素晴らしいのですね。
〔質問5回〕の解も、かなりのものですね、このような発想は私からは出てきません。
皆様へ...
■カード2枚では、質問2回で全てのカードの色を確定できます。
■カード3枚でも質問2回で全てのカードの色を確定できます。ここに気がつけるかどうかが
ミソのようです。
■私が知っていた、カード10枚を質問8回で、という解は、次のようなものです。
10枚のカードを4つのグループに分割します。: ・ABC 、・DEF 、・GH 、・IJ
各々のグループ毎に質問を2回づつ、計8回で全カードの色を確定できます。
※私のボーンヘッド
・ABC 、・DEF 、・GHI 、・J のように分ければ、計7回の質問で済むことを完全に失念
していました。 頭が固いですね。
DD++ さんからのコメントです。(令和3年11月29日付け)
間違ってなくてよかった。
n 回質問できる( n+1 回目で当てる)場合に、最大と予想されるカード枚数は、
1, 3, 5, 8, 10, 13, 16, 20, ?, 26, ?, 33, ?, ?, ?, 48, ……
です。なんだこの数列...。
GAI さんからのコメントです。(令和3年11月29日付け)
gp > a(n)=if(n==1,1,floor(n/2)+self()(floor(n/2))+self()(floor((n+1)/2)))
gp > for(n=1,50,print1(a(n)","))
1,3,5,8,10,13,16,20,22,25,28,32,35,39,43,48,50,53,56,60,63,67,71,76,79,83,87,92,96,101,106,112,
114,117,120,124,127,131,135,140,143,147,151,156,160,165,170,176,179,183,・・・
「A330038」の数列に関係していませんか?
DD++ さんからのコメントです。(令和3年11月29日付け)
10 番目「26」や 12 番目「33」を求めたのはその確認で、結果として違うようです。
(コメント) カードの枚数が3枚の場合について考えてみました。
■カード3枚でも質問2回で全てのカードの色を確定できます。
DD++さんの質問例: 「A赤B赤」 、「A黒B赤C赤」 を、全ての場合に適用してみました。
(A赤B赤C赤)、(A赤B赤C黒)、(A赤B黒C赤)、(A赤B黒C黒)、(A黒B赤C赤)、
(A黒B赤C黒)、(A黒B黒C赤)、(A黒B黒C黒)
最初の質問:「A赤B赤」に対する回答例として、
2枚の色が当たり → 可能性として、(A赤B赤C赤)、(A赤B赤C黒)に限られ、
2番目の質問:「A黒B赤C赤」に対する回答例として、
3枚の色が当たり → 起こりえない
2枚の色が当たり → (A赤B赤C赤) と確定
1枚の色が当たり → (A赤B赤C黒) と確定
0枚の色が当たり → 起こりえない
1枚の色が当たり → 可能性として、
(A赤B黒C赤)、(A赤B黒C黒)、(A黒B赤C赤)、(A黒B赤C黒)に限られ、
2番目の質問:「A黒B赤C赤」に対する回答例として、
3枚の色が当たり → (A黒B赤C赤) と確定
2枚の色が当たり → (A黒B赤C黒) と確定
1枚の色が当たり → (A赤B黒C赤) と確定
0枚の色が当たり → (A赤B黒C黒) と確定
0枚の色が当たり → 可能性として、(A黒B黒C赤)、(A黒B黒C黒)に限られ、
2番目の質問:「A黒B赤C赤」に対する回答例として、
3枚の色が当たり → 起こりえない
2枚の色が当たり → (A黒B黒C赤) と確定
1枚の色が当たり → (A黒B黒C黒) と確定
0枚の色が当たり → 起こりえない
#なるほど!DD++さんの質問例のようにすれば、カード3枚でも2回の質問で全てのカード
が確定することは分かりました。それにしても「3 秒で考えついた」というのは凄いですね!
GAI さんからのコメントです。(令和3年11月30日付け)
「A赤B赤D赤E赤I赤」
「A赤B赤D赤E赤I黒J赤」
「A赤B赤D黒E黒G赤」
「A赤B黒C赤D赤E黒F赤」
「A赤B黒C赤D黒E赤F黒H赤」
黒0、赤1とし、上の5つの質問に答える、合っている数の配列の状態を1024通りの配列に
対応させてみました。
確かに、配列は一つとして同じものは現れず、この5つの質問だけで、10個のトランプの配
列を言い当てることが出来るんですね。
(→ 調査1 調査2 調査3 調査4)
DD++ さんからのコメントです。(令和3年11月30日付け)
カラクリを書いておいた方がいいですかね。
「A赤B赤D赤E赤I赤」
「A赤B赤D赤E赤I黒J赤」
この 2 つの質問ですが、実はその答えから偶奇性を使って少し考えると、
「A赤B赤D赤E赤」
「I赤」
「J赤」
の 3 つの質問の答えが自力で分かります。そして、
「A赤B赤D赤E赤」
「A赤B赤D黒E黒G赤」
この 2 つの質問ですが、実はその答えから偶奇性を使って少し考えると、
「A赤B赤」
「D赤E赤」
「G赤」
の 3 つの質問の答えが自力で分かります。
以下同様に繰り返すと、元の 5 つの質問の答えから
「A赤」
「B赤」
(中略)
「J赤」
の 10 個の質問の答えがわかり、全ての色の特定が完了します。
質問内容の作成は、これの逆順を辿っています。
(コメント) なるほど!素晴らしい考え方ですね。「不思議な論理」における天国へ通じる道
の質問と同じ匂いがします。
Dengan kesaktian Indukmu さんからのコメントです。(令和3年12月2日付け)
○8枚のカードを4回では
「A赤B赤D赤E赤」
「A赤B赤D黒E黒 G赤」
「A赤B黒D赤E黒 C赤F赤」
「A赤B黒D黒E赤 C赤F黒H赤」
という理解でよろしいでしょうか?
ABDEだけを取り出すと、
「A赤B赤D赤E赤」
「A赤B赤D黒E黒」
「A赤B黒D赤E黒」
「A赤B黒D黒E赤」
の形になっていて、任意の2つの質問どうしで、ハミング距離が 2 になっているのが気になりました。
「X赤Y赤」
「X赤Y黒」
では、ハミング距離が 1 ですね、だから Z についての質問を くっつけても大丈夫。
「X赤Y赤」
「X赤Y黒Z赤」
ハミング距離が 1 よりも大だと、Z以外をくっつけても大丈夫な雰囲気なのかなあと夢想し
ています。 なかなか形になりませんが。
以下、あまり効率がよくありませんが質問を4つのものを作ってみます。ハミング距離が2
のものです。
BCDE
赤黒黒黒
黒赤黒黒
黒黒赤黒
黒黒黒赤
これに無条件にAをくっつけてしまいます。
ABCDE
黒赤黒黒黒
黒黒赤黒黒
黒黒黒赤黒
黒黒黒黒赤
これでうまくいくなら、Aの他にもなにかくっつけられないか…など検討していきたいと思って
います。
DD++ さんからのコメントです。(令和3年12月2日付け)
「○8枚のカードを4回」では、その理解でいいですね。2^n 回の場合は、効率よく質問を生
成するのが楽です。
GAI さんからのコメントです。(令和3年12月3日付け)
Dengan kesaktian Indukmu さんの巧みな質問で返事が全てばらけてしまう様子をモニター
してみました。(分かり易いように結果をソートしています。)
モニター1 モニター2
Dengan kesaktian Indukmu さんからのコメントです。(令和3年12月3日付け)
赤:1、黒:0、*:質問しない として、4つの質問が
ABCDEFGH
11*11***
11*00*1*
101101**
101010*1
となる。これは、《私の》巧みな質問ではなくて、 《 DD++ さん》による 10 枚カードへの 5 質
問という素晴らしい解の一部を省略したものに過ぎません。
実際、
5回。
「A赤B赤D赤E赤I赤」
「A赤B赤D赤E赤I黒J赤」
「A赤B赤D黒E黒G赤」
「A赤B黒C赤D赤E黒F赤」
「A赤B黒C赤D黒E赤F黒H赤」
DD++ さんによる上記の解にて、「 I,J については調べなくてよい」ものと考えたときには、
「A赤B赤D赤E赤I赤」
「A赤B赤D赤E赤I黒J赤」
が縮退して、
「A赤B赤D赤E赤」
「A赤B赤D赤E赤」
となりまして、これなら、「A赤B赤D赤E赤」の1回の質問で済むことになります。これが件の、
○8枚のカードを4回では、
「A赤B赤D赤E赤」
「A赤B赤D黒E黒 G赤」
「A赤B黒D赤E黒 C赤F赤」
「A赤B黒D黒E赤 C赤F黒H赤」
という理解になっています。手柄は DD++ さんに帰するべきです。
○5枚のカードを3回の解
赤:1、黒:0、*:質問しない として、3つの質問が
ABCDE
0110*
10001
*0110
すなわち、
「A黒B赤C赤D黒」
「A赤B黒C黒D黒E赤」
「B黒C赤D赤E黒」
…で出来ることがわかりました。
※回転対称解に拘りましたけれども、結果としては、ヒューマンリーダブルな解にはなりませ
んでした。要は、これでうまくいくことの簡単な説明が見当たらないということになります。
32通り全部を書き下して重複がないことのチェックをしたに過ぎません。
ひとつ前のうまくいかなかったバージョンが以下です。
ABCDE
0110*
10*01
*0110
00000 と 11111 との区別《のみ》が出来なくて、くち惜しい感じでした。こちらですと、各質問
について、他の2つの質問との関係が相対的で、特別な役割を持つ質問が無い……という
意図があったのですが、役に立たないものは捨てるしかありませんでした。
DD++ さんからのコメントです。(令和3年12月4日付け)
要は、これでうまくいくことの簡単な説明が見当たらないということになります。
例えば、
「A黒B赤C赤D黒」「当たり 2 枚」
「A赤B黒C黒D黒E赤」「当たり 3 枚」
「B黒C赤D赤E黒」「当たり 3 枚」
の場合。
まず、1 番目の結果を基準にして 2 番目の結果を見ます。A、B、C の 3 つは予想の色を
変更したので、それぞれ当たり枚数の偶奇が必ず変化します。
D は予想の色を変更していないので、当たり枚数の偶奇は変化しません。
E は予想に追加したので、これが当たっている場合のみ偶奇が変化します。
今、実際に偶奇が変化したということは、E の予想の追加は偶奇に影響していないことが
わかります。つまり、「E赤」は「当たり 0 枚」であることがわかります。
すると、A、B、C の予想の変更で当たりが 1 枚増えたことから、「A黒B赤C赤」は「当たり
1 枚」であることがわかります。そして、残りを考えると、「D黒」は「当たり 1 枚」であることが
わかります。
今度は同様に、3 番目の結果を基準にして 2 番目の結果を見ます。C、D、E の 3 つは予
想の色を変更したので、それぞれ当たり枚数の偶奇が必ず変化します。
B は予想の色を変更していないので、当たり枚数の偶奇は変化しません。
A は予想に追加したので、これが当たっている場合のみ偶奇が変化します。
今、実際に偶奇が変化していないということは、A の予想の追加は偶奇に影響したことが
わかります。つまり「A赤」は「当たり 1 枚」であることがわかります。
すると、C、D、E の予想の変更で当たりが 1 枚減ったことから、「C赤D赤E黒」は「当たり
2 枚」であることがわかります。そして、残りを考えると、「B黒」は「当たり 1 枚」であることが
わかります。
つまり、質問を分解すると、
「A赤」「当たり 1 枚」
「B黒」「当たり 1 枚」
「A黒B赤C赤」「当たり 1 枚」
「C赤D赤E黒」「当たり 2 枚」
「D黒」「当たり 1 枚」
「E赤」「当たり 0 枚」
となっているので、C 以外は特定完了しています。当然、残った C もすぐに特定でき、「A赤
B黒C赤D黒E黒」とわかります。
今回は具体的な数値でやりましたが、どんな数値であっても同じ手順で解けることは明ら
かだと思いますがどうでしょう。
……あれ、もしかしてこれ質問 3 回で 6 枚いけちゃいますかね?
Dengan kesaktian Indukmu さんからのコメントです。(令和3年12月4日付け)
DD++さん、大変丁寧な解説をまことに有り難うございます。お陰様を持ちまして、少しばか
り得心がいきました。以下、ご教示頂いたことをもとにして、変奏曲を奏でてみます。
例によって、赤を 1 黒を 0 とします。三つ組の質問を下記のように表記いたします。
ABCDE
0110-
10001
-0110
ここで、C のカードのみ、黒赤のどちらかではなく、白青の二択であったとしても、三つ組の
質問が、そのまま使えることに留意します。そのとき、「白を 0 青を 1 」と符号化してもよいで
すし、「青を 0 白を 1 」と符号化しても良いはずです。任意性があります。
とにもかくにも、
ABCDE
01青0-
10白01
-0青10
の三つ組の質問は有効だということです。
だれかが、直上の、青白まじりの三つ組の質問をみたときに、「ははあ、《青を 0 白を 1 と
符号化すれば良いのだな》と解釈して、青白を 0 と 1 とに書き戻したとします。
ABCDE
0100-
10101
-0010
これでも、三つ組の質問は有効と言えます。
各質問について、C についてのみ、ビット反転したものとなっています。再掲。
当初の質問
ABCDE
0110-
10001
-0110
Cのみビット反転後
ABCDE
0100-
10101
-0010
※どちらをとっても、カードの色を当てる能力に差はありません。一般に特定のカードへの質
問を、全部同期してビット反転しても構わないこととなります。
さて、二番目の質問 10101 から得られる情報は、01010 から得られる情報と等価です。親
からの回答が補数になっているだけですから。
ですから、
ABCDE
0100-
10101
-0010
と
ABCDE
0100-
01010
-0010
とは、同じく有効な質問、能力は同じです。更に、 B と D について、ビット反転しますと、
ABCDE
0001-
00000
-1000
を得ます。これは、当初の三つ組の質問と同じ能力を持ちます。
以上の操作は、三つ組の質問を、ヒューマンリーダブル(人間が直接読み書き出来る)に
する工夫です。
ABCのなかにある黒の枚数を n とします。
ABCDE
0001-
00000
-1000
一番目と二番目の質問から得られる回答の可能性は次の4つに絞られています。
ABCDE Q1, Q2
(n)00 n+0,n+2
(n)01 n+0,n+1
(n)10 n+1,n+1
(n)11 n+1,n+0
これで、n の値と D、E とが確定します。 (5-n)=A+B+C
二番目と三番目とからでも、同様にして、《回転対称だからですが》、A、B 及びに C+D+E
がわかります。
以上により、 5 枚すべてのカードの色がわかります。
結果として、DD++ さんによる解をなぞったものに過ぎません。所謂、車輪の再発明です。
最後に、三つ組の質問で、6 枚のカードを処理できるものなのか、悩んでいます。
GAI さんからのコメントです。(令和3年12月5日付け)
ABCDEF
00001*
00*000
*10000
の3つの質問から、次の5組が同じ返事となり、見分けがつかなくなります。
(その他は全部異なる。)
色々質問を変え今のところ、これが重なりが最小となるものです。もっと少なるものがあり
ましたら、教えて下さい。
30=[0, 1, 1, 1, 1, 0]→ [2:2:2]
37=[1, 0, 0, 1, 0, 1]→ [2:2:2]
21=[0, 1, 0, 1, 0, 1]→ [2:2:3]
58=[1, 1, 1, 0, 1, 0]→ [2:2:3]
25=[0, 1, 1, 0, 0, 1]→ [2:3:3]
36=[1, 0, 0, 1, 0, 0]→ [2:3:3]
27=[0, 1, 1, 0, 1, 1]→ [3:2:2]
38=[1, 0, 0, 1, 1, 0]→ [3:2:2]
26=[0, 1, 1, 0, 1, 0]→ [3:3:3]
33=[1, 0, 0, 0, 0, 1]→ [3:3:3]
Dengan kesaktian Indukmu さんからのコメントです。(令和3年12月10日付け)
3つの質問からの 6 枚当て、これよりニアピンを見つけられませんでした。テーマを変えて
少々考えてみたのですけれども、4つの質問からの 9 枚当てのニアピン探しです。
候補として捻り出したのが以下です。当方の検証ミスも多々あるかもしれませんけれども…。
A BCDE FGHI
0 001- 1110
0 01-0 1101
0 1-00 1011
0 -001 0111
GAI さんからのコメントです。(令和3年12月11日付け)
以下の40組が同じ返事を返すようですね。
(→ 計算結果)
70 [0, 0, 1, 0, 0, 0, 1, 1, 0] 5 5 4 5
189 [0, 1, 0, 1, 1, 1, 1, 0, 1] 5 5 4 5
の見落としがあったので全部で41組でした。
Dengan kesaktian Indukmu さんからのコメントです。(令和3年12月12日付け)
GAI さん、検証を誠に有り難う御座いました。全部で41組、やはり多いですね、ニアとは言
いづらいです……。
今、あらためて DD++ さんの手法による 8 個 4 質問 の解を いじりまわしております。
( 4 回のままで 1 個増やせない理由について悩んでいます。)
ABDE CFHG
1111 ----
1100 ---1
1010 11--
1001 101-
■ 1 回目の質問で CFHG について何も情報を得ていないけれども、もったないような気も。
■ 3 回目と 4 回目との 2 回の質問で、 CFH の色を確定しているようにも見える。 2 回の
質問で 3 個の色を決定するパターンは、部品として使いやすいのではないかとの希望も
ある。例えば、3 回の質問で 5 個の色を決定するパターンとして次のものがあるけれども、
-1000
00000
0001-
これは 2 回の質問で 3 個の色を決めるパターンを 2 つ、組み合わせたもののようにも見
えなくはない。
-10
000
と
000
01-
とをくっつけて
-10^^
00000
^^01-
のようにして適宜 ^^ にパディングしているような。もしも、「 2 回の質問で 3 個の色を決定
するパターン」が、使いやすい部品として認めることができるのであれば、これの
ABDE CFHG
1111 ----
1100 ---1
1010 11--
1001 101-
CFH の 3、4 回目の質問は パターンとして認めてもいいのかもしれない……。
■ 2 回目の 1 回の質問で、 G の色を確定しているようにも見える。 1 回の質問で 1 個の
色を決定するパターンは、部品として使いやすいのではないかとの希望が出てくる。
□ 1 回の質問で G のみを確定しているように見えるけれども、
ABDE CFHG
1111 ----
1100 ---1
1010 11--
1001 101-
G のみでなく 新たに J を追加してその色をも確定する目的で パターンのカスタマイズ が
出来ると嬉しいけれども……。それには、H について 4 回目の質問で訊ねていることと干渉
しあってはならないので難しい……。
例をあげると J を追加して 9 個について 4 回の質問を次のようにしてみますと、
ABDE CFHGJ
1111 --101
1100 ---11
1010 11---
1001 101--
これだと手元の確認では、ニアピンには、全然ほど遠いのです。そろそろ諦めようかと思っ
ております。
以下、工事中!