素数大富豪が8121013倍強くなりたい

素数大富豪の攻略・布教活動をしていきます

使いやすい合成数をたくさん覚えたい

こんにちはOTTYです。
第17回はち杯合成数大富豪で優勝しました🏆🏆🏆



しかもかなりの大勝ちです。嬉しいです。合成数上りが9回もできました!!
634Q8J=7^8*J*1や688Q7=J^4*47、9TKQ=2^K*J*TAなど秘密の合成数がいくつも出せて大満足です。

開催してくださったはちさん、本当にありがとうございます!
対戦相手の皆さん対戦ありがとうございました!次も負けません!

今回は、せっかく勝ったので合成数の探索方法について大きく2つの観点で語りたいと思います。(これで次回以降合成数大富豪でも勝てなくなりそう😭😭)
実践できていることもあればまだまだ発展途上のアイデアにとどまるものもありますが、この記事によって合成数大富豪が更に盛り上がったら良いなと思います。

主に、実戦で使いやすい合成数のレパートリーを増やすにはどうしたら良いのか書いていこうと思います。書きたいことを思うままに書いていたら収拾が付かなくなったので特に2つ目のトピックについてはざっくり削りました。またそのうち気が向いたときに書こうと思います。とりあえず記事を上げることを優先しました。

僕はその場で検算や合成数の成り立ちが解釈できるタイプの合成数が好きです。なのでそのような合成数を増やそうとしました。記憶がすぐ曖昧になるのでその場で確認できるのはありがたいですね。そのために成り立ちを解釈できる幅を増やすようにしました。例えば、17*89=15Kを覚えおいて66K=5100+15K=17*300+17*89=A7*389のように再現でき、そのストーリーをまるまる覚えるような感じです。

末尾がJ,Kの合成数をたくさん覚えたい

昨年のアドベントカレンダーにて、4K=7*59を派生させて88K=7*Q59のような合成数を覚えたという話を書きました。
(末尾Kの合成数)=7*(末尾59の素数)のようにK,7,5,9を固定して考えられ効率が良いと思いました。J*83、47*Kも同様に使いやすいです。

7*59やJ*83、47*Kの派生系を探すのはとても楽しいです。87QK=7*Q4459やQ8KK=J*J6483、T536J=8T47*Kなどの面白い合成数と戯れることが出来ます。

別に末尾がJかKなら素因数が7,J,Kに限ったことでもないよなぁと思い、A4J=A7*83について同じことをしてみると

48J=A7*283
65J=A7*383
J6J=A7*683
5QJ=6A7*83
TTJ=QA7*83

使いやすそうな合成数が続々と出てきました。

便利そうなのでこのようなパターンを増やすために、末尾J,Kの合成数について因数の末尾で分類して覚えようとしました。

そこで、まずはこのような問題を考えました。

 M,N 100以下の 100と互いに素*2自然数とする。
 MN\equiv 11\bmod 100
となる (M,N)を全て求めよ。

これの解は

 
\begin{equation}
\begin{split}
(M,N)\equiv &(1,11),(3,37),(7,73),(9,79),(11,1),(13,47),(17,83),(19,69),(21,91),(23,57),\\
&(27,93),(29,59),(31,81),(33,67),(37,3),(39,49),(41,71),(43,77),(47,13),(49,39),\\
&(51,61),(53,87),(57,23),(59,29),(61,51),(63,97),(67,33),(69,19),(71,41),(73,7),\\
&(77,43),(79,9),(81,31),(83,17),(87,53),(89,99),(91,21),(93,27),(97,63),(99,89)\bmod 100
\end{split}
\end{equation}
となります。


末尾Kについては

 M,N 100以下の 100と互いに素な自然数とする。
 MN\equiv 13\bmod 100
となる (M,N)を全て求めよ。

こちらの解は

 
\begin{equation}
\begin{split}
(M,N)\equiv &(1,13),(3,71),(7,59),(9,57),(11,83),(13,1),(17,89),(19,27),(21,53),(23,31),\\
&(27,19),(29,97),(31,23),(33,61),(37,49),(39,67),(41,93),(43,91),(47,79),(49,37),\\
&(51,63),(53,21),(57,9),(59,7),(61,33),(63,51),(67,39),(69,77),(71,3),(73,81),\\
&(77,69),(79,47),(81,73),(83,11),(87,99),(89,17),(91,43),(93,41),(97,29),(99,87)\bmod 100
\end{split}
\end{equation}

となります。

walframに計算式を入れれば自動で組 (M,N)を出してくれます。便利ですね。

これら解を全部覚えたいです。
直接覚えられれば良いのですが覚えるのはちょっと大変そうでした。 (M,N)の組は各々40通り*3ずつあるのです。順序を無視しても20通りあるのでちょっと覚えづらいです。(最終的には覚えたいですが)

 Mを固定したときに末尾JやKになる Nを即席で求められるとド忘れしたときに役立ちそうだと思いました。

そこでまずは

 MN'\equiv 1 \bmod 100

