意外と当たる「全出し」の確率

こんにちは、さしみです。素数大富豪プレイヤーの皆さんは、最初に配られた11枚を並べて「全出し」したことや、切り札を出した数枚で知っている素数が作れず「勘出し」したことはありますか? 今回は、適当に選んだ数が素数である確率をもとに、1001チェックまで行った場合なども含め素数大富豪で勘出しが成功する確率を紹介します。実際の立ち回りでの考え方についても触れていきたいと思います。

 

先行研究

「全出し」とは、冒頭に述べた通り素数大富豪において持っているカードを全て使って数を出すことで「勘出し」とは、より広く、素数かどうか知らないカードの組み合わせを出すことです。タイトルではより浸透している全出しを用いましたが、この記事は一般の勘出しに対応しています。また、HNPとは、Happy New Primeの略で、勘出しが成功し素数に「出会う」ことを指します。

 

これらに関連して、以下のような研究が素数大富豪プレイヤーのmattyuuさん、カステラさんにより行われています。後者では、経験的に初手11~12枚全出しの成功率が1割強であるとされ、その説明もついています。

https://graws188390.hatenablog.com/entry/2020/12/21/192411

https://mattyuu.hatenadiary.com/entry/2016/12/06/022138

 

勘出しの様々な状況

これまでは、初手や20枚以上持っているときに適当にカードを並べて出すという文脈での全出しに焦点が当てられてきたように思われます。しかし、実際は勘出しでの勝利をある程度狙うことが可能で、この記事ではその方法にも注目します。基本的なことについては先に説明しておきます。

 

まずは、倍数判定です。全出しをする際に2や5の倍数となるのを避けること、3の倍数を判定することについては多くのプレイヤーが行っています。それに加え、ある程度暗算の速いプレイヤーは「1001チェック」という手法を用い7,11,13の倍数判定をすることができます。これは、1001=7×11×13であることを利用するものです。例えば、105107=105×1001+2よりこれはいずれの倍数でもないことが分かります。倍数判定に関するテクニックについてはみうらさんによるこの記事が参考になります。

https://k-miura.hatenablog.com/entry/2017/05/07/人力素数判定をしよう!

 

次に、勘出しの桁数を減らすことです。素数は数が大きくなるほど現れづらくなるため、同じ枚数でも桁数が少ないほど素数になりやすくなります(下一桁に気をつけている限り、絵札が入って特定の数字の組み合わせが多くなることによる確率の変化は無視できると私は考えています)。このため、57などで手札を減らしてから全出しするのが有効な場合が存在します。これについては後で詳しく考察します。

 

勘出しの確率

本題に入ります。まずはこの表を見てください。

桁数別のランダムな数字が素数である確率、5まで、13まで、29まで(969=3×17×19、2001=3×23×29が役立ちます)の倍数判定を通った場合の確率を載せています。私は5までと13までの場合の値をよく参考にします。また、桁数は手札の枚数+絵札の枚数(Xは数札としてもよい)で求められるため、初手は14~16桁となることが多いです。

 

使い方の例を紹介します。初手で、少し不利な絵札3枚の手札11枚を1001チェックまで通した上で全出ししたとします。14桁の行を見ると、16.6%と6回に1回もHNPできる、と読み取れます。あるいは、知らない数札5枚出しが残って、念入りに29までの倍数判定をしたとすれば、あがれる確率は約6割です。

 

さて、これらの値を見て皆さんはどう思ったでしょうか。意外と多い、あるいは確かにこれくらいはHNPできる、いろいろあると思います。私は、ここで出てくる確率を高いと思っており、特に1001チェックができる場合についての全出しに希望的な戦略を取ることが多いです。もし同じように思った方がいましたら、ぜひこの確率を意識して積極的に全出ししてみてください。

 

補足として、厳密には同じ桁数でも大きさによって素数の割合は変わるので、素数なら上がれる場合は絵札やAを先頭にしておくと少し有利です。

 

また、5までの判定は素数率3.75倍と大変お得ですが、1001チェックはさらに1.39倍とそこそこ、その後は2つ面倒なチェックを通して上がるのは1.21倍とコスパが悪くなっていきます。その後はものすごく計算が速くて97まで判定できてもさらに1.31倍にしかならないのは面白いですね。暗算が速い人が適度に強いのはバランスが良いと思います。

 

理論

上の表をどうやって作ったかについても解説しておきます。少し難しい話になるので飛ばしても問題ありません。

 

まず、素数の割合については既知の値を参照しました。n桁にはn-1桁以下を含んでいないので、よく知られた表より若干低くなっています。また、全く倍数判定をしない場合に限り、下一桁が偶数や5でない確率が素数大富豪では6/13と大きくなっていますが、ここでは補正せず1/2としています。

 

倍数判定については、素数pの判定を行うと素数の割合がp/(p-1)倍されます。これは、判定の前後で素数とみなされる素数の数は変わらない一方で、母数のうち1/pが脱落するためです。実際、プログラムを書いて検証したところ、7桁までの1001チェック通過という条件で、表から計算される割合と実際の割合はほぼ一致(差は0.1%以下)していました。

 

