初代素数王の備忘録

KA4T6X|X=9(カステラくん)は素数。

「全出し」との付き合い方

この記事は素数大富豪Advent Calendar 2020の21日目の記事です。
adventar.org

昨日はマリンさんのoverKJQJとカードカウンティング - マリンの日記【素数大富豪】でした。後述しますがoverKJQJはその強さがために普及した現在では逆に使用が控えられている戦術です(「核抑止力」みたいなものか?)。overKJQJ復調のきっかけとなるのでしょうか。

素数大富豪はその名の通り素数を場に出していく大富豪ですが、「素数であると確証がもてない数でも場に出してよい。もし素数でなかった場合には出したカードを手札に戻し、ペナルティ(出した枚数だけ山札からカードを引く)を受ける」というルールがあります。ですから、初手でいきなり手札をすべて(11枚、ドローすると12枚)出し、それが素数であれば相手に何もさせることなく上がることができます(これを一発上がり・ワンターンキル・天和などといいます)。
もちろん、数が大きくなると素数になりにくくなるので一発上がりを狙っていきなり全出しするのはあまりおすすめしませんが……

……と笑えていたのも2018年までの話。今や全出しは大会の上位入賞のためには必須のアイテムとなりました。一発上がりの確率が突如として上がったわけではないのになぜ全出しが急増したのか、それは全出しが有用な戦術として利用できることが発見され、それが普及したからです。本稿では戦術面から見た「全出し」について述べます。

※以下、用語を濫用し全出しして失敗(素数でない)の場合も単に「全出し」と書く場合があります。

「全出し」成功の確率

初手全出しのメリットとして最初に思いつくのは一発上がりの可能性があることです。では一発上がりの確率はどれくらいあるのでしょうか。経験的には1割程度と感じます。
実はまだ2枚出しがメジャーな戦術であった2016年にmattyuuさんが調べています。
mattyuu.hatenadiary.com
この記事ではジョーカーを除いたトランプ52枚から無作為に N枚( 1 \le N \le 52)をとって並べたときにそれが素数である確率を各 Nに対して100万回のシミュレーションによって求めています。それによると11枚では3.63%、12枚では3.32%だそうです。思ったより低い値ですが、これはカードが無作為に選ばれているためカードを並べて得られる数に容易に判定できる2・3・5の倍数が含まれているからです。2・3・5の倍数を除くとすると、試行全体のうち \frac{6}{13} \cdot \frac{2}{3} = \frac{4}{13}が有効(2・3・5の倍数でない)であると期待できます。上の結果をこれで割ると11枚では11.8%、12枚では10.8%となり、経験的にも妥当な値です*1。実戦では「絵札が多ければ全出し以外の作戦をとる」*2「2・3・5の倍数以外の倍数判定もする(ほかの素数でも割れないようにカードを並べ替える)」「ジョーカーがある場合素数になりそうな数を指定することができる」「グロタンカットがある場合先にグロタンカットをして枚数を減らすことができる」などシミュレーションの状況とは異なる点がありますが、初手全出し成功の確率は8~10回に1回(10~12.5%)といえそうです。

追記(2021年1月7日):
2・3・5の倍数を除くときの試行が有効である確率を(正整数全体のうち30と互いに素なものの割合とみて)4/15としていましたが、トランプの並び替えで整数を得るのでこれは不適当でした。最下位の1枚はA・3・7・9・J・Kのいずれかでかつ3の倍数でない場合なので上記のほうがより妥当です(厳密にはこの2つの事象が独立でなかったり、3の倍数でない確率が正確に2/3というわけではないが無視した)。併せて11枚・12枚での全出し成功期待確率も修正いたしました。

第2期蝉王戦(2020年7月~11月)での実績*3を見てみると、全201勝負のうち「先手」が「初手」に全出しをしたのは72回あり、全出し成功は7回(ただし、本来の先手が時間切れで強制パスとなった直後の後手も「先手」とみなし、グロタンカットを何回か出した直後の手も「初手」とみなした)。場に何もない状態で手番が回ってきた「後手」が81回(「先手」の初手全出しで失敗した65回と全出し以外で失敗した16回)あり、そのうち全出ししたのは47回、全出し成功は6回でした。まとめると初期手札(ドローとグロタンカットをしたものも含む)からの全出しは119回、うち成功は13回(成功率10.9%)でした。どうやら実戦でもシミュレーションで得られた確率とほぼ同じ確率で全出し成功が起こるようです。

「全出し」その他のメリット・デメリット

