3
エンタメ解説
文献あり

【攻略法】マスターマインド(ヒット&ブロー)の攻略法

1719
0
$$$$

マスターマインドとは

ヒット&ブローとも呼ばれます。

ルール
1.回答者と出題者に分かれます。
2.出題者は6つの数字(6色でも構いません)からランダムに4つ選び、ランダムに並べます。

3.回答者はこの4つの数字の並びを予想し、当てます。
回答者が予想を宣言し、出題者はそれに対する答え合わせを宣言します。
答え合わせは
 数字と位置が同じ⇒ヒット
 数字は存在するが、位置が異なる⇒ブロー

 例えば、回答が1452で、回答者が3256と宣言した場合、5の数字と位置の組み合わせが一致しているので、1ヒット。さらに、2が含まれていますが、位置が違うので1ブロー。よって、出題者は1ヒット1ブローと宣言します。

 以下、ヒットをH、ブローをBとし、例えば1ヒット1ブローを1H1Bと表記します

4.4Hとなった時点で終了です。

ローカルルール
A.重複のあり、なし
B.出題者は1度だけ数字の並びを変更できる
C.9個の数字からランダムに並べるなど、選ぶ数字の範囲の設定
D.ランダムに5個以上並べるなど、並べる数の設定
E.8回で答えられなかったら負け、などの回数制限

 回答者と出題者を交代し、早く予想した方が勝ちという対戦としても使えますし、3人のうち1人を出題者とし、残った2人が交互に宣言して競っても構いません。

 ルールは相手と話し合って決めてください。

マスターマインドの攻略法

今回は
1.数字6つ
2.回答は重複なし
3.予想は重複あり
のルールの攻略法を紹介します。

参考文献)
The Computer as Master Mind DONALD E.KNUTH Computer Science Department Stanford University
https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/knuth-mastermind.pdf

 6つの数字をランダムに4つ並べる通りは

 ${}_6 \mathrm{P}_4 = 6×5×4×3 = 360$

 ここから、4つの数字を1つに特定できるような数字の並びを4Hになるまで宣言していくわけですが、どのように宣言すれば最も少ない回数で4Hとなるかというのが論点です。

結論

 最小5回で4Hとなることが分かっています。

 例えば1122、1344、1526、1462と宣言すれば、5回目で必ず4Hが確定します。

 1122と宣言したとき、考えられる答え合わせの通りは

 2H0B,1H1B,1H0B,0H2B,0H1B,0H0B

の6通りとなります。

 そして驚くことに、1344と宣言してもこの6通りの内のいずれかとなり、しかも候補の数も同じとなります。

 例えば1122と宣言したとき、2H0Bとなる数字の並び方は360通りの内、12通りあります。

 これは1344と宣言しても2H0Bが12通りあるように設定されています。

 上記の宣言をどの順番で言ってもよいです。

 また、1122→3344のように数字を置換しても構いませんし、1122→1212、1344→1434、...、のように位置を置換しても構いません。

 探せば上記以外にも宣言の組み合わせは見つかると思いますが、$6^3=216 < 360 < 6^4=1296$から、宣言は最低4回は必要だと思われます。

組み合わせ一覧

 数字が置換されてもよいことを踏まえ、以下の表ではa~eの文字を使います。ややこしいので位置の置換はしません。

 また、重複しないというルールなので、回答に同じ文字は重複しません。(予想の文字は重複しても問題ないものとします。)

 遊ぶ時は、この表を見ながら遊ぶといいと思います。

 これで君もヒット&ブロー……いや
マスターマインドマスターだ!(ややこしい)