ところで、数が大きいほど素数が少なくなるという性質については、素数定理によってより詳しく述べられています。これは、素数の割合が、数の大きさの対数の逆数に比例するというものです。これを応用すると、倍数判定をしない場合の素数率が(2.3×桁数)個に1つであるという近似が作れます。これで、表にないものは、例えば20桁なら1/46(1001チェックをすれば5.2/46は1/9程度)というように簡易的に求めることができますね。

 

戦術

ここまでで、最低限紹介したかった確率は挙げることができました。これらを頭の片隅に入れておくだけでも、ここぞというときにHNPを狙いやすくなると思います。ここから検討するのは、特に知っている素数が少ない人、運ゲーを恐れない人向けの、貪欲に勝ちを狙う実戦的な戦術になります。ただ、私の現在のプレイスタイルに偏った内容になってしまった気がするので、飛ばしても大丈夫です。

 

まず、同じ初手の全出しでも、絵札の枚数によって失敗時の強さだけでなく、そもそもの成功率も変わってくることは分かると思います。このことから、先に述べた通り、手札を必要以上に増やすことなく、ときにはできるだけ減らしてから全出しする戦略が有効となる場合があります。

 

絵札2枚を含む11枚の初手、ジョーカーはなく和が3の倍数ではない場合を考えましょう。手札を25枚にしても絵札の枚数で勝ち切ることは難しそうですね。使いづらい5や6が重なっているなどで知っているオバケや多枚出しも揃う可能性が低そうとします。さて、ドローして全出しするのが最適解でしょうか。

 

もちろん場合によります。ブラフが出せて相手が引っかかりそう、そもそも相手が7枚出しを知らないなどイレギュラーな勝ち筋もあるでしょう。しかし、相手が強ければ強いほど有力なのは、ドローしないで全出しすることです。

 

なぜでしょうか。13桁の数を1001チェックまで通して素数となるのは17.9%と、即勝ちにしては高い確率です。これを1枚引いて14桁としてもあまり変わらないように感じるかもしれませんが、和が3の倍数、つまりどう並び替えても3の倍数の組み合わせになる危険があるのです。これは平均すると1/3ほど起こるので、全出しの成功率は約11%まで落ちることになります。かなり違いますね。

 

とはいえ、11枚全出しは次のターンにドローできても23枚と、通常の25枚に比べ札が少ないため不利になります。これでギリギリ多枚や合成数が揃わないことも結構多いようです。全出し失敗時の勝率が1割以上変われば、上のHNPの確率の差は覆されてしまいます。いくら不利でも25枚あればチャンスを作れる、という方は素直に毎回12枚全出しをするのが良いのかもしれません。

 

一応もっと手札を減らすのが有力な場合も考えられます。例えば、上手いカードの組み換えが間に合わず1001チェックできない、という場合は思い切ってグロタンカットで時間を稼ぐのも一つの手でしょう。先ほどと同じ条件なら、13桁から11桁に減る効果もあり、12.9%から21.2%という差があります。

 

ところで、勘出しはなにも初手だけで行うものではありません。手札が20枚以上あって、強力な切り札を抱えているのに、残りのカードで知っている素数を作れないという場面はよくあると思います。そのような場合にとりあえず手札を減らしつつ倍数判定を行い、残りを勘出しするというのは有効です。もちろん、4~6枚の素数を覚えていてそれを最後に出せる、という場合には大きく劣ります。それでも、ただで手番を渡したらやられる、と思ったら挑戦する価値はあるでしょう。

 

もし相手に手番を渡してしまっても戦えそうな場合は、余っているカードを先に勘出ししたり、10→10→4などの最初の10枚だけを勘出しにしたりするのも強いです。というか、こちらの方がリスクが少ないので慣れれば有力でしょう。不確定なものを先に出してしまうことで、失敗しても手元に戦える手札を残せるわけですから。この北大素数大富豪同好会さんの記事の(8)にも書いてありますね((5)の全出しについてなども参考になります)。

https://prime-hu.hatenablog.com/entry/2020/05/25/203419

 

この辺はまだ研究しきれていないので、上手い立ち回りを思いついたらぜひ発表してください。

 

まとめ

いかがだったでしょうか。誰もがどこかですることになる「勘出し」に、中でも慣れてきたプレイヤーが初手にする「全出し」ですが、具体的な確率はあまり意識していない人もいたのではないかと思います。この記事を読んで、感覚でもいいので「当たれ18%!」とか「かわせ5割!」とか数字を思い浮かべられるようになったら、素数大富豪の楽しみ方が少し広がるかもしれません。

 

また、個人的な全出しの戦術についても語りましたが、もっと良い立ち回り、各人に適した立ち回りがまだまだ見つかるはずです。理論派の方には、ぜひこれを参考に研究を進めて、記事などで発信していただければ幸いです。

 

それではまた次の記事で!