(株)カプロラクタム-blog

果たしてココは何処なのだろうか・・・
否!ココは(株)カプロラクタム代表取締役兼社員αのweblogである!

数字当てゲームの考察 その2

2015年12月28日 | 重禾
前回に引き続き、数字当てゲームの考察をしていきます。基本ルールは以下の通りです。
ちなみに、また結論先送りなので悪しからず(笑)

①親が0~9の中から4桁の数字を予め決める。(同じ数字はなし、千の位0もあり)
②子がその数字を予想して当てる。
③親は1手ごとに数字があればヒット、数字と桁(場所)があっていればペアという評価を与える。
課題:4ペアにできるまでの最短手数(評価を踏まえ、最善を尽くした手数の上限)を考える。


前回は、数字の種類が0~3の4種類、正解の桁が2桁までを検証し、最善を尽くせば少なくとも3手までに正解を導けることが証明できました。
また、2手目に正解の可能性がない手を選ぶことは悪手(遠回りになる)であるという仮説も生まれました。もう少し詳しく言えば、例えば1手目に選んだ2数の中に1つだけ正解の数字がある(1ペアまたは1ヒット)と評価されたのに、2手目でそれを並びかえただけの手や、初手で選ばなかった2数字を選ぶことを指します。これを「悪手仮説」と定義しましょう(笑)
そこで今回はもう一歩進め、0~4の5種類、正解の桁2桁を検証してみます。
これは初手20通りなので何とか考え切れるだろう(笑)と言う安直な見込みと、最終的に求めたい10種類4桁の丁度半分であることから、ゲーム性を探るのに一番良いと判断したためです。
ちなみに4種類2桁は初手12通りでしたが、4種類3桁に発展させると初手24通りと倍になってしまいます。桁を増やすのは難易度を倍増させると言えるでしょう。10種類4桁は何と初手5040通り。先が思いやられますね・・・
(<例1>から<例3>を参照することがありますから、前回も合わせてご覧ください。)

<例4>
5種類(01234)、正解2桁、「01」の場合(評価ごとの場合分けで検証)
◎1手目の組み合わせ・・・20通り
2ペア・・・・01(1手で終了)
2ヒット・・・10(2手で終了)
なし・・・・・23、24、32、34、42、43・・・(1)で検証
1ペア・・・・02、03、04、21、31、41・・・(2)で検証
1ヒット・・・12、13、14、20、30、40・・・(3)で検証
(1)なしの場合・・・初手23とし、評価なしを踏まえての2手目は6通り。さらに評価で場合分けすると、
2ペア・・・・01(2手で終了)
2ヒット・・・10(3手で終了)
1ペア・・・・04、41(4手で終了)
1ヒット・・・14、40(4手で終了)
※前回<例2>で行った3種類、2桁の考察がそのまま当てはまる。
※初手24、32、34、42、43についても<例2>と同様になるため、(1)の結論は上限4手である。
(2)1ペアの場合・・・初手02とし、評価1ペアを踏まえての2手目は19通りあるが、さらに「悪手仮説」を踏まえ、2手目に0か2はどこかに必ず使うことにすると、以下の12通りに絞られる。
2ペア・・・・01(2手で終了)
2ヒット・・・10(3手で終了)
なし・・・・・23、24、32、42(4手で終了)※<例2>より
1ペア・・・・03、04、21(以下の検証により4手以内で終了)
 03の場合、0の場所が正しいと仮定すると01か04の2通りに絞れるので、4手。2の場所が正しいと仮定すると0は使わないことになり、2手目の3の場所と矛盾。よって4手。
 04の場合、03と同様に考えて4手。
 21の場合、0の場所が正しいと仮定すると01が確定し、3手。2の場所が正しいと仮定すると2手目の1の場所と矛盾。よって3手。
1ヒット・・・12、30、40(以下の検証により4手以内で終了)
 12の場合、0の場所が正しいと仮定すると01が確定し、3手。2の場所が正しいと仮定すると2手目の2の場所と矛盾。よって3手。
 30の場合、0の場所が正しいと仮定すると01か04の2通りに絞れるので、4手。2の場所が正しいと仮定すると0は使わないことになり、2手目の3の場所と矛盾。よって4手。
 40の場合、30同様に考えて4手。