2019年以降全出しが急増したのは全出しに上記以外のメリットが見出され、戦術のひとつとして利用されるようになったからでした。ここで全出しのメリット・デメリットを列挙してみましょう。
メリット

  • 即座に上がれる可能性がある(前述)
  • 手札の増強が図れる 全出しが失敗したときは出した枚数だけ山札を引くペナルティが課せられますが、それによって大量の絵札が引ければ相手の勝負手を潰せる可能性があります。4枚出し最大素数のKJQJを上回る合成数(overKJQJ、通称「お化け」)がその例です。また、枚数の多さで相手を封じる戦法は対策を講じていないプレーヤーに対してはその効果は絶大です(いわゆる「初心者殺し」の戦術なので使う相手を選びましょう)。
  • 相手の作戦を妨害できる 後手で初期手札にKJQJがあったとしましょう。先手が全出しに失敗してペナルティを受けたとします。直後の手番に、実質先手と思って4枚出しすると、手札の枚数が倍になった相手にoverKJQJで返り討ちにあう可能性が高いです。このため初手全出し直後の後手は4枚出しが出しにくくなります。他にはKQ=2^5*4Aが勝負手の2枚出し(KK=K*TAがある)やKKJが勝負手の3枚出し(KKQ=2^4*29*283がある)、KKQTJが勝負手の5枚出し(KKQKJがある)なども出しにくくなります。このように全出しして手札が増えたという結果自体によって相手は順当な戦法がとれなくなります。
  • 直前に出たカードを回収できる お互いに強力な数を出し合って手番を得たものの残り手札が多く即座に上がれそうもないとき、実は全出しのチャンスです。たとえ失敗して山札を引くことになっても場に流れたばかりのカードを回収することができます。自分と相手の勝負手を両方手に入れることができたならば勝勢でしょう。

デメリット

  • 相手に手番がまわる 全出しの最大のデメリットは相手に手番をまわしてしまうことです。相手にも全出しするチャンスがあるので(全出しによって作戦を妨害された結果仕方なく全出しすることはよくあります)それで上がられてしまったり、順当に出していれば防げていた上がりを誘発することもあります*4。出し合いのラリーを制した直後の手番で全出しし山札を回収すると盤石であることが多いですが、手番が相手に渡ってしまうのでそこから上がられてしまうこともまったくないわけではありません*5
  • 相手に手札を見せてしまう 全出しはたとえ故意にペナルティを受けようとする(カマトト)場合でも場には出さなければなりませんので、そのときの手札は公開されます。たとえ初手の全出しだとしても、相手は手札の半分を知ることができるのでそれを利用される可能性があります。たとえば、初手全出し後の後手は順当な戦法がとりづらいと述べましたがKKQ=2^4*29*283については揃う確率が低い(24枚でも揃う可能性が2割程度、一方KK=K*TA(KK=A3*TA)は6割、overKJQJは8割程度*6 )ので、さらに全出しで公開された手札に2・K・Xが少なければ、KKQがある確率はさらに低くなるので揃ってないと踏んで3枚出しをされる場合があります。KKQが揃っていない場合、先にKKJを出せば手番は得るもののKを2枚失って手札が弱体化しますし(とはいえ革命したり、枚数で押し切るなど依然として先手有利なことが多い)、KKQを狙ってさらにカマトトしてもブラフに対応できないということもあります。
  • 場が白ける可能性がある これは戦術そのもののデメリットではないのですがここで触れておきます。全出しは手札をすべて無くすという素数大富豪の勝利条件から自ら遠ざかる行為であり、一見すると無気力であるようにも思われます*7。もちろん、これまで述べたように全出しは有効な戦術ではありますがその有効性を理解するのは(全出しに慣れたプレーヤーからすると)意外とハードルが高いようです*8。ましてや、全出しを戦術として採り入れるには大量の手札を捌ききるための素数の知識が必要となるのでそのハードルはさらに高くなります。対戦相手が全出しを使いこなせるほど素数を覚えていない場合は全出し側が枚数と数の大きさで圧倒してしまう展開となり場が興ざめしてしまいます。勝利することを必ずしも目的としないエキシビションや初心者と遊ぶときには使わないのが無難です。その場合の具体的な対戦の心得はOTTYさんの記事を参照。

otty8121013.hatenadiary.jp

全出しのタイミング

全出しはさまざまな場面でその効果が期待できますが、上で述べたようにデメリットも存在しますので、むやみやたらに出すものではないでしょう。ここでは全出しを出すタイミングとして私なりの基準を紹介いたします。

  • 先手で初期手札がよくない・組み切れないとき

