これからは4枚出しの時代だ!~4枚7桁のすゝめ~
この記事は、素数大富豪 Advent Calendar 2017 - Adventar 4日目の記事です。
昨日はキグロさんによる素数大富豪小説が誕生するまで:呟きの補集合 - ブロマガでした。これは読むしかない...!
素数大富豪MathPower杯で突然優勝してしまいました、もりしーと申します。
本日は、私の好きな4枚出しの中でも特に好きな、4枚7桁(と4枚8桁)について、確率論的な考え方と戦法に関することを交えて語っていきます。
なお、この記事は、11月17日の記事
の後編も兼ねております。併せて参照いただければと思います。
そもそも4枚出しは難易度が高い!
素数大富豪 wiki*1によると、1枚出し素数6個、2枚出し38個、3枚出し338個と、ここまでなら数字が好きかつ暗記が得意な人なら覚えられなくはない範囲でしょう。しかし4枚出しはなんと3330個です。かなり無理があります。つまり、各々が覚えやすい覚え方でレパートリーを増やしていくしかないということになります。現に、偶数消費型、数列、語呂合わせ、四つ子素数など様々な覚え方は研究されていますが、4枚出しを完璧にマスターしている素数大富豪プレイヤーが存在しうる可能性は非常に低いと考えます*2。もちろん私もマスターには程遠いです。
逆に言えば、4枚出しを中心に効果的な戦略を組み立て、ある程度勝ちパターンをつかんでしまえば、現状の素数大富豪ではかなり強くなれるのではないかという仮説が立てられるわけです。
4枚7桁を推す理由
CPU対戦で素数大富豪を始めてしばらくした頃に、4枚7桁以上を出すとそれ未満に比べてかなり高確率で手番が取れるような気がしていました。これが私の4枚7桁研究の発端です。4枚8桁は言わずもがな強いのですが、絵札*3を4枚も消費する必要があり、高コストです。7桁も絵札3枚と、コストは決して低くありませんが、コスト対効果で優れているような気がしたのです。枚出しにおいて(特にのとき)、枚桁は総合的に強いと考えました。(ただし5枚出し以上の場合、絵札を必ず4枚以上消費するのでコストの上昇が著しくなります)
あくまで感覚的な理由ですが、これを確率論的な証明に近づけたいと考えたのが、この記事を書くことに決めたきっかけです。
持ち札における1桁/絵札の割合
素数大富豪では、54枚のトランプのうち11枚が1人のプレイヤーに配られます。Aから9を1桁カード、10、J、Q、Kおよびジョーカーを絵札カードとすると、トランプの54枚は1桁カード36枚、絵札カード18枚に分かれます。初期手札において、1桁と絵札それぞれのカード配分の確率分布を示したのが表1です。*4
表1 素数大富豪の初期手札の1桁/絵札構成比の確率分布
一番確率が高いのが7枚/4枚で、ほぼ同率で続くのが8枚/3枚です。11枚の手札が配られたとき、約50%はこの2パターンになることがわかります。
また、すべて1桁カードになる確率はかなり低いことと、絵札が6枚、7枚来ることが案外珍しくないのにはやや驚きました。
4枚7桁最大素数9131011はどれくらい強い?
・自分の手札は1桁8枚/絵札3枚で、9、10、J、Kが含まれている
・ドローが行われない
・合成数出しが行われない
・革命が起こらない
以上を条件Aとし、この条件下で試合が進行していたとします。この場合、相手の手札の1枚/絵札構成比の確率分布は表2のようになります。*5
表2 条件A下における、相手の初期手札の1枚/絵札構成比の確率分布
自分の手札が絵札3枚(標準やや少なめ)なので、相手に回る手札は表1よりも若干有利になります。
この試合中に、自分が9131011を勝負手(これで手番を取れれば勝ち確な手)として出した場合を考えます。相手の手札について場合分けをしましょう。
(1) 相手の絵札が3枚以内の場合
相手は多くても3枚の絵札しか持っていないので、9131011以上の素数を持ち札で作ることは不可能です。よって、表2の11枚/0枚から8枚/3枚までを足して、この時点で少なくとも40.99%の確率で上がることができます。
(2) 相手の絵札が4枚の場合
次に、相手に絵札が4枚ある場合を考えます。絵札が4枚あったとしても、4枚8桁が作れない場合は多々ある(10、10、Q、Qのときなど)ため、4枚8桁を作れる場合の数を考えます。
4枚8桁がつくれる絵札は以下のパターンに分けられます。
※10→T、ジョーカー→Xとします。
のように、ジョーカー以外の数字4種類が1つずつある場合(1通り)
のように、数字3種類でどれか1種類がダブっている場合(3通り)
のように、数字2種類で片方が3個ある場合(2通り)
のように、数字3種類とジョーカーの場合(4通り)
のように、数字2種類とジョーカー1枚の場合(6通り)
のように、数字2種類とジョーカー2枚の場合(6通り)
のように、数字1種類とジョーカー2枚の場合(3通り)
のように、数字1種類とジョーカー1枚の場合(2通り)
以上、計27通りについて場合の数を調べ、それを全事象で割るという方法で、4枚8桁を作れる確率を求めました。
細かい計算は割愛しますが、14.72%という数字が出てきました。
よって、絵札が4枚の28.10%のうちの85.28%、つまり23.96%は4枚8桁が作れないということになります。
ここまでで、9131011に返されない確率は、40.99%+23.96%=64.95%となりました。
(3) 相手の絵札が5枚の場合
続いて5枚です。絵札が5枚にもなってくると、4枚8桁が作れる可能性のほうが高くなりそうだなという推測から、4枚8桁を作れない組み合わせを考えました。
長くなるのですべて省略しますが、2.65%という数字が出ました。
よって、絵札が5枚の19.67%のうちの2.65%、つまり0.52%は4枚8桁が作れないということです。(想像以上に少なかったので見逃しないかな...?)
ここまでで9131011に返されない確率は、64.95%+0.52%=65.47%です。
ここで厳密には絵札6枚以上の場合も検証する必要がありますが、絵札5枚の時点で確率の増加がほとんどなくなったことや、そもそも絵札6枚以上になる確率が低いので、そうなったら相手の手札が良すぎるから100%返されてしまうものとして考えてしまいましょう!ここは大雑把に!!
以上、(1)~(3)より、上述の前提条件下において9131011を勝負手として出した場合、相手が計算万能なCPUだとしても、少なくとも65%の確率で上がれることになります。
70%の大台に乗らなかったので若干地味になってしまいましたが*6、ソフト〇ンクと同じくらいは強いのです。*7
なお、条件Aが、「(絵札枚数的に)9131011を出せる中で最も不利な条件」で65%なので、仮に自分の手札に条件Aよりも絵札が1枚多くあるだけで、上がれる確率はおおよそ72%以上になります。*8
4枚出し戦法について
さて、ここからは、4枚7桁の実践での使い方を例を挙げて述べていきます。
基本パターンは、自分が先手の場合に有効です。11枚の手札を、
受け手(相手に出させる手札):4枚
勝負手(相手を抑える手札):4枚
上がり手(残りの手札):3枚
の3つに分けます。
例1:14466788TJQ
奇数3枚、絵札3枚とだいぶ厳しめです。手札を分けて素数を組んでみましょう。
受け手:8641・・・「はむしい」と呼ばれるあれです。
勝負手:8QTJ・・・偶数消費型の4枚7桁。使い勝手が非常に良い。
上がり手:647
最低でも奇数カードが3枚あればこの戦法をとれます。この手札であっても、先手であれば、CPUに6割以上の確率で勝てるでしょう。
例2:1124569TQQK
受け手:4561
勝負手:9QQK
上がり手:T21
絵札4枚ですが、4枚8桁を作れない組み合わせなので9QQKを作ります。絵札に余裕がある場合は、なるべく上がり手の方に残しておいた方が、返されたときに対処しやすくなるのでよいと思います。
例3:22489TTJJQK
受け手:8TT9
勝負手:KJQJ
上がり手:4=2^2
リッチな手札です。4枚8桁最強が作れるのでそれを基準に組んでいます。受け手の時点で6桁!
4枚出し戦法のここがいい!
・絵札が3枚あれば十分実用に値する
・7桁以上で、かなり強い勝負手になりうる
・偶数が多くても大丈夫
・先攻でかつ素数を組みきれた場合かなり有利
4枚出し戦法のここがダメ!
・後攻の場合、先攻時の強さに比べてかなり不利
・それなりに素数を覚えていたとしても、初期手札だけで素数を組みきるのは案外難しい
・勝負手に返された場合勝つのが難しい
以上をみればわかる通り、ややハイリスクハイリターンな戦法とはなりますので、現状、初心者にはあまりおすすめできません。ただ、慣れれば強いはずですので、有志の方は4枚出しに是非とも挑戦してもらいたいですね。
私は今まで試合をする際に、
「勝負手を出す場合、相手がそれに返せる手札を持っている(あるいはそのような素数を知っている)確率がどれくらいあるか」
を意識していました。相手の実力と、その時その時の手札や場の様子を鑑みて、自分の出す手を決めています。特に対人戦の場合は試合を決定づける要素があまりにも複雑で、数値で表すことの難しい事象ではありますが、今回の検証で得られた「9131011は65%上がれる」という数値は、その一つの側面を表す指標になるのではないかと考えます。これを土台に、4枚出しの議論がさらに深まれば幸いですね。
最後に、愉快な4枚7桁(百万の位が2以上)と4枚8桁の仲間たちを紹介します。覚えたい人や好きな素数見つけたい人はぜひ!*9
4枚8桁
4枚出し最強素数。
(下位互換除いて)唯一10~13をすべて使う
12を3枚使えるので覚えやすく便利
4枚7桁
言わずもがな4枚7桁最強
3の倍数を効率よく消費できる
4枚7桁唯一の双子素数。偶数消費型
偶数消費型で13を使わなくて済む上、比較的強い
7に111213をつなげる。覚えやすいので4枚7桁入門に最適。
5と12を使える
同じカードを3枚使う唯一の4枚7桁
上位互換がありますが、こちらの方が覚えやすいので採用。111213の前に付けられるのは1、4、7です。
10を2枚使う唯一の4枚7桁
さて、明日はicqk3さんによります、素数大富豪cpuの出す手の分析です。私自身、CPU戦は素数大富豪にはまるきっかけになったものなので、とても楽しみですね!
*1:
素数大富豪素数の一覧/1~4枚出し | 素数大富豪 Wiki | FANDOM powered by Wikia参照
*2:もしかしたら、数字を何百桁何千桁も暗記できるような人が素数大富豪界にお見えになるかもしれません。それはそれで楽しみではあります。
*3:ここでは、10、J、Q、Kおよびジョーカーのカードを指す
*4:をn=0から11について計算。
*5:をn=0から11について計算。
*6:当初、諸々の間違いで69.61%という数字が出ており、予想通りの70%だ!!すごい!!とテンション上がっていましたが、後から詰めの甘さに気づき計算をやり直したという経緯があります。笑
*7:2017年プロ野球パ・リーグの福岡ソフトバンクホークスの勝率が.657
*8:ほとんど相手の初期手札構成比の確率変動に依存するようです。
表3 (参考)条件Aのうち、自分の手札を1桁7枚/絵札4枚に変えた場合の相手手札の構成比の確率分布(絵札3枚以内の場合)
*9:一部例外を除き、下位互換は省略