※初手03、04、21、31、41の場合も同様の考えを辿ることで、(2)の結論は上限4手であると言える。
(3)1ヒットの場合・・・初手12とし、評価1ヒットを踏まえての2手目は19通りあるが、さらに「悪手仮説」を踏まえ、2手目に1か2はどこかに必ず使うことにすると、以下の12通りに絞られる。
2ペア・・・・01(2手で終了)
2ヒット・・・10(3手で終了)
なし・・・・・23、24、32、42(4手で終了)※<例2>より
1ペア・・・・02、31、41(以下の検証により4手以内で終了)
 02の場合、0の場所が正しいと仮定すると01が確定し、3手。2の場所が正しいと仮定すると2手目の2の場所と矛盾。よって3手。
 31の場合、3の場所が正しいとすると1は使わないことになり、1手目の2の場所と矛盾。1の場所が正しいとすると、01か41の2通りに絞れるので、4手。
 41の場合、31と同様に考えて4手。
1ヒット・・・20、13、14(以下の検証により4手以内で終了)
 20の場合、1の場所が正しいと仮定すると01が確定する。2の場所が正しいと仮定すると2手目の0の場所と矛盾。よって3手。
 13の場合、1の場所が正しいと仮定すると01か04の2通りに絞れるので、4手。2の場所が正しいと仮定すると1は使わないことになり、2手目の3の場所と矛盾。3の場所が正しいと仮定しても同様に矛盾。よって4手。
 14の場合、13と同様に考えて4手。
※初手13、14、20、30、40の場合も同様の考えを辿ることで、(3)の結論は上限4手であると言える。
以上から、5種類2桁の場合の最短手数は4手である。


ここまでやると、何となく法則性が見えてきました。
検証中、同じような考えの文章を使い回していることからも察しが着くと思いますが、「悪手仮説」を用いると飛びぬけて困る結果は飛び出さず、実にすらすらと解法に向かうことができるのです。考える組み合わせを減らせたと言う利点も大きいですね。
あと、やはり運が良い場合は短くなりますが、運が悪い場合でも飛びぬけて手数がかかることはなく、大体同じ手数に集約することも分かってきました。まさに上限なのかもしれません。
つまり、運が最悪で「常に悪い評価」のみ考えていけば、他の「ちょっと良さそうな評価」は上限に集約するかそれ以内に収まり、最早考えるまでもないということです。これは検証の手間を大幅に減少させることができる発見です。
この場合の「運が悪い評価」は、「最も出やすい評価」と同義であると推測できます。
5種類2桁で言えば、初手なしが6通り、1ヒットが6通り、1ペアが6通りで、いずれも上限は4手でした。
4種類2桁の時は、<例3>の通り1ヒットが4通り、1ペアが4通りで、いずれも上限は3手でした。
このまま一般化するのはまだちょっと乱暴な気もしますが・・・
最終目標の10種類4桁の場合、「最も出やすい評価」は1ヒットの1440通りになるようです。
まだまだ気が遠くなりますが(笑)初手の総数が5040通りだったことを思えば3分の1以下に減らせてますよね。

では次に、「悪手仮説」は本当に悪手だったのかも検証してみます。
例えば初手02で1ペア、2手目でその2数を使わず13で1ヒットという評価を得た場合を考えてみます。
4種類2桁の場合、3手目に01か32の判断がつかず4手となってしまうのは明らかに悪手でした。
しかし今回(5種類2桁)の場合、2手目で「4は使用しない」という裏の結果を得ることができるので、01か32に絞れたことは手が遅くなっていません。
例えば初手12で1ヒット、2手目30で1ヒットでも、同様に上限4手になります。
初手12で1ヒット、2手目34でなしだった場合も、0が確定できるので01か20に絞れ、4手です。
ただし、1手目に1ペアや1ヒットした2数字をいずれも使わないというのは、2手目で正解する可能性を確実に自ら潰しているので、悪くはならないにしても良くもならないことは間違いないでしょう。<例4>の考察のように「悪手仮説」を使用して手を選んだ場合、2手や3手で正解することも稀ですが可能でしたからね。期待値と言う意味ではやはり悪手だと言えると思います。今は上限を考えていますが、そもそも早く正解することがこのゲームの最大の目的なので、期待値は見逃せません。
もちろん、初手12で1ヒットに対し、2手目で逆にしただけの21では何も実りもなく大悪手です。「1手目に1数字の存在しか分からなかったのに、その数字を並び替える組み合わせ」だけは完全に除外して構わないでしょう。
これを10種類4桁に応用すると、例えば1234で1ヒットだった場合、4321なんて手は大悪手で、5678は悪いとはいえないけど僅かに存在する2手目正解の可能性を逃していると判断できるので最善手ではなく、少なくとも例えば1の使用を仮定し5671などと攻めて行く姿勢が正解に近づく(期待値が高い)と考えられます。「でも1が正解かどうか判断できないのでは?」と思われるかもしれませんが、それは今後の評価の検証次第で何とでもなると言うのが自分の考えです。と言うか、自分がこのゲームをやる場合はいつもそういう攻め方をしますからね(笑)それでアベレージは7、8手ぐらいですから、飛びぬけて悪くならない「悪手仮説」を使えば、経験上10手以内で行ける気もしてきました。