初期手札がよいかよくないかの判断基準は複数ありますが概ね次の条件のいずれかを満たせば「よい」と判断し通常どおり出します。

  • 絵札4枚以上。5枚以上だとなおよい。(絵札攻勢に出る)
  • KQ=2^5*4A、KK=K*TAがある。(それを勝負手に2枚出し)
  • 知っている多枚出し素数*9があり、かつ、それを除いたカードで即座に上がれる。(多枚出し素数から出す。たまに多枚出しでないほうから出して相手にカマトトさせるブラフもある)

そうでないとき、または上の条件を満たしても組み切れないとき(偶数が極端に多いときなど)は中途半端に攻めたところで返り討ちに遭う可能性が高いので潔く全出しします。初期手札でリードされていると感じたら別の観点(枚数)で優位をとりましょう。

  • 後手で相手が初手全出ししてきたとき

先手が初手全出ししたときの後手の対応の仕方は初期手札が勝ち確の手札でない限りこちらも全出しするのが無難です*10。私はお互いに全出しして始まる展開を「相全出し」と呼んでいます。先手の全出しで見えた初期手札に絵札が少なくてもペナルティで絵札をたくさん引いている可能性は十分にありますし、生半可な勝負手では返り討ちからの枚数攻勢(((相手の手札の枚数)+2枚以上の素数合成数を出せば、相手はドローしても枚数が足りないため確実に手番を維持しながら手札を消費できます。))で何もできないまま負ける場合も多々あります。

  • 勝負手を出し合った結果手番を得たとき

互いに絵札を固めた素数(革命時ならAから始まる素数)を出し合って手番を得たとしても、二の矢が放てない場合があります。元から山札が少ない場合には全出しすることで先ほど流れたばかりのカードを回収することができます。お互いに手番をとろうとして出したカードがそのまま手札になるので戦力は出す前以上に上がります。と同時に相手に引き戻されることも防げます。これを応用した戦術として、最初から手番をとれそうな枚数で出して相手に強いカードを出させてから回収する方法があります。デメリットは全出しした直後は相手に手番が回るため、そこで即座に上がられる可能性があることです。

全出し後の戦略

全出しはそれが素数でなければペナルティで手札が倍増するのでそれを消費するのはなかなか大変です。こうした状況での戦略は発展途上の最中ですが、現時点での最前線をまとめました。
実際にどのような数が出されるかはプレーヤーによって多種多様であり一概に述べることはできませんが、先日3TKさんが覚えた素数を紹介していましたのでその記事が参考になるかと思います。
hana3101382283.hatenablog.com

  • over系

overKJQJなど各枚数の最大素数を上回る合成数出しを勝負手に据えた戦法。特に4枚出し(overKJQJ)はバリエーションが豊富で揃いやすい。しかしoverKJQJで一度に消費できるのは10~14枚が多く24枚からだとそれ以外のカードが多く残るためそれらの出し方に注意しなければならない、相全出しの後お互いにoverKJQJがあるときはoverKJQJの打ち合いになるなど難しい点もあります。HNP杯(2020年4月~7月)ではよく見られましたが、それ以降の大会ではお互いに牽制しあった結果からかoverKJQJが避けられるようになりました。

  • 6枚出しラリー・7枚出しラリー

通常の3枚出しラリーを倍の枚数でするもの。多枚数出しが増えたとはいえ後述の「8・8・8」がいつでもできるほどのプレーヤーは現時点(2020年12月)ではいないため、ラリーの採用率は高い。5枚以下だとover系の可能性があるため6枚以上*11

  • 8・8・8

いわゆる「4・4・3」を倍の枚数でするもの。さすがに8枚出し3回は難易度が高いが、グロタンカットを挟んだり、9・9・6にしたりなど戦略の柔軟性は高い。相全出しで始まったのに10手以内で終わったりすることも多い。

  • 超多枚出し

枚数が極端に多い素数を出す。相手がそこまで巨大な素数を知らなければ絵札が潤沢にあっても勘出ししかできないため成功率は高い。大会で出した際のインパクトが大きい*12。概ね13枚以上になり、20枚を超えることもある。

  • 革命

AやXが多いときや、相手にたくさん絵札がありそうなときに使用される。over系が使えなくなるため、手札が劣勢のときに革命を仕掛ける場合がある。詳細は明日のOTTYさんの記事で詳しく述べられると思います。

全出しをしないという選択*13

最近は先手で初期手札がよくなかったら即全出し、続いて後手も全出しという「相全出し」が増えましたし、大会では「全出し」党*14が上位に名を連ねます(全出しを使いこなすにはそれ相応に素数の知識・経験量が要るのでそれはそう)。ここでは敢えて流行に逆らって全出しを使わない戦術を紹介します。

  • 6・6作戦