aabbacddaebfadfb回答
2H0B2H1B2H0B1H2Bacbd
2H0B2H0B2H1B1H1Bacbe
2H0B2H0B3H0B1H2Bacbf
2H0B1H2B2H0B2H1Badbc
2H0B1H1B2H1B2H1Badbe
2H0B1H1B3H0B2H2Badbf
2H0B1H1B3H0B1H1Baebc
2H0B1H1B3H0B1H2Baebd
2H0B1H0B4H0B1H2Baebf
2H0B1H1B2H1B1H2Bafbc
2H0B1H1B2H1B1H3Bafbd
2H0B1H0B2H2B1H2Bafbe
1H1B1H2B1H1B1H2Babcd
1H1B1H1B1H2B1H1Babce
1H1B1H1B2H1B1H2Babcf
1H1B2H1B1H1B1H2Babdc
1H1B2H0B1H2B1H2Babde
1H1B2H0B2H1B1H3Babdf
1H1B1H1B1H2B1H1Babec
1H1B1H1B1H2B1H2Babed
1H1B1H0B2H2B1H2Babef
1H1B1H1B1H2B2H1Babfc
1H1B1H1B1H2B2H2Babfd
1H1B1H0B1H3B2H1Babfe
1H1B3H0B1H1B2H1Bacdb
1H1B2H0B1H2B2H0Baceb
1H1B2H0B1H2B3H0Bacfb
1H1B1H2B1H1B3H0Badcb
1H1B1H1B1H2B3H0Badeb
1H1B1H1B1H2B4H0Badfb
1H1B1H1B2H1B2H0Baecb
1H1B2H0B2H1B2H1Baedb
1H1B1H0B2H2B3H0Baefb
1H1B1H1B1H2B2H1Bafcb
1H1B2H0B1H2B2H2Bafdb
1H1B1H0B1H3B2H1Bafeb
1H1B0H3B1H1B0H3Bcabd
1H1B0H2B1H2B0H2Bcabe
1H1B0H2B2H1B0H3Bcabf
1H1B0H3B1H1B1H2Bcdba
1H1B0H2B2H1B0H2Bceba
1H1B0H2B1H2B0H3Bcfba
1H1B0H3B1H1B0H3Bdabc
1H1B0H2B1H2B0H3Bdabe
1H1B0H2B2H1B0H4Bdabf
1H1B1H2B1H1B0H3Bdcba
1H1B0H2B2H1B0H3Bdeba
1H1B0H2B1H2B0H4Bdfba
1H1B0H2B1H2B0H2Beabc
1H1B0H2B1H2B0H3Beabd
1H1B0H1B2H2B0H3Beabf
1H1B1H1B1H2B0H2Becba
1H1B0H2B1H2B1H2Bedba
1H1B0H1B1H3B0H3Befba
1H1B0H2B1H2B0H3Bfabc
1H1B0H2B1H2B0H4Bfabd
1H1B0H1B1H3B0H3Bfabe
1H1B1H1B1H2B0H3Bfcba
1H1B0H2B1H2B1H3Bfdba
1H1B0H1B2H2B0H3Bfeba
1H0B3H0B1H1B1H1Bacde
1H0B3H0B2H0B1H2Bacdf
1H0B2H1B1H1B1H1Baced
1H0B2H0B2H1B1H1Bacef
1H0B2H1B1H1B2H1Bacfd
1H0B2H0B1H2B2H0Bacfe
1H0B1H2B1H1B2H0Badce
1H0B1H2B2H0B2H1Badcf
1H0B1H2B1H1B2H0Badec
1H0B1H1B2H1B2H1Badef
1H0B1H2B1H1B3H0Badfc
1H0B1H1B1H2B3H0Badfe
1H0B1H2B2H0B1H1Baecd
1H0B1H1B3H0B1H1Baecf
1H0B2H1B2H0B1H1Baedc
1H0B2H0B3H0B1H2Baedf
1H0B1H1B2H1B2H0Baefc
1H0B1H1B2H1B2H1Baefd
1H0B1H2B1H1B1H2Bafcd
1H0B1H1B1H2B1H1Bafce
1H0B2H1B1H1B1H2Bafdc
1H0B2H0B1H2B1H2Bafde
1H0B1H1B1H2B1H1Bafec
1H0B1H1B1H2B1H2Bafed
1H0B0H2B1H1B1H1Bcdbe
1H0B0H2B2H0B1H2Bcdbf
1H0B0H2B2H0B0H2Bcebd
1H0B0H1B3H0B0H2Bcebf
1H0B0H2B1H1B0H3Bcfbd
1H0B0H1B1H2B0H2Bcfbe
1H0B1H1B1H1B0H2Bdcbe
1H0B1H1B2H0B0H3Bdcbf
1H0B0H2B2H0B0H2Bdebc
1H0B0H1B3H0B0H3Bdebf
1H0B0H2B1H1B0H3Bdfbc
1H0B0H1B1H2B0H3Bdfbe
1H0B1H1B1H1B0H2Becbd
1H0B1H0B2H1B0H2Becbf
1H0B0H2B1H1B1H1Bedbc
1H0B0H1B2H1B1H2Bedbf
1H0B0H1B1H2B0H2Befbc
1H0B0H1B1H2B0H3Befbd
1H0B1H1B1H1B0H3Bfcbd
1H0B1H0B1H2B0H2Bfcbe
1H0B0H2B1H1B1H2Bfdbc
1H0B0H1B1H2B1H2Bfdbe
1H0B0H1B2H1B0H2Bfebc
1H0B0H1B2H1B0H3Bfebd
0H2B0H3B0H2B0H3Bbacd
0H2B0H2B0H3B0H2Bbace
0H2B0H2B1H2B0H3Bbacf
0H2B1H2B0H2B0H3Bbadc
0H2B1H1B0H3B0H3Bbade
0H2B1H1B1H2B0H4Bbadf
0H2B0H2B0H3B0H2Bbaec
0H2B0H2B0H3B0H3Bbaed
0H2B0H1B1H3B0H3Bbaef
0H2B0H2B0H3B1H2Bbafc
0H2B0H2B0H3B1H3Bbafd
0H2B0H1B0H4B1H2Bbafe
0H2B1H2B0H2B0H3Bbcad
0H2B1H1B0H3B0H2Bbcae
0H2B1H1B1H2B0H3Bbcaf
0H2B2H1B0H2B0H3Bbcda
0H2B1H1B0H3B0H2Bbcea
0H2B1H1B0H3B1H2Bbcfa
0H2B0H3B0H2B1H2Bbdac
0H2B0H2B0H3B1H2Bbdae
0H2B0H2B1H2B1H3Bbdaf
0H2B0H3B0H2B1H2Bbdca
0H2B0H2B0H3B1H2Bbdea
0H2B0H2B0H3B2H2Bbdfa
0H2B0H2B1H2B0H2Bbeac
0H2B0H2B1H2B0H3Bbead
0H2B0H1B2H2B0H3Bbeaf
0H2B0H2B1H2B0H2Bbeca
0H2B1H1B1H2B0H3Bbeda
0H2B0H1B1H3B1H2Bbefa
0H2B0H2B0H3B0H3Bbfac
0H2B0H2B0H3B0H4Bbfad
0H2B0H1B0H4B0H3Bbfae
0H2B0H2B0H3B0H3Bbfca
0H2B1H1B0H3B0H4Bbfda
0H2B0H1B0H4B0H3Bbfea
0H2B1H2B0H2B1H2Bcadb
0H2B0H2B0H3B1H1Bcaeb
0H2B0H2B0H3B2H1Bcafb
0H2B0H3B0H2B0H3Bcbad
0H2B0H2B0H3B0H2Bcbae
0H2B0H2B1H2B0H3Bcbaf
0H2B1H2B0H2B0H3Bcbda
0H2B0H2B0H3B0H2Bcbea
0H2B0H2B0H3B1H2Bcbfa
0H2B0H3B0H2B2H1Bcdab
0H2B0H2B1H2B1H1Bceab
0H2B0H2B0H3B1H2Bcfab
0H2B0H3B0H2B1H2Bdacb
0H2B0H2B0H3B1H2Bdaeb
0H2B0H2B0H3B2H2Bdafb
0H2B0H3B0H2B0H3Bdbac
0H2B0H2B0H3B0H3Bdbae
0H2B0H2B1H2B0H4Bdbaf
0H2B0H3B0H2B0H3Bdbca
0H2B0H2B0H3B0H3Bdbea
0H2B0H2B0H3B1H3Bdbfa
0H2B1H2B0H2B1H2Bdcab
0H2B0H2B1H2B1H2Bdeab
0H2B0H2B0H3B1H3Bdfab
0H2B0H2B0H3B1H1Beacb
0H2B1H1B0H3B1H2Beadb
0H2B0H1B0H4B2H1Beafb
0H2B0H2B0H3B0H2Bebac
0H2B0H2B0H3B0H3Bebad
0H2B0H1B1H3B0H3Bebaf
0H2B0H2B0H3B0H2Bebca
0H2B1H1B0H3B0H3Bebda
0H2B0H1B0H4B1H2Bebfa
0H2B1H1B0H3B1H1Becab
0H2B0H2B0H3B2H1Bedab
0H2B0H2B0H3B1H2Bfacb
0H2B1H1B0H3B1H3Bfadb
0H2B0H1B0H4B1H2Bfaeb
0H2B0H2B0H3B0H3Bfbac
0H2B0H2B0H3B0H4Bfbad
0H2B0H1B0H4B0H3Bfbae
0H2B0H2B0H3B0H3Bfbca
0H2B1H1B0H3B0H4Bfbda
0H2B0H1B0H4B0H3Bfbea
0H2B1H1B0H3B1H2Bfcab
0H2B0H2B0H3B2H2Bfdab
0H2B0H1B1H3B1H2Bfeab
0H2B0H1B0H4B1H2Befab
0H1B2H0B0H2B0H2Bbcde
0H1B2H0B1H1B0H3Bbcdf
0H1B1H1B0H2B0H2Bbced
0H1B1H0B1H2B0H2Bbcef
0H1B1H1B0H2B1H2Bbcfd
0H1B1H0B0H3B1H1Bbcfe
0H1B0H2B0H2B1H1Bbdce
0H1B0H2B1H1B1H2Bbdcf
0H1B0H2B0H2B1H1Bbdec
0H1B0H1B1H2B1H2Bbdef
0H1B0H2B0H2B2H1Bbdfc
0H1B0H1B0H3B2H1Bbdfe
0H1B0H2B1H1B0H2Bbecd
0H1B0H1B2H1B0H2Bbecf
0H1B1H1B1H1B0H2Bbedc
0H1B1H0B2H1B0H3Bbedf
0H1B0H1B1H2B1H1Bbefc
0H1B0H1B1H2B1H2Bbefd
0H1B0H2B0H2B0H3Bbfcd
0H1B0H1B0H3B0H2Bbfce
0H1B1H1B0H2B0H3Bbfdc
0H1B1H0B0H3B0H3Bbfde
0H1B0H1B0H3B0H2Bbfec
0H1B0H1B0H3B0H3Bbfed
0H1B1H2B0H2B0H2Bcade
0H1B1H2B1H1B0H3Bcadf
0H1B0H3B0H2B0H2Bcaed
0H1B0H2B1H2B0H2Bcaef
0H1B0H3B0H2B1H2Bcafd
0H1B0H2B0H3B1H1Bcafe
0H1B1H1B0H2B0H2Bcbde
0H1B1H1B1H1B0H3Bcbdf
0H1B0H2B0H2B0H2Bcbed
0H1B0H1B1H2B0H2Bcbef
0H1B0H2B0H2B1H2Bcbfd
0H1B0H1B0H3B1H1Bcbfe
0H1B0H3B0H2B1H1Bcdae
0H1B0H3B1H1B1H2Bcdaf
0H1B0H3B0H2B1H1Bcdea
0H1B0H2B0H2B2H0Bcdeb
0H1B0H3B0H2B2H1Bcdfa
0H1B0H2B0H2B3H0Bcdfb
0H1B0H3B1H1B0H2Bcead
0H1B0H2B2H1B0H2Bceaf
0H1B1H2B1H1B0H2Bceda
0H1B1H1B1H1B1H1Bcedb
0H1B0H2B1H2B1H1Bcefa
0H1B0H1B1H2B2H0Bcefb
0H1B0H3B0H2B0H3Bcfad
0H1B0H2B0H3B0H2Bcfae
0H1B1H2B0H2B0H3Bcfda
0H1B1H1B0H2B1H2Bcfdb
0H1B0H2B0H3B0H2Bcfea
0H1B0H1B0H3B1H1Bcfeb
0H1B0H3B0H2B0H2Bdace
0H1B0H3B1H1B0H3Bdacf
0H1B0H3B0H2B0H2Bdaec
0H1B0H2B1H2B0H3Bdaef
0H1B0H3B0H2B1H2Bdafc
0H1B0H2B0H3B1H2Bdafe
0H1B0H2B0H2B0H2Bdbce
0H1B0H2B1H1B0H3Bdbcf
0H1B0H2B0H2B0H2Bdbec
0H1B0H1B1H2B0H3Bdbef
0H1B0H2B0H2B1H2Bdbfc
0H1B0H1B0H3B1H2Bdbfe
0H1B1H2B0H2B0H2Bdcae
0H1B1H2B1H1B0H3Bdcaf
0H1B1H2B0H2B0H2Bdcea
0H1B1H1B0H2B1H1Bdceb
0H1B1H2B0H2B1H2Bdcfa
0H1B1H1B0H2B2H1Bdcfb
0H1B0H3B1H1B0H2Bdeac
0H1B0H2B2H1B0H3Bdeaf
0H1B0H3B1H1B0H2Bdeca
0H1B0H2B1H1B1H1Bdecb
0H1B0H2B1H2B1H2Bdefa
0H1B0H1B1H2B2H1Bdefb
0H1B0H3B0H2B0H3Bdfac
0H1B0H2B0H3B0H3Bdfae
0H1B0H3B0H2B0H3Bdfca
0H1B0H2B0H2B1H2Bdfcb
0H1B0H2B0H3B0H3Bdfea
0H1B0H1B0H3B1H2Bdfeb
0H1B0H3B0H2B0H2Beacd
0H1B0H2B1H2B0H2Beacf
0H1B1H2B0H2B0H2Beadc
0H1B1H1B1H2B0H3Beadf
0H1B0H2B0H3B1H1Beafc
0H1B0H2B0H3B1H2Beafd
0H1B0H2B0H2B0H2Bebcd
0H1B0H1B1H2B0H2Bebcf
0H1B1H1B0H2B0H2Bebdc
0H1B1H0B1H2B0H3Bebdf
0H1B0H1B0H3B1H1Bebfc
0H1B0H1B0H3B1H2Bebfd
0H1B1H2B0H2B0H2Becad
0H1B1H1B1H2B0H2Becaf
0H1B2H1B0H2B0H2Becda
0H1B2H0B0H2B1H1Becdb
0H1B1H1B0H3B1H1Becfa
0H1B1H0B0H3B2H0Becfb
0H1B0H3B0H2B1H1Bedac
0H1B0H2B1H2B1H2Bedaf
0H1B0H3B0H2B1H1Bedca
0H1B0H2B0H2B2H0Bedcb
0H1B0H2B0H3B2H1Bedfa
0H1B0H1B0H3B3H0Bedfb
0H1B0H2B0H3B0H2Befac
0H1B0H2B0H3B0H3Befad
0H1B0H2B0H3B0H2Befca
0H1B0H1B0H3B1H1Befcb
0H1B1H1B0H3B0H3Befda
0H1B1H0B0H3B1H2Befdb
0H1B0H3B0H2B0H3Bfacd
0H1B0H2B0H3B0H2Bface
0H1B1H2B0H2B0H3Bfadc
0H1B1H1B0H3B0H3Bfade
0H1B0H2B0H3B0H2Bfaec
0H1B0H2B0H3B0H3Bfaed
0H1B0H2B0H2B0H3Bfbcd
0H1B0H1B0H3B0H2Bfbce
0H1B1H1B0H2B0H3Bfbdc
0H1B1H0B0H3B0H3Bfbde
0H1B0H1B0H3B0H2Bfbec
0H1B0H1B0H3B0H3Bfbed
0H1B1H2B0H2B0H3Bfcad
0H1B1H1B0H3B0H2Bfcae
0H1B2H1B0H2B0H3Bfcda
0H1B2H0B0H2B1H2Bfcdb
0H1B1H1B0H3B0H2Bfcea
0H1B1H0B0H3B1H1Bfceb
0H1B0H3B0H2B1H2Bfdac
0H1B0H2B0H3B1H2Bfdae
0H1B0H3B0H2B1H2Bfdca
0H1B0H2B0H2B2H1Bfdcb
0H1B0H2B0H3B1H2Bfdea
0H1B0H1B0H3B2H1Bfdeb
0H1B0H2B1H2B0H2Bfeac
0H1B0H2B1H2B0H3Bfead
0H1B0H2B1H2B0H2Bfeca
0H1B0H1B1H2B1H1Bfecb
0H1B1H1B1H2B0H3Bfeda
0H1B1H0B1H2B1H2Bfedb
0H0B0H2B1H1B1H1Bcdef
0H0B0H2B0H2B2H0Bcdfe
0H0B1H1B2H0B0H2Bcedf
0H0B0H2B1H1B1H1Bcefd
0H0B1H1B0H2B0H2Bcfde
0H0B0H2B0H2B0H2Bcfed
0H0B1H1B1H1B0H2Bdcef
0H0B1H1B0H2B1H1Bdcfe
0H0B0H2B2H0B0H2Bdecf
0H0B0H2B1H1B1H1Bdefc
0H0B0H2B0H2B0H2Bdfce
0H0B0H2B0H2B0H2Bdfec
0H0B2H0B1H1B0H2Becdf
0H0B1H1B0H2B1H1Becfd
0H0B0H2B1H1B1H1Bedcf
0H0B0H2B0H2B2H0Bedfc
0H0B0H2B0H2B0H2Befcd
0H0B1H1B0H2B0H2Befdc
0H0B2H0B0H2B0H2Bfcde
0H0B1H1B0H2B0H2Bfced
0H0B0H2B0H2B1H1Bfdce
0H0B0H2B0H2B1H1Bfdec
0H0B0H2B1H1B0H2Bfecd
0H0B1H1B1H1B0H2Bfedc
集計
3H0B3H0B3H0B3H0B
0000
2H2B2H2B2H2B2H2B
0000
2H1B2H1B2H1B2H1B
0000
2H0B2H0B2H0B2H0B
12121212
1H3B1H3B1H3B1H3B
0000
1H2B1H2B1H2B1H2B
0000
1H1B1H1B1H1B1H1B
48484848
1H0B1H0B1H0B1H0B
48484848
0H4B0H4B0H4B0H4B
0000
0H3B0H3B0H3B0H3B
0000
0H2B0H2B0H2B0H2B
84848484
0H1B0H1B0H1B0H1B
144144144144
0H0B0H2B0H2B0H2B
24242424
360360360360

おわりに

 表の作成及び集計はExcelを使いました。

 使える道具は全部使えってばっちゃが言ってた。

参考文献

[1]
DONALD E.KNUTH, The Computer as Master Mind, https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/knuth-mastermind.pdf
投稿日:2022324
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

あーく
あーく
107
191626
使える数学、面白い数学の分かりやすい解説を心がけています。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中