最終的には上限と種類や桁数に何らかの法則性を見出せると良いのですけど・・・今回の結果を踏まえると、種類が1増えると手数が1増えるというのはありそうですが、まだ何とも言えません。次はいよいよ桁を増やしてみるか・・・
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

数字当てゲームの考察 その1

2015年12月28日 | 重禾
5年前にやったネタですが、今年再び教室で流行らせたので(笑)マジメに考察してみようと思います。
先に断っておきますが、この更新では答えは出ていませんし、今後出る保証もありません(笑)

ちなみにルールは以下の通りです。
①親が0~9の中から4桁の数字を予め決める。(同じ数字はなし、千の位0もあり)
②子がその数字を予想して当てる。
③親は、数字があっていればヒット、数字と場所があっていればペアと言う。
④10回目までに4ペアにできれば子の勝ち。


最初は15回ぐらいかかっていた子ども達も、慣れてきたのか結構早く当てられるようになってきました。10種類の中から順列組み合わせて4桁ですから、これ無作為にやると最悪5040手もかかるのですよね(笑)しかし、1回1回ヒントを吟味にしていくことで、体感で10手ぐらいなら5分5分の勝率になるようです。運が良いと5040分の1の確率で1手で4ペア揃い終了となるわけですが、もし運が最悪の場合でも、ちゃんと考えて最善を尽くしたら理論上何手までで終了できるか、その上限はおそらく存在するはずです。この場合の上限とは、期待値ではなく「最も答えにくい評価を与えられ続けた場合に最善を尽くした最短手」なので、ひょっとしたら10手よりも相当かかってしまうのかもしれません。

例えば正解が0123の時、子が1230と言ったとします。
これは4ヒットとなり、1手目としては最上位級のラッキーな現象です。
しかし、場所の手がかりが「今の場所ではない」という情報しかないので、場所を確定させるのにはどうしてもあと3つの場所を1つずつ試す必要があり、初手も合わせて上限は4手と言うことになります。期待値で言うと平均3手で当たりますが、いくら理詰めでやっても運が悪いと4手かかる場合は、やはり上限は4手だと言わざるを得ません。ちなみに1手目4ヒットが起きる確率は千に一つ程度ですから、そんなラッキーが起きても4手はかかってしまうわけです。このゲームを4手で終了できた場合は「よく考えたね」と褒めるより宝くじを買いに行くことをお勧めするでしょう(笑)ましてや初手が「1ヒット」だとしたら、その後かなり苦戦を強いられることは経験上誰もが思うところですね。もしかしたら最悪で15手くらいかかってしまうのかもしれません。5040通りの数を15回も選ぶ作業の検証なんて、コンピューターでも使わない限り無理ですね(笑)まあ、上限が4手だと確認できたので、もし1手目に4ヒットが出たのに5手もかかるのは「あなたは最善を尽くしていない」と断言できるわけですけど。
そこで、何か良い方法はないか、この冬休みに少しずつ最短手数を考えてみることにしました。
まずはゲーム性を整理してみることにします。