先手で使う戦術。1枚ドローして12枚にしてから6枚出し、手札に6枚残す。後手はそれなりに強い素数でないとこちらに残りを出されて上がられる可能性があるので絵札を多く使った素数出しや勘出しをせざるを得ず、仮に手番をとっても後が続けられない可能性もあります。後手側の心理を利用すると、先手で初期手札に絵札が少なくても1枚ドローしてから6枚出しすることで後手に必要以上に絵札を使わせたり、場合によってはそのまま上がれることもあります。6枚9・10桁素数を覚えておくとここで役に立ちます。

  • 後手3枚出し

先手が全出しした直後の後手が使える戦術。3枚出しをしてこちらにKKJがあるように思わせる(KKJはあってもなくてもよい)。もしKKQがなければ先手は先にKKJを出そうとするはず。全出しして手札が24枚になってもKKQ=2^4*29*283が揃う確率はそこまで高くないので先手が早々にKKJを出すことが多い。先手は手札が多いながらも主戦力のKを2枚失い詰むはず……というのが狙いだが、革命されたり枚数攻勢で潰されることも多い。

まとめ

全出しはもともとは一発逆転の秘策としてある種のエンターテインメントの側面もありましたが、現在では立派な戦術のひとつとして大会で上位を目指すプレーヤーにとっては必須のものとなりました。しかし、全出しのタイミングや全出し以降の手札の処理の仕方は個々のプレーヤーが経験に基づいて行っているのが実情であり、新たに身につけようとするプレーヤーや観戦者にとってはわかりづらい部分があります。全出しはまだまだ発展の余地が大きく、また私個人の主観に基づく部分も多いためこれが全出し戦略の完全版であるとは到底思えませんが、現時点での全出しをある程度は文字化できたかと考えております。まもなく新しい年を迎えますが、来年の素数大富豪はどのような進化をするのでしょうか*15。この記事を全面的に書き換えないといけなくなるかも?

明日の素数大富豪Advent Calendar 2020の担当はOTTYさんです。6日目の二世さんの記事ラマヌジャン革命の成長 - にせいの日記では大会運営者の立場からラマヌジャン革命が戦術として採り入れられ始めていることが示唆されました。今度はプレーヤーの立場からラマヌジャン革命について語られるということで注目です。

*1:mattyuuさんの記事にも2・3・5の倍数を除いたときの確率のグラフがありますが、それを参照しても11・12枚での確率が1割強であることがわかります。

*2:すなわち、実戦で全出しするときの数は無作為のときよりも小さくなりやすいから素数になる確率が上がる(と考えられる)。

*3:全出しかどうかは素数大富豪オンラインのログで判断しましたが、A2もQも同じように見える(どちらも「12」と表示される)などで、取り違いの可能性は多分にあります。また明らかに素数でない全出し(偶数や3の倍数など)もカウントしています。

*4:たとえば後手の初期手札がKK=A3*TAと5枚5桁素数の場合。先手が2枚以外の枚数で出せていれば先手有利な展開になるところ、全出しで失敗すると相手が上がってしまう。

*5:実戦例としてマスプライム杯2020オンライン予選・2回戦私対はちさんの1本目。graws188390.hatenablog.com

*6:nishimuraさん制作の素数大富豪シミュレーションを利用しました。それぞれKKJ、KQ=2^5*4A、KJQJを除いた残りから無作為に24枚カードを選んだときにKKQ、KK、overKJQJが含まれる確率。

*7:合成数出しカマトトが台頭してきた2019年後半にはルール改正の動きがあり、有識者会議も開かれました。

*8:「オセロ(リバーシ)」は終局時の自分の石の多い方が勝利となるゲームですが、序中盤では自分の石が少ない方が有利とされています。石が少ないほうが選択できる指し手が多く場を支配できるからです。素数大富豪の全出しはオセロ(リバーシ)における石をむやみやたらに増やさない戦術に相当するといえるでしょう。

*9:ここでの「多枚出し素数」が何枚かは相手に依ります。現在のトップレベルであれば9枚以上か12桁以上の8枚出しはほしいところ。

*10:最近は「素数大富豪は初期手札24枚」「ここまでテンプレ」などといわれます。

*11:6枚以上でも合成数出しの可能性はあるが、滅多に見ない。

*12:最近だとマスプライム杯2020決勝大会(2020年11月)でOTTYさんが出した8QTJKQ3456789AA2359QT7(22枚29桁)。

*13:タイトルはtsujimotterさんの記事のインスパイア。tsujimotter.hatenablog.com

*14:ここでは誰とは明言しませんが。

*15:2021=43*47なので私は合成数出しの年にしたいと勝手に思っております。