となる (M,N')を求めましょう。

解は
 
\begin{equation}
\begin{split}
(M,N')\equiv &(1,1),(3,67),(7,43),(9,89),(11,91),(13,77),(17,53),(19,79),(21,81),(23,87),\\
&(27,63),(29,69),(31,71),(33,97),(37,73),(39,59),(41,61),(43,7),(47,83),(49,49),\\
&(51,51),(53,17),(57,93),(59,39),(61,41),(63,27),(67,3),(69,29),(71,31),(73,37),\\
&(77,13),(79,19),(81,21),(83,47),(87,23),(89,9),(91,11),(93,57),(97,33),(99,99) \bmod 100
\end{split}
\end{equation}

となります。

これは割と規則的な形をしていて、 M 10の位を m N' 10位を n'とすると、

 (M,N') 1の位が (1,1)のときは
 m+n'\equiv 0 \bmod 10

 (M,N') 1の位が (9,9)のときは
 m+n'\equiv 8 \bmod 10

 (M,N') 1の位が (3,7)のときは
 m-n'\equiv 4 \bmod 10

 (M,N') 1の位が (7,3)のときは
 m-n'\equiv 6  \bmod 10

となります。わかりやすいですね。暗算で即求めることができます。

ここで N' 11を掛けて Nとおけば、

 
\begin{equation}
\begin{split}
N\equiv& 11N' &\bmod 100\\
MN\equiv& 11 &\bmod 100
\end{split}
\end{equation}


もしくは N' 13を掛けて Nとおけば、

 
\begin{equation}
\begin{split}
N\equiv& 13N' &\bmod 100\\
MN\equiv& 13 &\bmod 100
\end{split}
\end{equation}

となります。

このように逆元をパッと出せれば掛け算で末尾J,Kになる数をすぐに求めることができます。(×11はともかく×13はそんなに計算しやすくないんですよね😭、まぁ素数×13なら結構覚えていることも多いですが)

ここで M,N 100と互いに素であればとりあえずは素数でなくても良いのです。

例えば使いやすそうなところで M=81として末尾Jの合成数を見てみましょう。このとき m+n\equiv10 \bmod 10より n\equiv2\bmod 10より N'\equiv21なので、 N 21*11の末尾2桁なので N=31となります。

81*3A=25J←これを基本形とする。こいつ覚えておくと検算しやすい。

3Aの頭に何かつけると、

81*KA=8100+2511=T6J
81*63A=48600+2511=5JJ
81*T3A=81000+2511=835J
81*Q3A=97200+2511=997J

81の方を派生させると、

A8A*3A=3100+2511=56J
28A*3A=6200+2511=87J
K8A*3A=40300+2511=428J

KKTJ=3A*42358Aもこの系譜ですね。

両方を81,31の両方の頭になにか付けたものだとQJJ=28A*43Aなんかは有名ですね。


個人的には19*Q7=24Kを派生させるのがアツいです。19*3^3もいいのですが、*4
Qを使いたかったので19*Q7=24Kの派生を覚えました。

24K=Q7*19
786K=Q7*619
784K=4Q7*19
532K=Q7*419
9KK=Q7*719
Q94K=Q7*T19
K54K=7Q7*19

特に786K=Q7*6A9、784K=4Q7*A9はセットで覚えたいですね。

とりあえずは気に入った組み合わせだけ覚えても損はないはずです。
これを何パターンか使いこなせるようになりたいです。おすすめなのは、末尾Jなら(13,47),(17,83),(27,93),(31,81),(19,69)*5末尾Kなら(7,59),(11,83),(17,89),(19,27),(73,81)あたりでしょうか。まだまだ自分でも使いこなせていないですが、頭の中にこれらをセットにする思考回路を持っておきたいものですね。

逆元の活用法

せっかく簡単に逆元を導出できるのだから、末尾01の合成数についての使い道無いのかなぁと考えています。

J7K=901*K=17*53*K
429J=3901*J=47*83*J
325K=2501*K=K*4A*6A

など出来るには出来るけど無理のない範囲での実用化はもう少し先かもしれませんね。


7^4=49^2=2401みたいに使いやすければいいんですけどねぇ。(49の逆元は当然49)
因みに7^4については*Jや*K以外にも7^4*89=2K689とか9844A=7^4*4Aなど微妙に使えそうなのがあったりします。
あと、99^2=9801なので、9801*J=T78J,9801*K=Q74Kなんかがあったりします。特にT78J=3^4*J^3は使いやすそうですね。逆元を活用している感は薄いですが。


合成数の拡張性・換装性を意識する

8T=2*5*3^4に9,Jを加えて89T=2*5*3^4*Jにしたり、KQ=2^5*4Aに9,Qを追加して4KQ=2^5*Q9Aにしたり、何かを加えることのできる合成数というのは「札が余ってるから加える」「こっちで必要な札だから抜く」などでき柔軟性があり使いやすそうですね。
今回の大会ではQKQ5=3*5^4*647というKQ5=3*5^4*7に4,6,Qを加えた合成数を使ったりしました。KQ5=3*5^4*7を見つけてから4,6,Qを加えられて使い勝手が良かったです。このような合成数の拡張について興味があります。
また、786K=Q7*6A9と784K=4Q7*A9など、ちょっとだけ組を変えて合成数ができるというのは便利そうです。

ここではざっくりと、合成数が出せる組に何かを加えてまた合成数を作ることを拡張、合成数の骨子の部分は変えずに1部だけ変えるのを換装と呼ぶことにします。何が骨子なのか1部とはどこまでなのかは今回は主観によるものとさせて下さい。
ある程度は日常的にさりげなくやっていることと思います。
例えば
6T=6A*2*5に4,4を加えて64T=641*2*5にするのは拡張です。
86=2*43に5を追加した486=2*3^5みたいな原型がないものも拡張とします。
27=3^2*3を27=3*3*3とするのは換装です。
3QK=7^4*KとK3Q=2^T*Kも換装としましょうか。

まぁ、とりあえずこれを見てください。


K343=J*QK(通称:キングさしみ)という非常に使いやすい合成数があるのですが、こいつは拡張性能・換装性能が非常に高いです。

K3243=J*QAK
K6543=J*Q4K
K8743=J*Q6K
K9843=J*Q7K
K3J43=J*QTK
K34443=J*QKK

割と似た形をしているし、札の組み合わせもそんなに大きく変化していないですよね。こういう合成数は組み切りパズルを手早くやる上で強そうじゃないですか?


88K=7*Q59
886K=7*Q659
8488K=7*QQ59

こんなのとか、

JQ=2^3*K9
8JQ=2^3*TK9
QJQ=2^3*A5K9
8QJQ=2^3*TA5K9

こういうの好き。



86=2*43に5を追加した486=2*3^5みたいな1枚の追加による拡張は小回りが効いて強そうですが、元の合成数と似た形にはなりづらいのが困ったものですね。行き着くところまで行き着いたのがカステラさんが以前挙げていた「A~Tにあと1枚加えてできる合成数出し」なのかもしれません。

graws188390.hatenablog.com

覚えづらいけどこういうの覚える時代が来るんでしょうか。

まぁ、当面は合成数を1つ覚えたら、それらをちょっとだけ変えてみてどうなるのかを考えて合成数をまとめて覚えておくのは肝心なのかなぁと思います。

今後の課題としてはここら辺の探索ですかね。換装についてどのくらい似てるかの定量*6なんてものもしてみたいですね。

まとめ

大切そうなエッセンスを大きく2点書きました。そのうち合成数大富豪において一般的な概念になることは間違いないです。インフレは嫌じゃ😫😫

今回書いたアイデアに基づいて合成数を探索しようと思います、次回参加する際は更に成長したOTTYが見せられたらいいなと思います。

*1:7^4=2401より7^8の末尾2桁は当然01になります。それにJをかけたものです。使いやすいですね。なお7^8*Kは使いづらいです。

*2:ここが一番肝心。例えばM=2なとどとするとNは存在しない。

*3: \phi(100)通りですね

*4:AKK=10800+513=3^3*4A9とか良い合成数があります

*5:主に169=K^2。T46J=K^2*6A9など

*6:編集距離とか?

合成数大富豪で使いやすそうな合成数

こんにちは、OTTYです。
この記事は素数大富豪 Advent Calendar 2023 - Adventarの18日目の記事です。
昨日の記事はnishimuraさんで「2023年の雑談」でした。超多枚数出しの流れが確実に来てますね......僕も対策しないとなぁと思いつつ何を覚えればいいのか途方に暮れてます。


さて、この記事では「合成数大富豪」の対策をしていて覚えた合成数など紹介します。
合成数大富豪とは、上がるときを除き基本的に合成数しか出せない素数大富豪のことを指します。現在ははち杯の中でのみ行われています。昨年プレイするまでは激ヤバ競技だと思っていたのですが、意外と上がれて楽しいです。詳しくははち杯のルールを参照してください。

drive.google.com


大会の様子が配信されてましたので、気になる方は是非。

www.youtube.com



さて、先日行われた第14回はち杯にて、OTTYが合成数大富豪で優勝しました✨✨


結構対策したので、勝ててうれしいです。合成数大富豪の対策は、普段素数大富豪では使わない合成数を覚える良い機会になりました。今回の対策としては、絵札を効率よく消費することについて真面目に考えつつ、3枚出しを重点的に覚えました。
振り返ってみると、突拍子もない特別な合成数を用いて勝ったという感じではなく、使いやすい合成数しか使っていないように思えます。
ということでせっかくなので、覚えた使いやすそうな合成数をまとめておこうと思います。


今回覚えた合成数紹介

今回は汎用性の高そうな使いやすいものを覚えましたので、どどーんと紹介しておきます。
2枚出しは大体覚えているので3枚以上のみの紹介になります。紹介している分類は適当です。

とりあえず覚えたい3枚出し

これといった特徴はそんなにないけど使いやすいもののまとめ。

689=53*K
869=79*J
854=2*7*6A (1~8の3抜き)
896=2^7*7
T48=2^3*KA
T66=2*K*4A
T8A=47*23
J44=2^3*J*K (104*Jでわかりやすい)
J83=K^2*7 (KKJ+378で見つけやすい)
K9A=K*T7 (10倍したK9T=2*5*K*T7も使いやすい)
3TA=7*443 (意外と使いづらい)
4TA=3*K67 (10倍した4TT=2*3*5*K67も使いやすい)
49K=A7^3
5T3=3^6*7
5K7=J*467
64K =J^2*53 (KJJ+3456で見つけやすい。ムシキング)
8T7=J^2*67
8Q8=2^6*Q7 (完全数)
8Q9=J*739
89T=3^4*J*2*5 (810*Jでわかりやすい)
KQ3=J*J93 (KJQJ+339)
4JJ=7^2*839
5JJ=3^4*63A
6KQ=2^7*479
TTJ=83*QA7  (使いやすい)

この辺りを覚えました。
特にTTJ=QA7*83はとても使いやすいと思います。流行っている(?)8JQ=2^3*TK9よりも大きく、Tを上手く消費できるので強かったです。

3枚出しの5の倍数(で10の倍数でないもの)

計算できそうだけど、とっさに出せるように覚えました。

635=Q7*5
685=K7*5
695=K9*5
815=163*5
835=167*5
845=5*K^2
865=173*5
985=197*5 (895=179*5の上位互換)
4T5=5*82A
4J5=5*823
4K5=5*827

2*5*Pの形の合成数

大会でも2*5*Pの形の合成数が強かったですね。
以下のような合成数を覚えておきました。8KQTは僕の好きな素数8QTKの並び替えなこともあり、お気に入りの合成数です。KQT=2*5*KQAで最初考えていたところに8,8を追加して組む、というムーブができるのが強かったです。環境が進んできたら、相手が3枚出しなら返しをKQT,4枚なら8KQT,5枚なら87KQTにしよう、とかを考えたプレイングがあるのかな?と思います。

JKT=2*5*JKA
KQT=2*5*KQA
8KQT=2*5*8KQA
Q6KT=2*5*Q6KA
6JKT=2*5*6JKA
7JKT=2*5*7JKA
9TQT=2*5*9TQA
JQKT=2*5*JQKA
87KQT=2*5*87KQA
K68QT=2*5*K68QA
4JQKT=2*5*4JQKA

ここ詰めたら強くなれそうな気がします。素数大富豪にもたまには役に立ちそうですし。

面白い奴ら

単に紹介しておきたい合成数です。

K3Q=2^T*K
3QK=7^4*K
J264=2^T*J
264J=7^4*J

2^10=1024と7^4=2401のなせる技ですね(24*13=312)

4枚出しの使いやすい合成数

まだ環境初期なので強さとかは気にせず、出しやすさのみに注目しました。

J449=T7^2
J663=T7*T9
J88A=T9^2
K343=QK*J (キング刺身、絵札の消費がしやすい)
K843=T9*Q7 (重複なくて使いやすい)
A6Q9=Q7^2 (Qが3枚使えて強い。3TKさんに教えてもらった)
Q769=AK^2 (素因数をJ3でも使えて嬉しい。96721=3J^2と逆から読んでも平方数になる)
T46J=K^2*6A9 (たまたま見つけたけど絵札消費がいい感じ)

J449=T7^2、J663=T7*T9、J88A=T9^2は44,66,88の並びが綺麗でセットで覚えたい良い合成数ですね。Tや偶数を消費するのに重宝しました。


なんかシュールな形してるけど強いかもしれない合成数

たまたま見つけました。

T26A69=TK^2 ((1000+13)^2=1000*1000+2*1000*13+13*13=1026169)
T53A69=K*8TK (13*81000+13*13=1053*1000+169=1053169)

なんか面白い形してるし、なんで君たちそんなに似てるの。
169=K*Kが出せるときに使用機会を伺っていましたが、結局出せず。

JQ=2^3*K9の親戚

8JQ=2^3*TK9
QJQ=2^3*A5K9
8QJQ=2^3*TA5K9

ポケモンの進化っぽい(?)
JQと8JQが親戚なことを覚えておけば、8JQの素因数がKT9だったかTK9だったかを悩む必要が無いんですね。

末尾TKQの使いやすそうなやつ

末尾TKQの合成数(2^6で割れる)を探したもの。なぜ末尾がTKQなのか詳しくはn枚2n桁を2のべき乗でできるだけたくさん割りたい話 - 素数大富豪が8121013倍強くなりたいを見てください。

TKQ=2^6*A583
8TKQ=2^6*Q6583
K7TKQ=2^A8*523


末尾Q5の合成数

1000は125で割り切れるので末尾がQ5の数は5^3で割り切れます.。さらに1000=8×125であることを考えると、Q5より上の部分を8倍して1足したものを因数に持つことから比較的簡単に素因数分解できます。
素数大富豪でよく使われるものだと8Q5=8*1000+5^3*1=125*(8*8+1)=5^3*5*K=5^4*K、TQ5=5^3*(8*10+1)=5^3*3^4あたりでしょうか。

AQ5=3^2*5^3
2Q5=5^3*A7
3Q5=5^5
4Q5=3*5^3*J
5Q5=5^3*4A
6Q5=7^2*5^3
7Q5=3*5^3*A9
8Q5=5^4*K
9Q5=5^3*73
TQ5=5^3*3^4
JQ5=5^3*89
QQ5=5^3*97
KQ5=3*5^4*7

この計算を慣れておけば、QQ5,KQ5などをド忘れしても簡単に計算できますね。

カステラさんが試合で38Q5=5^4*6Aを出してましたが、これも38Q5=5^3*(38*8+1)=5^3*5*61=5^4*6Aのよう見ることができますね。
もっと言うと、38Q5=5^4*6Aについては10000=5^4*16と8Q5=5^4*Kから38Q5=5^4*(16*3+13)=5^4*6Aとも解釈できますね。末尾3Q5や8Q5に着目して予め覚えやすい4枚出し合成数を探索しておくのも面白いかもしれません。ど忘れしても上を16倍して5or13を足せばいいんだな、ということだけでも覚えていれば実用性はありそうです。93Q5=5^4*A49、48Q5=5^4*7*J、Q8Q5=5^5*4Aなどなど……

6J=47*Kの派生をまとめて覚えた

6J=47*Kは合成数大富豪では重宝されている合成数ですが、6J=47*Kと似ている(末尾47の素数)*Kの形になっている合成数をいくつか纏めて覚えました。

45J=K*347
7AJ=K*547
84J=K*647
Q3J=K*947

45J=3900+6J=K*300+K*47=K*347のように頭の中で6Jと残りで分けることができるので、覚えやすいし検算しやすいです。4,7,K,Jが手札に揃っていたら、これらが出せないかを考えていました。

......そういえば、8QJ=6247*Kだったなぁなどと思うなどしました。ひょっとすると、47の頭に何かつけたらよい合成数が見つかるかもしれませんね。T59J=8A47*Kみたいな。


4K=7*59、9K=J*83の派生もまとめて覚えた

これらもセットで覚えたいですね。

25K=7*359
46K=7*659
88K=7*Q59

3AK=J*283
42K=J*383
75K=J*683
97K=J*883
T8K=J*983

5J=7*73も同じことしろよと思われそうですが、使いやすそうなのはあまりなさそうでした。(そもそも7を2枚使ってるのでちょっと使いづらい)

終わりに

合成数大富豪を通して、素数大富豪では使いづらいタイプの合成数とも戯れることができます。

合成数大富豪が強くなることで、素数大富豪で芸術点の高いかっこいいプレイングができるようになる気がします。
第14回はち杯楽しかったです!開催してくださったはちさん、対戦者の皆さん、本当にありがとうございました!


さて、明日の記事はマモさんで「一か八か - まもめも」とのことです。一体どのような記事なのか気になりますね。

博物ふぇすてぃばる!9にて素数大富豪ブースを手伝ってきました

こんにちはOTTYです。
先日7/22,23に行われた博物ふぇすてぃばる!9の素数大富豪ブースのスタッフとしてお手伝いに行きました。
初心者の方との対戦が楽しくて休憩時間も殆どずっと素数大富豪のブースにいました。
忘れないうちに振り返り・次の機会へ向けてやりたいことを書いておきます。






振り返り

小学生多かった!

今回、小学生が多く『素数』を知らないという子が多くいました。最初に挨拶しつつ学年を聞いて、割り算・掛け算なら大丈夫かなど、探りを入れました。1学期ということもあってか、小学2年生でもまだ九九をやってない子も多かったです。
また、普通の大富豪のルールを知っているかも尋ねて、手番やパスなどの大富豪的な進行が大丈夫そうかを確認してからルール説明を始めました。
一度にたくさん言われてもわからないと思うので、ルール説明はできるだけ簡潔にしてプレイしながら再度説明することをしました。

偶数とか5の倍数については見てなかったことにして、もう1回再チャレンジしてもらうなど、だいぶゆるくやりました。

博物ふぇすの公式グッズの素数ポスターを見て、素数を探しながらプレイしてくれる子もいました。「この辺にあるかな〜」とか言いながら手札で作れそうな素数の辺りを指さして探してもらったりするなど普段の布教とは違うこともかなりしました。

リピートしてくれる小学生もいてくれて嬉しかったです。

プレイングで意識したことなど

  • 素数判定のとき、ちょっと溜めてドキドキさせたり、リアクションをすることで、できるだけ場を盛り上げようと頑張りました。張り切りすぎて声がガラガラになりました。
  • 相手の全出しを誘発したいときはこっちも全出しをしました。1001チェックを通らない数(5K5K637など)をわざと出して全出ししてもいいんだという空気を作るようにしました。
  • 積極的に3枚以上に出会ってもらうために、相手の2枚出しをTK,QKなどで切って、2枚出しの強い素数を解説しつつ弱い3枚出し以上を出して多枚数出しの流れを作るようにしました。
  • 相手が残りn枚の時に弱いn枚出しをして、出会いの機会を設けたりしました。ジョーカーを持っている相手にはn+1枚出しもしました。
  • 相手の全出しとか、チラッと相手の手札をみえたり、「強いの引いた〜!」と親御さんに見せているのから手札を把握し、それとなくこんな素数がありますとか話して手札を減らしてもらいました。
  • ちょっと誘導して521とか683に出会って勝ってもらえたりしました(251も863も素数)。
  • ダレてきたり、相手が偶数ばっかりでキツそうなとき、次のブースに行きたそうにしているときなどはできるだけ自然に自分で上がるようにしました。
  • 絵札とジョーカーが手札に溜まるので結構困った。普段使わないJ63、K3KなどでJ,Kを使って相手に返す余地があるような素数で消費した。

今後に向けて

出会いを誘導するプレイングがしたい

相手がドローしたり、自分の手札的にうまくいかないことが多そうですが、次の例のようなプレイがしてみたいです。

2人対戦で相手の手札が全出しなどで判明していて(3,3,6,7,8,9,J)のとき、相手が37を出してくれたら8Jを出して相手の3J,8Jを阻止しつつ、9Jを誘導して残りの(3,6,8)を悩んで683または863に出会ってもらう。
もし、3枚で367を出してきたら(これも出会い)、94Kを出して、「何か出さないと上がります」と宣言して98Jに出会ってもらい3で勝ってもらう。

みたいな感じです。自分のプレイングで誘導できたらすごくないですか?進行パターンを複数を考えられるぐらいになりたいです。まぁ、相手の最初の弱い2,3枚を出してもらえるかにかかっている感はありますが。

3,4枚出しで並び替えて素数になりやすい組を予め頭に入れておいてそれを残させるプレイングなんてできたら最高だなって思いました。(6,6,8,9)とかであがってもらえたら気持ち良さそう。全奇数の並びが素数になるわけでなくとも確率的に素数になりやすい組も覚えておきたいですね。

短時間で遊んでもらうことに特化した素数表を作りたい

今回ふみ川さんが作成してくれた素数表を配ってカンニングしてもらっていたのですが、次似た機会があるなら僕も素数表を作りたいです。
いままではプレイ中に素数表を見るのは初心者と言えども許さなさい派閥でしたが、今回のように回るところがたくさんあるイベントでは素数大富豪だけでゆっくりしているわけにもいかないので素数表があって良かったと思いました。小学生が何も見ないでやるとなると大変そうでしたし。

サクッと体験してもらえることに特化した素数表を作りたいです。出会いとのバランスの兼ね合いが難しいところですが、出会いやすい組について書かないで、出会いにくい組を書いておくなどして上手く出会いの面白さを体験してもらえるかもしれません。ここら辺を調節して良い塩梅の素数表を作りたいです。

あと、2,3,5の倍数判定法をまとめた紙があってもいいのかもしれないです。今回(4以上の)偶数を出した子どもにその都度説明していたので需要はあるかと思います。あと、大人の方でも3の倍数判定を忘れている方も結構いました。

英語でのルール説明をできるようになりたい

今回一度だけ英語で接客しました。拙い英語での説明でしたが何とか遊んでもらえたので良かったです。
次回機会があるとしたらもっと上手にルール説明できるようになりたいです。まずはルールの英訳をしてみようかと思います。

おわりに

僕はこの2日間で50人近くの方と素数大富豪をしました。
今回体験してくれた方々がご家庭などで遊んでくれると良いなと思います。布教した中から将来のトップ競技プレイヤーが現れたら面白いですね。

とても楽しかったので今後このような布教の機会があればぜひ参加したいです!

新しい素数大富豪用語をつくっていきたいという話

こんにちはOTTYです。この記事は素数大富豪 Advent Calendar 2022 - Adventarの25日目の記事です。
今年のアドベントカレンダーも様々な視点で書かれていてどれも読みごたえのある記事でしたね。

25日目が埋まってないのも寂しいので、2022年のうちに来年の素数大富豪がこうだったらいいなと僕が思ったことなどを書いていこうと思います。主に競技素数大富豪周りの話です。
今回のテーマは「皆で新しい用語を造っていきたい」です。

「OverKJQJ」「二刀流戦術」いつの間にか浸透したよね

素数大富豪には「カマトト」「詰んでるセット」「HNP」「OverKJQJ」「二刀流戦術」などの用語があります。どれも今の素数大富豪を語る上で欠かせないものです。
このような素数大富豪の用語を増やしていきたいなぁと思っています。なぜなら我々が今より強くなるにはプレイヤー間で認識自体はあるけど言語化されていない概念について、名前を付けることでスムーズな議論ができるようになると考えているからです。

例えば、僕と友人で勝手に決めた用語にOverKJQJというものがあります。OverKJQJとはKJQJより大きな4枚出し合成数の総称であり、素数大富豪研究会2019での発表のために名付けました。
素数大富豪研究会2019での発表は「4枚出しにおけるカマトトの有効性」という題で、合成数カマトトを駆使して手札を増やした場合にどれぐらいの確率でKJQJを切ることができるかという内容でした。そんな発表をするうえで「KJQJより大きな4枚出し合成数」って名称は長すぎて毎回言うのは無理だから名前を付けました。
そこから色々研究が進み、今では対策されすぎてトッププレイヤー間での使用頻度そのものは減ったものの浸透はしていて「お化け」という略称で親しまれています。僕らが名付ける以前からOverKJQJにあたる合成数は使用されてきましたが、OverKJQJと命名することで扱いやすくなり研究が加速したように思います。

4枚二刀流戦術」も3TKさんが名付ける以前からなんとなく概念として存在はしていたが、名前がつくことで発展した戦術です。
昔から443KJQJは強いはみたいな会話はされてきましたが*1、実際にそういったものに名前を付けて戦術として昇華させた3TKさんは凄いです。
二刀流戦略の派生系も生まれるなどさらなる進化をしてきました。*2*3
勝手な推測ですが、3TKさんが命名しなかったら今も「KJQJを使って4枚→KJQJ→3枚出しで組んだ時に合成数カマトトされることをケアして3枚出し+KJQJで素数になるように組む戦術」という長ったらしい呼ばれ方をしていた可能性があります。そうだった場合、今ほどスムーズに戦略の共有ができているとは思えません。怖いですね。

用語がないと冗長になりがち

用語をつくり、共通の認識を持って議論していくことで戦略が深みを増すのではないでしょうか。

こういう状況を表す用語が欲しくない?

誰かが思い切って名前なり定義なりを決めれば発展するものが色々あるかもしれません。
というわけで、特定の状況下や、特定の素数を考察をするために新しい用語を皆で作ったり整備していきたいです。
単なる思い付きなので、全てが本当に必要なものかはわかりませんが例えば下に挙げるものに名前があったらはよいかもしれません。

  • 相手がn枚n桁→n枚m桁→n枚2n桁→残りのように1回弱めな素数を挟む組み方をしている相手の最初のn枚n桁に対していきなりn枚2n桁を出して相手の上がりを阻止する動きやその状況
  • 64=2^6に対する64=2*2^5のように指数をバラす合成数の形状。もしくはそのような出し方
  • ラマヌジャン革命下でA0始まりの強い素数
  • 相手手札がn枚のときに、n+2枚出し→n+3枚出し→…→残りというような確定でパスさせ続ける動き。もしくはその組み方

などなどこういった状況、素数の名称があったら幸せになれそうな気がしませんか??これらを語る上で「この状況を表す適切な語がない」ってなって回りくどい説明をすることになった人も多くいるのではないでしょうか??

(上にあげたのは適当なので、既に名前がついていて僕が知らないだけだったらすいません。)

戦略を語る上で必要な単語は作ってしまおう

ここまで読んで「こういう用語が欲しい!!!」ってなった方もいるのではないでしょうか。
素数大富豪の戦略を語る上で必要があると少しでも思った概念には端的でキャッチーな名前つけていきましょう。
ネーミングセンスが問われるため、ここのハードルが一番高いのかもしれませんが、僕はセンスがないのでどうすればいいのかは全くわかりません。
迷ったら信用できる人に相談するなりTwitterで公募するなりしましょう。ここのプロセスを簡単に出来たらいいなぁ.......


いい名前が付いたらブログに書くなりして発表しましょう。「あの人の方が詳しそうだから」「素数大富豪弱いから」「きちんとまとまってから発表しよう」「今更名前つけるのもなぁ」「変な名前を付けたら恥ずかしい」ということは考えなくていいと思います。少しでも有益だと思ったら気軽に新しい単語をつくってブログ等に書いてしまいましょう。発表したもん勝ち、言ったもん勝ちです。
3TKさんの皆も書こう!素数大富豪攻略記事! - [素数大富豪]3のブログにも書いてありますが素数大富豪攻略記事はまだまだ少なすぎると思います。どんどん用語を造って素数大富豪攻略記事を上げましょう。用語があることでスマートに内容がまとまります。また、何が先行研究なのかわかりやすくなり引用したりしやすくなります。
特定のシチュエーションでの動きなど、プレイヤー間でなんとなく考察されてはいるけど誰も文章にしてないものは沢山あります。そういったシチュエーション自体に名前をつけて考察してみるのも面白いかもしれませんね。トッププレイヤーの思考を言語化し伝えられれば、新規プレイヤーが強くなるための近道にもなるのではないでしょうか。


自分が作った用語が他の人に使われているのはなんだか気恥ずかしさも少しありますがやっぱり嬉しいものです。そういった意味でもOverKJQJと名付けて本当に良かったなぁと思っております。

来年の予想など

さて、最後に来年の素数大富豪を予想しておきます。ズバリ超多枚数出しの流行です。もちろん時流がそうさせるところはあるのでしょうがそれだけではありません。
超多枚数出しも概念自体は2年以上前から存在していますが、その定義は曖昧でなんとなくめっちゃ多い枚数ぐらいのフワフワした意味で使われていました。
しかし翳猫さんがアドカレ記事超多枚数出し ~ラリーをさせない戦い方~|翳猫|noteの中で20枚出し以上と定義していました。これは凄いことです。
20枚出し以上とする必然性はともかく、20枚出し以上を超多枚数出しとすることに全く問題はないと思います。もし困ったら「準超多枚数出し」「超々多枚数出し」など必要に応じて分化させていけば良いのです。そんなことよりも具体的な基準が1つできたことが重要だと考えます。

今までの素数大富豪と同様に、20枚出し以上という目安ができることで「20枚は警戒しよう」「25枚以上の長いものを覚えよう」「実は19枚が穴かも」などなどプレイヤーが考えることで超多枚数出しやその対策が今後発展するでしょう。
そんな中、素数の形に着目して良さそうなものにはどんどん名前を付けて研究を深めていきたいですね。

おわりに

僕は人がどこまで素数大富豪が強くなれるのか興味があります。(ブログタイトルからもそれがわかりますね)
更なる高みに到達するには用語の整備が不可欠であると考えています。
来年、誰かが勢いで用語を造ることで素数大富豪戦略が一気に深まったら嬉しいですね。皆さん協力お願いします!!!

なんだか偉そうなことを書いてしまいましたが、この記事を書いている自分自身、OverKJQJ以降用語をつくって発表することをできてません。来年は戦略研究を頑張りつつそれらを率先して文章に起こしていきたいです。上に書いたまだ名前のない事柄についても少しずつまとめていきたいです。*4
そうすることで将来素数大富豪が世界的に有名になったときに「○○を命名したのは儂なんじゃよ」と謎の強キャラムーブしたいですね。フォッフォッフォ(´∀`)


ここまで読んでいただきありがとうございました。



来年も素数大富豪しましょう!!!よいお年を!!!!

*1:hana3101382283.hatenablog.com

*2:sasara-snkw.hatenablog.com

*3:marinnonikki.hatenablog.com

*4:もちろん先に僕よりまとめるのも大歓迎です

初期手札のうち詰んでるセットはいくつあるのか

この記事は素数大富豪 Advent Calendar 2022 - Adventarの14日目の記事です。昨日はカステラさんによるオンライン素数大富豪大会「梅森戦」告知 - 初代素数王の備忘録でした。梅森戦楽しみですね。前もって対戦者が指定されないというのは斬新ですよね。

はじめに

今回は初期手札のお話です。初期手札11枚としてありうるものは何通りあるのか、その中に3の倍数になるものは何通りあるのか、素数を作れるものは何通りあるのかなどについて調べたので書いておこうと思います。

これを調べようと思ったきっかけはTTTTJJJQQQQという組です。この組は3の倍数ではなく、奇数が含まれているのにどう並べ替えても11の倍数となってしまうのです。このことは11の倍数の判定法を考えて、どう並べ替えても各桁の交代和をとると0になることからわかります。めっちゃ強いのに11枚出しできないの面白いですよね。
TTTTJJJQQQQは11の倍数という分かりやすいケースでしたが、もっと意外な組、例えば3枚組の178みたいに素数になりそう感があるけど実は素数にならない組はあるのでしょうか。あるとしたらそれはいったいどんな組なのか、いくつあるのか知りたいですね。
以下178のような「3の倍数でなく、奇数*1が1枚以上含まれている組のうち、どう並べ替えても素数を作ることのできない組」を詰んでるセットと呼びます。

初期手札の詰んでるセットがいくつあるのか調べるなら、初期手札全体における詰んでるセットの個数は多いのか少ないのかも知りたいですね。そうなると初期手札が何通りあって、そのうち何通りが全部偶数なのか、3の倍数なのかを調べる必要が出てきます。
ということで、今回は「初期手札のうち詰んでるセットはどれぐらいあるのか」ということを寄り道しながら調べていこうと思います。

初期手札は何通りあるのか?

まずは初期手札の総数を考えましょう。ひとまずジョーカーのことは抜きにしてA~Kまでのトランプから11枚選ぶ通りの数を求めます。トランプにはA~Kは各々4枚ずつ計52枚あります。素数大富豪なのでスートは当然無視です。このときの初期手札の総数は次のようにして求めることができます。*2

A~Kまでの52枚のトランプから11枚選ぶ通りの数は (1+x+x^2+x^3+x^4)^{13}を展開したときのx^{11}の項の係数と一致します。

どうしていきなりx出てきたんだ??って感じですよね。
なんでこんなことが成り立つか超ざっくり説明します。例えばAAAA2223345という手札を考えましょう。Aが4枚、2が3枚、3が2枚、4が1枚、5が1枚、6~Kが0枚という構成で4+3+2+1+1+0+0+0+0+0+0+0+0=11枚の手札ですね。下の赤字のところが、今回の手札に対応する部分です。

 (1+x+x^2+x^3+{\color{red} {x^4}})(1+x+x^2+{\color{red} {x^3}}+x^4)(1+x+{\color{red} {x^2}}+x^3+x^4)(1+{\color{red} {x}}+x^2+x^3+x^4)(1+{\color{red} {x}}+x^2+x^3+x^4)…({\color{red} {1}}+x+x^2+x^3+x^4)

 x^4*x^3*x^2*x*x*1*1*1*1*1*1*1*1=x^{4+3+2+1+1+0+0+0+0+0+0+0+0}となりますね。

こんな感じで、ほかの初期手札もA~Kの枚数を0~4で選んで (1+x+x^2+x^3+x^4)という箱から各トランプの枚数が対応するものを取り出してやれば x^{11}の1つに対応します。
 (1+x+x^2+x^3+x^4)^{13}を展開してx^{11}の係数を見れば
AAAA2222333( x^{4+4+3+0+0+0+0+0+0+0+0+0+0}に対応)から
JJJQQQQKKKK( x^{0+0+0+0+0+0+0+0+0+0+3+4+4}に対応)までの手札の総数が出てきます。

詳しくは詳しい人に聞いてください。

というわけで (1+x+x^2+x^3+x^4)^{13}を展開しましょう。
展開すると下のようになります。(これ手作業でできたりするんですかね?)

(1+x+x^2+x^3+x^4)^{13}の展開

長いですね。 x^{11}の係数は1111760なので、A~Kからなる52枚のトランプからなる11枚初期手札は1111760通りになります。
x^{n}の係数はトランプからn枚選ぶ通りの数に対応しています。ということはx^{10}の係数は10枚選ぶ通りの数に、x^{9}の係数は9枚選ぶ通りの数に対応します。よってx^{11}の係数がジョーカー0枚の初期手札の数、x^{10}の係数がジョーカー1枚の初期手札の数、x^{9}の係数がジョーカー2枚の初期手札の数となるため、ジョーカー込みの初期手札は1111760 + 566280 + 270270=1948310通りあります。こんなに簡単に求まるの面白いですね。

脱線して、ここら辺の話をちょっとします。

  • 当たり前なのですが、x^{n}の係数とx^{52-n}の係数が等しいの面白いですね。手札に対して、残りの札が1対1に対応するからですね。
  • ジョーカー含むものの数だけを直接出したいなら上でやったのと同じように (1+x+x^2+x^3+x^4)^{13}(1+x+x^2)を展開することで求められます*3。色々応用が利きそうですね。
  •  (1+x+x^2+x^3+x^4)^{13}(1+x+x^2)x=1を代入したら5^{13}*3になります。これはあり得る手札の総数ですね。(ゲーム中あり得るという意味なら手札0枚、54枚はありませんが......)

話を戻します。
とりあえずこれで初期手札の個数がわかりました。
今回ジョーカーを含むものについては最後に考えるので、とりあえずジョーカーを含まない1111760 通りについて見ていくことにします。

3の倍数でないものの個数について

ジョーカーを含まない初期手札1111760 通りのうち和が3の倍数でないものはいくつあるのでしょうか。
だいたい3つに2つなので1111760*2/3通りぐらいですが、きちんと求めておきます。
以下1の3乗根のうち1でないものの一つを{\omega}とします。{\omega}^3=1{\omega}^2+{\omega}+1=0が成り立ちます。これを使って求めましょう。

 (1+x+x^2+x^3+x^4)^{4}(1+{\omega}x+{\omega}^2x^2+x^3+{\omega}x^4)^{5}(1+{\omega}^2x+{\omega}x^2+x^3+{\omega}^2x^4)^{4}を展開したときの x^{11}の項の係数と先ほど求めた総数から求めることができます。
初期手札のうち和が3の倍数となるものの数をA_0、3で割って1余るものの数をA_1、3で割って2余るものの数をA_2とすると、 x^{11}の項の係数はA_0+A_1{\omega}+A_2{\omega}^2になります。また先ほどの話からA_0+A_1+A_2=1111760が成り立ちます。

 (1+x+x^2+x^3+x^4)^{4}の部分は3の倍数(3,6,9,Q)に対応する部分、
 (1+{\omega}x+{\omega}^2x^2+x^3+{\omega}x^4)^{5}の部分は3で割って1余る数(A,4,7,T,K)に対応する部分、
 (1+{\omega}^2x+{\omega}x^2+x^3+{\omega}^2x^4)^{4}の部分は3で割って2余る数(2,5,8,J)に対応する部分です。
Aが2枚なら {\omega}^2x^2に、2が2枚なら {\omega}x^2、6が3枚なら x^3に対応してます。要するに{\omega}の指数部分が3で割ったときの余り、 xの指数部分がそのカードを何枚選んだかになるんですね。

例えば、AAAA2223345という手札を考えましょう。Aが4枚、2が3枚、3が2枚、4が1枚、5が1枚、6~Kが0枚という手札ですね。この手札の和を3で割ったときの余りは1ですね。

この手札は
 {\omega}x^4*x^3*x^2*{\omega}x*{\omega}^2x*1*1*1*1*1*1*1*1={\omega}^4x^{11}={\omega}x^{11}

に対応して確かに {\omega}x^{11}となりますね。こんなことが他の組についても成り立ちます。

まぁ、雑な説明なので詳しく知りたい人は詳しい人に聞いてください。

 (1+x+x^2+x^3+x^4)^{4}(1+{\omega}x+{\omega}^2x^2+x^3+{\omega}x^4)^{5}(1+{\omega}^2x+{\omega}x^2+x^3+{\omega}^2x^4)^{4}を展開すると次のようになります。*4

展開の結果(ωとxの順番が入れ替わっちゃった)

というわけでA_0+A_1{\omega}+A_2{\omega}^2=20{\omega}^2となることがわかりました。
 A_0+A_1+A_2=1111760と合わせることで、
 A_0=370580 A_1=370580 A_2=370600と求められます。
よって初期手札のうち3の倍数でないものは A_1+A_2=370580+370600=741180通りとなります。 A_2が他より20個も多いのはちょっと意外ですね。

初期手札で札が全部偶数のものは何通りあるのか

以下5は偶数とします。札が全部偶数の初期手札とは、4556666TTTQみたいな最悪な手札のことです。見るだけで気持ち悪くなってきますね。
2,4,5,6,8,T,Qから11枚選ぶ方法の数は先ほどと同じ理屈で (1+x+x^2+x^3+x^4)^{7}x^{11}の項の係数を見ればよいですね。これで手札が全部偶数のものは6055通りであることがわかります。

次に手札全部偶数のもののうち3の倍数でもあるものの個数を求めます。これも先ほどの3の倍数の個数を求めたのと同じようにして求めます。
 (1+x+x^2+x^3+x^4)^{2}(1+{\omega}x+{\omega}^2x^2+x^3+{\omega}x^4)^{2}(1+{\omega}^2x+{\omega}x^2+x^3+{\omega}^2x^4)^{3}
 x^{11}の項の係数と全部偶数のものが6055通りあることを使えば求まります。

省略しますが、計算することで3の倍数のものが2017通り、3で割って1余るものが2021通り、3で割って2余るものが2017通りとなることがわかります。
これを使うことで3の倍数でない、奇数が1枚以上含まれている初期手札の数が741180-(2021+2017)=737142通りと求められました。

さて、ここまででわかったことをまとめておきます。

ここまでの整理

手札が全部偶数のものって少ないんだなぁと感じました。ここまで割とあっさり求められるのは面白いですね。

詰んでるセットの個数

さて今回のメインディッシュ、詰んでるセットはいくつあるかに入りましょう。といってもここからは実際に並べ替えて素数ができるかを調べるので力業ですね。パソコン君に頑張ってもらいましょう。
3の倍数でない、奇数が1枚以上含まれている初期手札737142通りをちまちま素数ができるか1個1個調べてもらいます。

C++を用いて調べた結果、詰んでるセットは(間違いがなければ)............................................














2通りになりました!!!!!!!!!!

すっくな!!!!

詰んでるセットはTTTTJJJJQQK、TTTTJJJQQQQだけだそうです。見事に11の倍数のものだけですね。737142通りのうち2通りしかないというのはめっちゃ少ないですね。10枚偶数で1枚だけ奇数という組でも必ず素数が作れるというのは面白いですね。11枚だとこんなことになるんですねぇ。本当にあってるか不安になりますね。

最後にジョーカーが1枚以上ある場合を考えましょう。ジョーカーがあれば3の倍数と手札が全て偶数になることを回避でき、またジョーカーを何にするか適切に選べばTTTTJJJJQQK、TTTTJJJQQQQにしないようにできるので詰んでるセットにはなりえないということになります。3枚出しにおけるQQXみたいなジョーカーがあるのに詰んでるみたいなことはないんですね。ちょっと残念ですね。

おわりに?

詰んでるセットがもっとあると思っていたので、11の倍数であるTTTTJJJJQQK、TTTTJJJQQQQのみという結果は少し残念でした。しかし一方で、3の倍数でなく、奇数が1枚以上ありTTTTJJJJQQK、TTTTJJJQQQQではないとき初手全出しで上がれる可能性があるということは競技素数大富豪プレイヤー的には嬉しいことなのかもしれません。運命力さえあればかなりの場合で勝てる可能性があるからです。理論上、素数を737140個覚えれば初期手札で11枚出しできるときに必ず勝てようになるということですね。

そして実は今回見たTTTTJJJJQQK、TTTTJJJQQQQについては絵札11枚あることから、相手は絵札(ジョーカー含む)を高々7枚しか持っていないので、8枚+3枚で勝つことができますね(具体的にはQTJJTTJJ+QTK、QTTQQTQJ+TJJなど)。ということでこれらは詰んでるセットだけど相手の手札にかからわず、知識が十分あれば勝てる手札ではあるんですね。3の倍数でもこのような勝ち確定手札はあるでしょう。勝ち確定できる初期手札がどれぐらいあるか気になりますよね。

ということで「理論上、先手番で勝ち確定の初期手札は何通りあるのか」という気になる問題が生まれました。
まず今回の話からTTTTJJJJQQK、TTTTJJJQQQQを含め、3の倍数でなく1枚以上奇数がある初期手札は勝ち確定です。また、ジョーカーを含むものも勝ち確定ですね。
問題は主に3の倍数です。まずは合成数ですかね。3の倍数の初期手札のうちどのくらい合成数出しできるのか知りたいです。
3の倍数かつ合成数出しができなくても勝ち確定の初期手札は存在します。例えばKKKQQJ+(3で割って1余る5枚出し素数)のように組めるパターンです*5。KK=K*TA、KKQKJなどについても同じことが言えますがKKJについてはKKQ、KKKで返されないかを考えないといけませんね。大変そうですね。
33555577779*6などのグロタンカカットしたら合成数で上がれるようになるものも忘れちゃいけませんね。それから、ドローのことまで考慮すると結構大変かもしれません*7

あと、偶数のみでも48828Q5=5^5*5^6という11枚使った合成数は存在します。他にもあったりするんですかね?

ということで、結構面倒そうですが気が向いたら勝ち確定手札について調べていこうと思います。
ここまで読んでいただきありがとうございました!間違っているところあったら是非教えてください。

さて、明日のアドベントカレンダーは翳猫さんで「20枚OVER 超多枚数出しの世界」です。僕は20枚出し以上を殆ど覚えていないので是非参考にしたいです。楽しみです。

*1:5は偶数

*2:こんなことせずに最初からプログラミングで求めろという意見は無視します

*3:

*4: (1+x+x^2+x^3+x^4)^{4}(1+{\omega}x+{\omega}^2x^2+x^3+{\omega}x^4)^{5}(1+{\omega}^2x+{\omega}x^2+x^3+{\omega}^2x^4)^{4}を変形すると (1+{\omega}x+{\omega}^2x^2+x^3+{\omega}x^4)(1+x^3+x^6+x^9+x^{12})^{4}になるので、これなら手作業でもできるか??

*5:相手がドローして手札12枚でもKKKQQJに返す合成数出しは不可能

*6:11枚合成数上りができるかは未確認なのでグロタンカットしないで上がれる可能性あり

*7:存在は未確認ですが11枚では勝ち確定でないがA~Kどれを引いても合成数出しまたは素数出しできるものようになるものがあったら面白いですね

合成数大富豪が楽しかった話~第7回はち杯に参加しました

こんにちは、OTTYです。この記事は素数大富豪 Advent Calendar 2022 - Adventarの11日目の記事となっております。昨日は素数を見てみよう - 浅葱色の計算用紙でした。色で素数の分布をみるという試み面白いですね。

はじめに

先日12/4(日)に第7回はち杯にて、基本的に合成数出ししかできない素数大富豪、通称合成数大富豪の大会が行われました。人類初となるこの試みに対して「合成数大富豪なんてゲームとして成り立つの??」と疑問に思った人も多いでしょう。僕もルールが公開された当初、無理でしょと思ってました。2,3がなくて詰む姿が容易に想像がつきます。

しかし実践・考察を重ねていくうちに「なんとか上がれるかも?」というラインまで持っていけて、はち杯が楽しかったので合成数大富豪の環境考察とその魅力について語りたいと思います。
今回ははち杯でのルールに基づいたお話がメインとなります。ルールに関しては次章を見てください。

はち杯のルール

はち杯とは、はちさんが不定期に開催している大会で、回ごとに異なるルール・試合形式で不定期に開催されています。第7回となる今大会はコンセプト「合成数のみであがる試合をみんなで作る。」のもとだいたい以下のようなルールで試合が行われました。

  • 基本的には合成数出ししかできない
  • 素数を出すと即負け
  • 最後上がるときだけは3枚以下の素数出しであがってよい
  • 制限時間は20分で超えると引き分けとなる
  • 大会時間内で試合できるだけ試合をするという形式で同じ相手との対戦が2戦以上行われることもある、途中参加途中退出あり
  • 点数で順位が決まる

点数配分は

ということで、今回は上がるときだけ3枚以下の素数を出して良いというルールがありました。これのおかげで完全に詰むことはあまりなくなっていたようです。
それにしても合成数出し上がりの1000点を狙いたくなってしまう面白いルールですね。

ルールを詳しく知りたい方は公式の03_特殊ルール_合成数出しのみ_大会ルール概要.pdf - Google ドライブを参照してください。

対策、何を考えたか

大会前、無対策だと上がれないだろうと考え合成数大富豪を実際にやってみました。そこでは次のように感じました。

  • 1分では組み切れない
  • 相手も1分では組めない
  • 合成数を出せても上がり切れない(特に絵札多め4枚にしてしまったケースが困る)
  • 今の実力ではカマトトして引きすぎても上がりきれず長期化しそう
  • 相手が3枚以下になってしまったら、こちらで手番を持ち続けないと勝てないのでピンチ
  • 2,3はやはり貴重
  • 必殺技みたいな大技を用いて組み切るのはまだ難しい
  • 絵札が余る
  • KQやKKは強い
  • 合成数上がりは頑張れば行ける

実際にプレイしてみると時間切れが多かったのですが相手も同様なのであまり手番を気にせずにプレイできました。相手との対戦というよりは自分と手札の戦いになるなと感じました。
ということで、次のような戦略を立てました。

  • 1人対戦で組み切れるようにする。上がれないのに相手の手を切るために手札を減らさない
  • カマトトは引きすぎないようにするが、絵札が多いなどで組み切れないときは引く
  • 組み切れそうな手札の時は考える。手番は回ってくるので、時間切れしても大丈夫
  • 組み切れるまでは手札を減らさないようにする。特に2,3,5は取っておく
  • 極力2や3を温存して6=2*3、8=2^3、9=3^2など簡単な手で上がりたい
  • 2枚出し、3枚出しでちまちま組む。弱い合成数でも問題ないので組み切ることを優先
  • 組み切れたら、相手のシンキングタイムを奪うために即パスを心がける

こんなことを心がけて1人でトランプを11枚広げてじっくり考えて練習しました。特に組めそうな手の時は長考しました。
それと並行して2,3枚出しを少し覚えました。大体そんなかんじではち杯に参加しました。

合成数のみで組めそうで長考させられた手札の例。これ組めるの?

はち杯の感想など

とても新鮮で楽しかった。色々な合成数が見れて楽しかった。3枚以下素数で上がってよいというルールは丁度よい難易度に感じた。
対策がうまく決まったときはすごく気持ちよかったです。手札に恵まれたこともあり、想像以上に合成数上がりができてうれしかったです。ちゃっかり優勝しちゃいました。

今回は「2枚出し、3枚出しでちまちま組む」という作戦が功を奏したと思います。2枚出し、3枚出しで組むというのは小回りが利きやすく、KKやKQを中心に考えるとうまくいった試合が多かったです。特にKKは余りがちなKを消費できるという意味でも強かったですね。
僕が4枚以上出したのは9T9Tぐらいだったと思います。5,6枚とかの多めの枚数で出せたとしてもそのあと手札が絵札ばっかりになると詰むので相手の多枚数出しには即パスを心がけ、自分のペースで減らしていきました。時間切れ上等で手札が詰まないようにだけ注意しました。

対戦したのは11戦で、6勝5敗、6勝のうち5回は合成数上がりができました。
その中で特に自分的に上手に組んで勝てたと感じた試合を2試合の数譜を紹介します。他の試合の数譜については、07_第7回 - Google ドライブを見てください。「本当にこの人たち合成数ばっかり出してるよ......」ってなること間違いなしです。

vs.3TKさん戦
3TK:(37ATJXJ686T)
OTTY:(8TQ94KK2JK5)
3TK:D(2)A236678TTJJX|X=0,P(A6675759Q4J4)
OTTY:D(2)KKKT2458=9JQ*2,P(3XQQA7K85923)
3TK:66T66AA23445,P(8A4T93)
OTTY:%%
3TK:49=7*7
OTTY:99=3*3*J
3TK:D(7)6T=5*78897T,P(733J)
OTTY:KQ=4A*2^5
3TK:D(4)%
OTTY:KK=TX*K|X=A
3TK:%
OTTY:8Q8=Q7*2^5*2#

素数大富豪だったらよさそうな初期手札でも合成数富豪的にはあまりよくないので合成数カマトト。
合成数カマトト後の手札が良すぎ&完全数8128であがれて最高に気持ちよかった。
数譜も美しい。カマトトしてから1枚も引かずにぴったりハマる手札すごくないですか??

vs.鼎猫さん戦
鼎猫:(4T476Q7XAQA)
OTTY:(6642T7Q2Q72)
鼎猫:D(K)QQ77=T6K44*AAX|X=3,P(8TXKJ8655838)
OTTY:D(J)7QT7Q=224*66J,P(JKT395K9A95)
鼎猫:D(4)%%
OTTY:D(2)%%
鼎猫:D(3)887643KQTJX=887643KQTAA*5*X|X=0|X=2,P(3J9A)
OTTY:%%
鼎猫:8876543AKQJT=8876543AKQJT*X*X|X=2|X=5,P()
OTTY:9T9T=2*5*7*7*K^2*J
鼎猫:D(2)KJKQ=2^4*8A9457
OTTY:D(5)%
鼎猫:D(7)%%
OTTY:%%
鼎猫:8883=3^3*7*47
OTTY:%
鼎猫:D(7)%%
OTTY:%%
鼎猫:D(K)%%
OTTY:D(2)66=J*2*3
鼎猫:D(J)AT=J*5*X|X=2
OTTY:KQ=4A*2^5
鼎猫:%
OTTY:5Q=2^9#

最後Q59で上がろうとしていたがうまく2を引くことで5Q=2^9で上がれることに気づき、後半でパスを続けたら鼎猫さんがドローしてくれたので9T9Tで使った2を引くことに成功した試合。Q59から5Q=2^9にできることに思いつけたのと合成数大富豪でもカードカウントが上手く決まったのがうれしかった。今後2の位置ぐらいは把握しておきたいと感じた。合成数出しの時の順序も大切になってくるかもしれない、という示唆に富んだ一戦だった。

反省点・今後の課題

まず時間切れを減らしたいですね。あと、今回は運よく2枚出しを主体として戦えたがもっと多枚数出しがパッとでてくるようにトレーニングしたいです。限界があるのでしょうが2,3が少ないとき用の合成数も覚えたいですね。勝てなかった試合は2,3が少なめなケースがあったので対策したい。
それと相手が3枚以下になった時に手番を渡さず勝ち切る試合をしてみたいです。難しそうですが。

合成数大富豪に感じる魅力

僕が感じた合成数大富豪の面白さは次の3つです。

素数大富豪では見れない合成数がたくさん見れる

普段使わない合成数を見れるの面白かったです。
素数ではないことは知ってるけど素因数は知らない合成数の素因数を知るきっかけになりました。
それと相手も合成数しか出せないので、TKQ=2^6*1583のような素数大富豪では使ってもKKJで切られる手も切り札として活躍できる機会があるというのは興味深いですね。
合成数素数より多いので今後よりバリエーションに富んだ合成数がみられるかもしれませんね。

パズル感が強い

合成数大富豪は手札を合成数のみで組み切るというパズルです。
素数大富豪の感想戦などで手札組み切りを考えるのが大好きなのでこれも大好物です。
ピタッと合成数のみで組み切れたときの気持ちよさは素数大富豪以上です。
誰か合成数大富豪の組み切りパズルを作って欲しい。

発展の余地がたくさんある

合成数大富豪まだまだ考察のし甲斐があるゲームです。どう発展していくのか、人間がどれぐらい強くなれるのか気になります。素数大富豪を始めた初期のころのワクワク感に近いものを感じました。素数大富豪はだいぶ煮詰まってきてるので気分転換にもいいのではと思います。
あと、合成数大富豪によって界隈全体の合成数への理解が深まって、素数大富豪でももっと合成数出しが活用ができるようになったら面白いですね。

オススメ合成数のメモ

ここからははち杯対策で覚えようとした合成数をただ羅列していきます。まだ覚えてないものや実践にはまだ使えていないものが多くありますが、少なくても僕が使えたら便利だと思ったものメモの公開です。ほぼ自分用の備忘録です。絵札を多く消費したい、できるだけ2^2の形をもつものは避けたいなどなど考えて抽出しましたがフィーリングです。今後はとりあえず3枚出しと重複なしの合成数を重点的に覚えていきたいし、それらを実戦に組み込んで出せるようにしたいですかね。

2枚出し

2枚出しについては全部ぱっと出てくるようにするのが良いと思います。
特にAQ=2^4*7、4K=7*59、6J=K*47、9K=J*83、JQ=2^3*K9は素数大富豪ではあんまり使わないけど合成数大富豪では重宝されそう。

3枚出し

まだ咄嗟に出てこないものも多いですが使いこなしたいです。次の主戦場は3枚出しになると勝手に思ってます。

635=5*Q7
654=2*3*T9
889=7*Q7
T48=2^3*KA
T66=2*K*4A
T8A=47*23
3TA=7*443
4K5=5*827
5T3=3^6*7
6T9=41*149
64K =J^2*53
7JA=K*547
8T7=J^2*67
86J=79*T9
8K7=79*T3
88K=7*Q59
JQ5=5^3*89
QQ8=2^5*379
Q3J=K*947
KQ2=2*3^8
K3Q=2^T*K
6KQ=2^7*479
8JQ=2^3*TK9
8QJ=K*6247
9KK=Q7*719
TKQ=2^6*1583

4枚出し

OverKJQJ以外ほぼ未開拓でした。

1859=J*K*K
3645=3^6*5
3888=2^4*3^5
656A=3^8
6859=19^3
T496=2^8*4A
AQ64=2^T*J
4T67=3^5*K^2
66Q7=89*743
J57Q=2^T*AK
J59J=3^7*53

言われれば「確かに」ってなるものは覚えておいてパッと出てくるようにしたい(けど難しい)......

4415=5*883
4435=5*887
6654=2*3*AT9
JA43=J*TK
などなど

このほかには9T9T=2*5*7^2*J^K^2みたいな1001の倍数のもの、8686=43*2*TAみたいな101の倍数は見つけやすそうで活用しました。4747=47*TAのような(素数)*TAの形のものはコスト高いですが......

5枚出し以上

全く覚えてないし探索もしてない、これが出せたらかっこいいなと思ったもののメモ。
Q888A=359^2
8837Q=2^T*863
9Q673=97^3
Q94K9=7^6*J
QJ736A=59^4

5枚以上をコンスタントに使いこなせたら楽しいだろうなぁ......

最後に

合成数大富豪が成立するほど我々プレイヤーのカード捌きが発展しているという事実、めっちゃ面白くないですか??3年前とかなら絶対無理だったであろうルールでゲームが成立したことに驚いてます。発展したら強い合成数が発見されたり定石が確立されたりするんですかね?楽しみです。
次の合成数大富豪大会までに精進しようと思います(素数を忘れない程度に)。

合成数大富豪という面白いルールで大会を開催してくださったはちさんありがとうございました!

明日の記事は3TKさんによる「皆も書こう!素数大富豪攻略記事!」です。楽しみですね。

n枚2n桁を2のべき乗でできるだけたくさん割りたい話

あけましておめでとうございます。OTTYです。この記事は素数大富豪 Advent Calendar 2021 - Adventarの10日目の記事です。
2022年のアドベントカレンダー書こうと思ったら2021年のを書いていないことに気づきました。
大変遅くなり申し訳ございません。

はじめに

来たる2022/12/4(日)にはち杯にて合成数出しのみの特殊ルールでの試合(通称:合成数大富豪)が行われます。
やばいですね。どのような試合になるのか、きちんとゲームとして成り立つのか、とても気になるところですね。
僕も大会に向け真面目に準備しております。普段の素数大富豪とは色々違った立ち回りが求められそうです。

このルールでの戦略は色々考察しているのですが、それらは後日語ることにします。
今回は合成数大富豪にむけて合成数探索していたら見つけた、あるn枚2n桁の性質の話をしようと思います。役に立つかは知りません。

テーマは2のべき乗です。
n枚2n桁で2^m*R(Rは奇数。合成数でもよい)という形でmが割と大きくて使いやすい合成数を探していました。
そんな中で、任意のnに対して2^2nを約数に持つn枚2n桁があるという事実を何かに活かせないかなーと考えました。
意外と使える可能性あるのではと思ったので共有しておきます。あと単純に事実として面白いし。

2^2nを約数に持つn枚2n桁について

考えたことなかったのですが、「2^2nを約数に持つn枚2n桁」はどのnに対しても1つ存在します。
例えば、Q=2^2*3やKQ=2^5*41です。(KQのように2^2nよりも大きな2の冪で割れることもある)

そして、その見つけ方も簡単で作りやすいです。

1枚ではQ=2^2*3なので2^2で割れます。
2枚ではQの頭にKをつけてKQ=2^5*41となります。
3枚ではKQの頭にTをつけてTKQとすればTKQ=2^6*1583となり確かに2^6で割れます。
4枚ではTKQの頭にKをつけて、KTKQとすればKTKQ=2^8*3*7*2437となります。2^8で割れることが確認できますね。

このような感じでn枚出しで2^2nで割れるものの頭に札をうまく選んでつければn+1枚出しで2^{2(n+1)}で割れるものを作ることができます。
10^(2k)=2^(2k)*5^(2k)となることと、T,J,Q,Kを4で割った時の余りが2,3,0,1となることから示せるので、一応証明しておきます。トランプは無限にあるとします。

(証明)

 2^{2n}を約数に持つn枚2n桁はどのnに対してもただ1つ存在する・・・(*)

(*)を数学的帰納法で示す。

 N_k 右からk枚目のカードの数字とする。ただし N_k  10,11,12,13のいずれかとする。
 B_n  N_1 ~  N_n を右から並べてできた数、すなわち

 B_n =10^ {2(n-1)} N_n+10^ {2(n-1)-2} N_{n-1}+ ・・・+10^ {2} N_{2}+ N_{1}

とする。

(ⅰ)  n=1 のとき、

 B_1 = N_1 =12=2^{2×1}×3としたとき、またそのときに限り 2^{2×1}を約数に持つ。


(ⅱ)  n=k のとき、(*)が成立していると仮定する。

仮定から B_{k}=2^{2k}rとなる N_1 ~  N_k の組ただ1つ存在する。( rは整数。偶数でもよい)

このとき、 B_{k}の頭に  N_{k+1} をつけて B_{k+1}を作ると、

 B_{k+1}=10^{2((k+1)-1)}N_{k+1}+B_{k}=2^{2k}×5^{2k}N_{k+1}+2^{2k}r=2^{2k}(5^{2k}N_{k+1}+r)

ここで、 5^{2k}N_{k+1}+r 4の倍数となるように N_{k+1} 決めればよい。

 5^{2k}N_{k+1}+r≡N_{k+1}+r   (mod4)

であるので、

 r≡0   (mod4)のとき N_{k+1}=12

 r≡1   (mod4)のとき N_{k+1}=11

 r≡2   (mod4)のとき N_{k+1}=10

 r≡3   (mod4)のとき N_{k+1}=13

とすれば 5^{2k}N_{k+1}+r 4で割り切れるようできる。

よって B_{k+1} N_{k+1} をうまく選ぶことで 2^{2(k+1)}を約数に持つようにでき、また N_{k+1}  rから1つに定まる。

(ⅰ)(ⅱ)から(*)は示された。

(証明終わり)


要するに、上の例のTKQやKTKQみたいなのを続けていけば2^2nで割れるn枚2n桁が得られるし、それは1個しかないよって話です。

5枚なら、KTKQ=2^8*3*7*2437から、3*7*2437≡1(mod4)なので頭にJをつけてJKTKQとすればJKTKQ=2^10*107*10159となります。

6枚なら、JKTKQ=2^10*107*10159から、107*10159≡1(mod4)なのでJをつけてJJKTKQとすればJJKTKQ=2^13*83*163417となります。

同様に7枚、8枚......とずっと続けていくことで......KKQJQKQJKQQQKJJJTJJQTJJKTKQという列が得られます。
調べていけば2^100を約数に持つ50枚100桁を構成できるとか面白いですね。
T,J,Q,Kの4で割った余りがすべて異なることに初めて注目しました。なんてよくできたゲームなんだ。

それが何の役に立つの?

この事実は面白い(と少なくとも僕は思っている)ですが、合成数大富豪で役に立つのでしょうか。
現実的に有効に使えそうなのは贔屓目に見てもJJKTKQまでってところでしょう。
正直7枚出し以上の素因数を見たところ出しやすい合成数はなさそうです。

じゃあ、観賞用かと言うかとそうとも言い切れません。

例えば、4枚出しで何か強めな合成数を探すのに、末尾をTKQにして頭にKではない何かつけてみると少なくとも2^6を約数に持つ4枚7桁、8桁が得られます。
そうすると、5TKQ=2^8*19927、8TKQ=2^6*Q6583、9TKQ=2^K*J*TA、JTKQ=2^7*86729とか現実的に出せそうな合成数が見つかります。

このように頭を挿げ替えて探索してみるのはどうでしょうかと提案してみます。頭につける数の4で割った余りなんかに着目するといいかもしれません。

4枚6桁についても、例えば頭をKQの頭をTではなく、4で割った時余りがTと同じく2になる2桁の78とか94なんてものをつけてみると、78KQ=2^T*7*T9、94KQ=2^8*3677なんかが簡単に見つかります。逆に2^4を約数に持つが2^5を約数に持たないようにしたい*1なら、4で割ったとき余りが1,3であるものをKQの頭につけてみるのもいいかもしれませんね。

そんな感じで、KQやTKQ、KTKQの頭に1枚2枚足して探索してみるとよいものが見つかるかもしれません。さらに、これを応用してJJKTKQとかの長いものから2枚を変えたりしたらいい8枚12桁とかがあるかもしれません。知らんけど。

おわりに

最近、はち杯に向けて6枚出しまでの合成数一覧をつらつらを眺めつつ、良さそうな合成数をツイートすることを日課にしています。
なんかないかなーと探していますが使いやすさと強さを両立する合成数ってなかなかないですよね。


そんななか、ふと思ったことを記事にしてみました。
いままで気にしていなかったn枚2n桁の性質の話でしたが、今回紹介した探索方法なら素数判定機(素因数分解機?)だけでも簡単にできるのではないでしょうか。
n枚2n-1桁やn枚2n-2桁の良さそうな合成数が発見できるかもしれないので、ぜひmy合成数を探索してみてください。いい合成数が見つかったら(僕だけにこっそり)教えください。

それにしても、はち杯楽しみですね。
合成数大富豪はスタートラインがみんなほぼ同じなので、素数大富豪始めたころのワクワク感に近いものを感じています。
僕はまず一人プレイでどうにか上がれるようにするために、素数富豪的に勿体ないと感じる並びでも出しやすい合成数を覚えていこうと思います。

以上、読んでいただきありがとうございました。2021年12/22分のアドベントカレンダーも11月中に埋めるように努力します。

*1:5は素因数として使たいのでありがちな願望