<ゲーム性の理解>
・選ばれる数の種類・・・10通り(0123456789)
・正解の数の桁・・・4桁
・同じ数字は使わない。千の位が0もアリ。
・1手目の順列組み合わせ・・・10P4(パーミテーション10の4)=5040通り
・1手ごとに選んだ4桁の数に対して、数字と場所が合えば1ペア、場所は違うが数字が使用されていれば1ヒットとし、「1ペア1ヒット」などの評価が与えられる。(言い方は一様でなく、地域によってイート、バイトなどと表現することもあるが評価の意味は同じ)
・最終的に、最短で4ペアを目指すゲームである。
・この場合の最短とは「運が最悪を辿った場合、最善を尽くした手数の上限」である。
・無作為に行くと5040手かかるが、これは上限ではない。
・与えられた評価を参考にし、次の手に最善を尽くすことが重要であると考える。
・例えば1手目で4ヒットなら、2手目以降に他の数字を試す必要はなく、上限は4手である。ただしこれはかなりラッキーで、早い部類だと考えられる。
・0を使わない9種類、3桁の場合でも初手504通りもあり、検証が難しい。
・半分の5種類、2桁なら初手20通りなのでいけるかも?
・とりあえず、もっと極端に減らして法則をつかむことを優先する。

<例1>
2種類(01)、正解2桁、「01」の場合(ゲーム性が存在する最もシンプルな条件での検証)
◎1手目の組み合わせは、01か10の2通りしかない。
(1)運が良く1手目01ならば2ペアとなり、1手で終了。
(2)運が悪く1手目10ならば2ヒットとなり、次の2手目で01が導ける。
即ち、組み合わせが2通りの場合の上限は2手である。

<例2>
3種類(012)、正解2桁、「01」の場合(総当りで検証)
◎1手目の組み合わせは、01 10 02 21 12 20 の6通り 
(1)1手目01ならば2ペアとなり、1手で終了。
(2)1手目10ならば2ヒットとなり、2は使用しないことが分かり、次の2手目で01が導ける。
(3)1手目02ならば1ペアとなり、残った1の使用が確定する。
 また0か2のどちらかの場所は確定しているので、2手目は01か12の2通りとなる。
 即ち、3手かかる。※<例1>より
(4)1手目21ならば1ペアとなり、残った0の使用が確定する。
 また2か1のどちらかの場所は確定しているので、2手目は01か20の2通りとなる。
 即ち、3手かかる。
(5)1手目12ならば1ヒットとなり、その瞬間0の使用が確定する。
 また1か2のどちらかが逆なので、2手目は01か20の2通り。
 即ち、3手かかる。
(6)1手目20ならば1ヒットとなり、その瞬間1の使用が確定する。
 また2か0のどちらかが逆なので、2手目は01か10の2通り。
 即ち、3手かかる。
 よって、上限は3手である。


1手目はどうしても無作為に行くしかありませんが、その結果を踏まえて2手目からは任意に数字を選ぶことで、どんな場合でも少なくとも3手で終われる事が分かりました。
しかも、1手目の結果が同じ評価の場合、2手目は数字が違うだけでその考え方は全く一緒であることも分かりました。
これは、数をA、B、Cとし、正解の1桁目をM、2桁目をNとした場合、例えばM=A(1ペア評価)ならばM≠B、Cなので、BもCも差がないためだと考えられます。
そこで、次はもう1種類だけ増やし、評価ごとに場合分けして考えることにします。

<例3>
4種類(0123)、正解2桁、「01」の場合(評価ごとの場合分けで検証)
◎1手目の組み合わせ・・・12通り
01 2ペア(1手で終了)
10 2ヒット・・・(1)で検証
23  なし・・・(2)で検証
32  なし
02 1ペア・・・(3)で検証 
03 1ペア
21 1ペア
31 1ペア
12 1ヒット・・・(4)で検証
13 1ヒット
20 1ヒット
30 1ヒット
(1)2ヒットの場合
 並び方が違うだけなので、2手目で2ペアが確定する。即ち2手。
(2)なしの場合
 その瞬間残った2数字の使用が確定するが場所が不明なので、2手目は01か10の2通りとなり、3手。
(3)1ペアの場合・・・1手目は「02」とし、評価1ペアを踏まえての2手目は次の11通り
01 2ペア(2手で終了)
10 2ヒット・・・正解の逆並びだと分かるので、次の3手目で01が導ける。
03 1ペア・・・0の場所が確定する。何故なら、1手目の1ペアが2の方だった場合0は使わないことになり、03も1ペアの結果に矛盾する。同時に2と3は使わないことが分かるので、次の3手目で01が導ける。
21 1ペア・・・同様に考えて1の場所が確定し、3手
31 1ペア・・・同じ1ペアでも、今度は02、13のそれぞれどちらの場所を使用するか分からないので、4手。
23  なし・・・0と1の使用が確定する。同時に0の場所も確定するので、次の3手目で01が導ける。
32  なし・・・同様に考えて3手
12 1ヒット・・・0の場所が確定する。また1の使用も確定するので、次の3手目で01が導ける。
13 1ヒット・・・0の場所が確定する。しかし1と3のどちらを使用するか分からないので、4手。
20 1ヒット・・・結局0か2のどちらが使われているか分からないので、3手目は他の数字で試すしかない。例えば21なら4手、31なら5手となり、明らかに手が遅くなる。
30 1ヒット・・・0の場所が正しいと仮定すると2、3は使わないことになるので01しかない。2の場所が正しいと仮定すると0は使わないことになり、2と3が1桁目に来てしまい矛盾。よって3手。


・・・ここまでやって、そろそろ心が折れてきました(笑)
1手目で1ペアだった数字はあと3つありますが、それぞれに対して2手目の11通りをぶつけていくのは大変すぎます。そもそも、1手目02の時点で1ペアが確定しているのに、それを無視して2手目に20を選ぶ手は明らかに最善から遠ざかっていますよね。また、1手目に使わなかった2数(13、31)を2手目に選ぶ場合は4手かかり、これも全体で見ると1手マイナスとなっています。これらは囲碁・将棋で言う悪手ということになりますね。
 以上から、2手目は無作為でなく、最善の手を任意で選ぶ必要があることが分かります。
 まとめると、1手目に1場所が確定した場合は、そのどちらかの数を2手目に組み込むことで、最短3手で分かると言えるでしょう。遭えて遠回りする必要はないのですから。
というわけで、残りの03、21、31の場合も、同様に考えれば全て3手以内であると考えられ、「1手目1ペアだった場合の上限は3手」だといえるでしょう。

(4)1ヒットの場合・・・1手目を「12」とし、評価1ヒットを踏まえての2手目は次の11通り
しかし、(3)の結果を踏まえ、いくつかの候補は手数が確定できる。
01 2ペア(2手で終了)
10 2ヒット(3手)
23  なし(3手)
32  なし(3手)
02 1ペア(3手)
31 1ペア(3手)
そして、次の3つの候補は手を遅らせることが確定なので、選ばないことで対処する。
03 1ペア(4手)・・・初手で選ばなかった2数字は使用しない
30 1ヒット(4手)・・・初手で選ばなかった2数字は使用しない
21 1ペア(6手)・・・初手を並び替えただけの2数字は使用しない
そこで、残った2つについて検証する。
13 1ヒット・・・初手1の数字を正しいと仮定すると、1の場所が決まり3と2は使わないことになるので01しかない。初手2の数字を正しいと仮定すると、1は使わないことになり、2と3が2桁目に来てしまい矛盾。2手目3の数字を正しいと仮定すると、同様に矛盾。よって3手。
20 1ヒット・・・2は使用しないことが分かるので、01が確定する。よって3手。
以上から、最短3手であると言える。


13、20、30の場合も、同様に考えれば3手であると言えるでしょう。
まとめると、1手目の結果を踏まえて明らかに手が遅くなる組み合わせを避けることで、この条件下での上限は3手であると言えます。手が遅くなる組み合わせとは以下の2つ。
・2手目に初手を並び替えただけの手
・2手目に初手で選ばなかった2数字を使った手

これら2つの悪手に共通する要素は、いずれも「2手目に正解の可能性が0の手」であると言えます。
ちなみに、この「悪手の法則」を無視し、例えば以下のような最悪を辿ると6手となってしまいます。
20(1ヒット)→02(1ペア)→13(1ヒット)→31(1ペア)→32(なし)→01(2ペア)
それでも無作為に選ぶ場合の最悪の12手よりは早いですけど、こんな答え方をしていた子どもがいたら、流石に遠回りだろうと言わざるを得ません。まあ、数の種類や桁が増えると悪手だとはまだ断定できないので、一応現段階では「悪手の仮説」としておきますが、やはりゲームですから2手目も「当てに行く」姿勢が大切なのは直感的にも正しいのではないかと思います。
また、<例2>から数字の種類を1つ増やしたので上限は4手に増えるのかと思っていましたが、いつでも3手以内で答えられると分かったのは予想外でした。上限は種類に比例しているわけではなさそうです。残念・・・

次はもう少し種類増やすか、そろそろ桁を増やすか・・・どちらも大変そうだ(笑)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする