[[マケニピのオーナーとしてのmkothaの思考ログです。最初は自分用メモでしたが途中から公開を意識して書いています。 いろいろ見当外れのことを書いていると思います。訂正されていない間違いがあれば教えて下さると助かります。 なお、途心10マーガレットのミニマックス解の内容についての言及があるので注意して下さい。]] 一回戦の相手は峰 これはかなり有利な組み合わせと思ってよさそう 峰の勝ち筋として加護がある。これに勝てるのは、 0. 臥竜を削って初期攻撃+1 1. 臥竜を削って導0熱 2. 絶対剣 3. デス剣 4. 熱熱 くらいか。 ただし、加護以外の勝ち筋があるかもしれない。念のため全部の-1/+1峰を列挙すべき (プールの広さについて) 片方が圧倒的に有利な成長戦を考える。Xが有利な側、Yが不利な側 Yには、望みのある選択肢が数個しかないのに対し、Xは大抵の組み合わせで勝利する 簡単のため、Yは少数の「類似選択肢集合」を持つことにする [[後日追記: この単純化が許される例が思ったより少ない。そのためこの考察は全体としてほとんど無意味]] それぞれの類似選択肢集合に対して、Xはそれを全滅させられる選択肢を持っている また、ある類似選択肢集合の要素に勝てるXの選択肢は、それ以外の類似選択肢集合の要素には決して勝てない こういう単純化した状況を考える 類似選択肢集合がk>=2個のとき、この成長戦は読み合いになり、ナッシュ均衡において Xの勝率は1/kになる(この式はk=1でも成り立つ) つまり類似選択肢集合が2個でもあればこの成長戦は実は対等であり、それより大きければY有利である マーガレット系ゲームにおいては剣プールの広さが類似選択肢集合の数に効いてくるはず 剣プールが十分に広ければ、ほとんどの成長戦が実質的に有利不利のないじゃんけんに帰着すると予想できる さらに言うと、m100の成長戦は、「片方が詰んでいる」と「対等な読み合い」の二つが大部分なのではないか . -1/+1峰を列挙したところ見逃していた筋が見つかった。魔法剣追加で、オガアア殺しと同じ発想 加護と魔法の両方に対応するには、怒2を削って熱重過絶死幕確咲のいずれか追加しかないか 応用の効く導0を持てなくなるのは残念 また、デス剣を持った場合に峰が詰んでいることも確認 二回戦を考えるために、金剛と習志野の対戦結果を予想しよう *予想: 理解子 対 くれ夫 かなり極端な組み合わせで、両者とも選択肢が少なく、たぶん解けた [[後日追記: 下にあるように、これは勘違い]] 理解子の選択肢は三つ: HP振り(r1)、防御振り(r2)、押追加(r3) いずれの場合も弱体は素早さか星霜剣で、一ターン目に残響剣でHPを稼げるようにする 対するくれ夫も選択肢は三つ: そのまま(k0)、高速を音速へ(k1)、攻撃をHPへ(k2) これらの勝敗表は、 r1 r2 r3 k0 . ++ . k1 @@ . . k2 . . @@ で、ナッシュ均衡を前提にすると理解子の勝率は75%のはず . 5/0/0/4/鏡鏡鏡護押/ と 5/0/0/4/鏡鏡鏡魔押/ の両方に対応する成長を探したところ、 出るわ出るわ、総計10956通りの選択肢 上で考えた方法の他に、激怒剣2を疑似遅延して反射を魂で受ける型が大量にある 遅延の方法もいろいろあって、素早さを2に落とした上で竜化剣なんてのもある 一番変態的なのは、衝撃剣を反射してもらって自己スタンで遅延する型か . 優志が詰んでいることを確認。一例が、5/0/0/3/胎波熱導0黙熱 瀬子のオーナーが詰みに気付くかどうかは分からないが、瀬子優位は揺るがなさそう 瀬子勝利を前提にしよう *理解子 対 くれ夫 ちゃんと確認したところくれ夫は詰んでいた。10/0/0/4/臥黙黙残/ 七天も詰んでる。5/0/0/4/星死黙黙残/ 残星やばい ちなみに5/0/0/4/死星黙黙残/ではだめで、5/1/0/4/戟熱壊壊/という敵の星霜剣を利用した妙手がある . /1/0/0ブロックを残星が制することは、ほぼ間違いないだろう /1/0/1ブロックには導0使いが三人も居るので、彼らがなんとかしてくれることを期待する それにしても詰んでいる組み合わせが多い 叫介 対 灯 はいずれも詰んでいないことが確認できた 瀬子は、優志を詰ませることを前提にするなら、素早さ3のまま持てるのは波状剣だけ 素早さを2に落として魂鏡避命を持つこともできる . 波状剣なかなか強い。加熱型の剣師ならほとんどデス剣の上位互換のように使える 重要な違いは、鏡盾避魂命で止まらないこと、非リミであること、加護で止まること、オーバーキルできること . 瀬子対マケニピを-2/+3の成長戦と見て調べてみる 規模が大きすぎてとても全列挙はできないのでタブー探索で どうやら、かなり不利な状況らしい。もしかしたら詰んでいるかも マケニピの一回戦の自由度が瀬子に比べて大きいことが救いか マケニピの成長案として拡散剣を使ったものが全く出てこない 拡散剣が効果的でないのか、それとも探索方法に問題があるのか -2/+3瀬子の柔軟性が凄まじい。撃鉄を呼んだりゾアラを呼んだり 紫電を呼べるのはもちろん、自分が紫電もどき(5/0/0/3/導0速衝熱衝熱全/)にもなれて、これが意外に有力 . 拡散剣持ちが全く見つからない訳ではなかった。例: 5/0/0/3/怒2熱魂散過鏡臥/ -2/+3瀬子は選択肢が広すぎてまともに相手できない そこで、「瀬子は黙祷剣を捨てない」という仮定を導入してみる 優志を詰ませるには黙胎が必要だし、そうでなくても優志戦でマトリョを捨てるのは相当の賭けだろう 一回戦で黙胎を保持した場合、二回戦で黙祷剣を捨てるのは、 ほとんど胎胎剣を捨てることの下位互換(詠唱剣に持ち変えて、マトリョしてから滅奏みたいな選択肢もあるが無視) [[後日追記: 黙祷より胎胎の方が有用な場合として、破壊剣に対する盾というのもある]] まだ-2/+3戦の全体像が見えていないが、締め切りが近いので追うのを止めて、瀬子戦で有効そうだった剣を列挙する 護速壊熱鏡先撹封散過衝振重 このうち峰に安定して勝てるのは 速熱過衝重 素早さ振りも魅力的だが、やはり峰に容易に負ける 10/0/0/3/全熱臥魂熱/ 10/0/0/3/全熱臥過魂/ 10/0/0/3/全熱臥重魂/ 10/0/0/2/速熱全臥魂怒2/ この四つは峰を完封する。加速剣を安定して持つには初期素早さを落とすしかない 10/0/0/3/魂熱衝怒2全/ 完封はできないが、これが勝てないのは ・峰が素早さを落として加護剣を取得 ・導1を無視したときに、峰の剣の最初の二本が加護と押分 の両方が満たされた場合に限るので、リスクがあるものの選択肢に入る . 回路チャットでdさんが、「他プレイヤーの詰みを公開することでmkothaが有利になるなら公開は許されるのではないか」という主旨のことを言っていた 本当にそうだろうか TCGでは情報操作を伴う心理戦が認められていたし、m100では明示的な言及はないけれどそれが許される雰囲気はある 一方で、直感的には、直接の対戦相手でもない第三者からゲームの「解」を教えられたら、 考える楽しみ(m100の楽しさの重要な部分)を奪われたように感じるのではないかと想像できる 一つには、MTCG風のトーナメント形式のイベントをどのように捕らえるべきか不明なのが問題だろう 55人から一人の優勝者を選ぶのが一つのゲームで、トーナメントはその手段に過ぎないという立場なら、 自分以外の参加者は、直接の対戦相手であろうかなかろうが敵であり、敵が情報撹乱を仕掛けてきたり 一時的な同盟を持ち掛けてくるのは自然なことだ 一方、トーナメントを構成する個々の試合を完結したゲームと見なし、優勝者の決定を副次的な物だと考えるなら、 対戦相手以外からの干渉は外野に口出しされるようなもので、腹が立つのも当然だ dさんの指摘を受けて考え直した今、私はおおむね前者のように捉えているが、TCG参加中はどちらかといえば後者の見方に近かったように思う m100参加者にも多かれ少なかれ後者の考えがあるだろうから、期待を破るなら反感を覚悟しないといけない もう一つ、この問題が表面化した原因の一つは、m100一回戦におけるコンピュータの有効性だろう -1/+1成長戦は選択肢が少なく、コンピュータで容易に選択肢を全列挙できる 片方が詰んでいればそのことは比較的簡単に判断できるし、そうでないにしてもゲームの全体像が見える この手の作業は人力では非常に困難で、例えば瀬子に波状剣を持たせることを思い付く人はそんなにいないだろうし、 [[後日追記: そんなことはない。友人Kさんは10分もかけずに波状剣に辿りついている]] 思い付いてもその構成で漏れがないことを確信するのは困難だろう 結果、コンピュータを使って状況を解析できる人がかなりの情報的優位に立つことになる ただし、m100というゲームはそもそもコンピュータが強いのかというと、そうでもないと思う タブー探索で発見した臥怒や鏡儀黙黙歪は他の人も見つけている 私の書いた探索プログラムは、今まで一度として残星や反0を発見したことがない もちろん、もっとうまくやれば、あるいはもっと大量の計算資源を使えば、話は変わるかもしれない . 一回戦提出した。10/0/0/3/全熱臥過魂 熱過衝を検討したところ、過が一番有利な印象 一貫した比較をする方法が判らないし、試行錯誤の余裕もないので適当な判断 重と速については試す時間がなかった 重を持つならおそらく過の方が優秀だろうし、速は素早さを下げる点で気が進まない . 一回戦の揺らぐアリスの設定に、「100%の勝ちがない」とあるが、5/0/0/3/導0黙炎胎黙黙/で100%じゃないんだろうか カリナの炎上剣も分からない。いったいどういう変動を読んだんだろう だがしかし他人の心配をしている余裕はない 単純に残星が一人減ったのを喜ぶことにする . (詰みの判定について) m100の-1/+1成長戦は選択肢が数十万規模なので、完全な総当たりのシミュレーションは現実的な時間では終わらない 一方、「プレイヤーAのある手aが与えられたとき、それに勝つプレイヤーBの手を全て列挙する」のはずっと計算量が少ない もしこれが現実的な時間で計算できるなら、次のような手順で二人の対戦に詰みがあるかどうかを判断できる Aが詰んでいるかどうかを判定するアルゴリズム: 1. Bの選択肢全てからなる集合を<候補集合>とする 2. <候補集合>が空ならば、Aは詰んでいない。判定を終了する 3. <候補集合>の要素を一つ選びcとする 4. cに負けないようなAの選択肢が存在するか調べて分岐: 4-a. 存在しないならAは詰んでいる。判定を終了する 4-b. 存在するならば、そのようなものを一つ選んでdとする。<候補集合>からdに勝てないものを取り除き、2に戻る この手順を実装したが、今となっては暇潰し以上の役には立ちそうにない 一回戦の各試合に適用した結果は以下 南綾-ひばり? : 詰みなし 強-秀子 : 5/0/0/2/死儀0導0黙撃黙泡/ 椿-ミドリ : 10/3/0/2/斬毒壊/ 郁良-治郎 : 不明 えぬえむ-長ラン : 詰みなし ユーリカン-有坂 : 15/0/0/2/胎速熱舞熱/、15/0/0/2/胎怒4速熱舞/、15/0/0/2/胎絶速熱舞/、15/0/0/2/胎重速熱舞/ (この四つのみ) カリナ-アリス : 5/0/0/3/導0黙炎胎黙黙/ スー-おりの : 詰みなし 理解子-くれ夫 : 10/0/0/4/臥黙黙残/ 美登理-八刀 : 5/0/0/4/星死黙黙残/ 紫子-酔 : 5/0/0/4/導0護爆詠押/ 叫介-灯 : おそらく詰みなし 優志-瀬子 : 5/0/0/3/胎波熱導0黙熱/ マケニピ-峰 : 10/0/0/3/臥死魂熱全/ 姑獲女-カルキ : 詰みなし 湯画-コヨミちゃん : 5/0/0/2/導0黙撃黙爆押黙/ . 瀬子が負けた。したがって二回戦の相手は優志。これは想定外。どうしよう しかし相性自体はかなり良さそう。過重剣は遅延起動5なので相手の激怒剣4を助けない . ざっと見たところ、優志対マケニピの-1/+2成長戦は圧倒的にマケニピ有利のようだ 優志を詰ませているように見える手もいくつかある(例: 10/0/0/4/魂全熱過魂/) くじ運の良さが凄まじい . マケニピの弱点は色々あるが、手も足も出ないような天敵として、 残星、反0、マトリョ炎上の三つが見つかっている 現状では-1/+2変動でもこれらに対処できないので、なんとかしたい ・残星 「先制して魔封」以外にまともな対策がないように思える 5/0/1/5/幕星黙黙残黙/(途心13)あたりが非常に厳しい 高速残星(5/0/0/6/導0黙導0星黙残/、途心13)にはまず勝てないのであきらめる 役立ちそうな剣は先導0封 ・反0 途心13の反0は、5/0/0/6/導0黙導0黙反押/ 先制は不可能だろうから0ターン目にバブリアをビルドするくらいか 役立ちそうな剣は導0詠泡 また、素早さを落として儀式剣を持ち、余った途心で補助剣を持つ構成もあるか ・マトリョ炎上 5/0/0/3/導0黙胎黙黙炎/(途心10)+α 相手がマトリョをビルドする前に魔封するか、 相手が炎上を使う前に壁/鏡/見切り 役立ちそうな剣は導0封先詠泡黙胎鏡避 (思い付き) 美登理と理解子が共謀して三回戦以降で優位に立とうとすることはあり得るだろうか 理解子も美登理も、-2/+4変動で5/0/0/4/儀0導0黙導0星黙残/に到達できる つまり最速なら三回戦に高速残星で臨むことができる しかし、二回戦の直接対決に全力で勝とうと思えば残星を崩すことになって高速残星に近づかない 一方、例えば、美登理と理解子が二人とも二回戦に10/0/0/4/黙黙残星導0/を提出するという協定を行えば、 二回戦の突破は運に任せることになるが、三回戦で高速残星になるという選択肢が手に入る この計画の問題は、三回戦で酔に当たった場合、素早さ4の高速残星ではおそらく勝てないという点か 理想的なシナリオは、素早さ1で二回戦を突破した灯を三回戦で完封し、準決勝には素早さ6で臨むというもの こうなれば優勝は決まったようなものだろう . 二回戦と三回戦は予定通り-1/+2変動で、それ以降は-2/+3変動という発表 もし準決勝で残星と当たるなら、高速残星を相手にすることになる可能性が高まった 5/0/0/6/導0黙導0星黙残/に勝つには素早さ+3に押 5/0/0/4/幕儀0導0黙導0星黙残/に勝つには素早さ+1攻撃力+1に導0封 素早さ4さえ確保しておけば全く絶望的ということはないか そんなことより三回戦を考えよう 姑獲女とコヨミちゃんはどちらも高速ビルダーで、マトリョ炎上への転向が可能 . タブー探索で見つけた剣師を一つ一つ手で環境に追加するのが面倒になってきたので自動化 さらに、環境のミニマックス解を計算して、それに従って環境の各剣師に重みを付けるようにした 人の手を一切介さずに解析が進んで頼もしいが、なにか見過ごしていても気づかないような気がして不安にもなる 同様のルーチンを15剣マーガレットで走らせてみた ウォール一体の環境から始め、放置していたら168体になっていた 高毒速攻、斬撃速攻、速熱衝、加護デス、ヌルデス、鏡デス、魔鏡、鏡連打など有力なタイプは大部分出ている 気づいた範囲では、掌、●野 啓、手首切ったネスとそれぞれ同型のものがあった ライカと同型のものはないが、ライカもどき(15/0/1/2/速衝熱絶/)ならいる 思ったよりまともな結果が出ているので、有力な探索手段かもしれない ただし魔連打を一つも見つけていない。コンボ性の強い構成を見つけられないのは今のタブー探索器の弱点 河村も出てきた。回4とヌル絶を持つCPS風デス剣師も [[後日追記: CPSというより巫女瓜に近い]] ミニマックス解で重みを付けた環境では、環境中の全ての剣師の勝率が五割以下になる 言い換えると、環境中の剣師は一人残らず対策された状態になっている その環境で、なるべく勝率の高い剣師をタブー探索で探す。ただし最悪でも勝率は五割超えの条件で すると、環境中にないタイプの剣師が見つかることが比較的多い 既存剣師に近ければ近いほど厳重に対策されている可能性が高いからだろう 比較的短時間で多様な構成が発見できたことはこのように説明できそう . あまりにも簡単にマーガレットの強剣師が列挙されていくのに感動したので、 調子に乗って途心10のm100でも同じことをやってみたが、収束がかなり遅くて使えない 二回戦の締切があるのでこんなことをやっている時間はない ("強い"剣師とは) 普通、マーガレットでは、ある剣師が強いか弱いかというのは環境に依存すると考えられていると思う ある環境で勝率一位の剣師でも、別の環境ではまったく活躍できないということがある また、他の剣師の下位互換でないあらゆる剣師には、その剣師が唯一の最適解であるような環境がある この意味では、下位互換であるものを除けば、剣師の間に絶対的な優劣は存在しない 一方で、素朴には、ウォールよりも河村の方が"強い"と感じられる これを単なる思い込みと見ることもできるが、この判断を正当化する方法もいくつかありそうだ 紗性(マーガレットであるという性質)は、剣師の強さを絶対的に評価する指標の一つ これの一般化として硬度と堅度の概念があって、やはり指標になる ウォールより河村が強いと言いたいだけならこれで足りる ただ、硬度や堅度が低くても強いと思わせる剣師は居る そこで、「均衡環境における勝率」という指標はどうだろうか ただし、均衡環境とは、宇多におけるミニマックス解に従って全ての剣師に重みを付けた環境で、 勝率の計算に際しては引き分けを0.5勝扱いにするものとする 均衡環境で0でない重みを持つ剣師の勝率は全て1/2なので、一流の剣師は皆同じ"強さ"を持つことになる また、この指標も紗性の一般化になっていて、紗剣師は必ず勝率1/2を持つ この方法の欠点は、均衡環境が一つであるとは限らないことと、途心10での均衡環境の計算が絶望的に難しいことだろう 堅度や硬度を示すことに比べてずっと難しく、紗剣師の不在を証明するよりさらに難しい 途心4の世界では実際に均衡環境とそこでの勝率を計算できるよ! 途心4の均衡環境(無数にある)の一例: 2/9: 5/1/0/1/毒/ 1/9: 5/0/0/1/死護/ 1/9: 5/0/0/1/死鏡/ 1/9: 5/0/0/1/絶熱/ 1/9: 5/0/0/1/魔鏡/ 1/9: 5/0/0/1/重熱/ 1/9: 5/0/0/1/鏡護/ 1/9: 15/0/1/0// この環境下の勝率(括弧内は固度): 9/18: 5/1/0/1/毒/ (2.5) 9/18: 5/0/0/1/死護/ (3) 9/18: 5/0/0/1/死鏡/ (4) 9/18: 5/0/0/1/絶熱/ (4) 9/18: 5/0/0/1/魔鏡/ (3) 9/18: 5/0/0/1/重熱/ (3) 9/18: 5/0/0/1/鏡護/ (1.5) 9/18: 15/0/1/0// (3) 9/18: 5/0/0/1/鏡鏡/ (1.5) 9/18: 5/0/0/1/鏡魔/ (2.5) 9/18: 10/0/0/1/死/ (3) 9/18: 10/0/0/1/護/ (2.5) 8/18: 5/0/0/1/死斬/ (3.5) 8/18: 5/1/0/1/衝/ (2.5) 8/18: 10/0/0/1/鏡/ (2.5) 6/18: 5/0/0/1/死盾/ (3) 6/18: 5/0/0/1/死魔/ (4) 6/18: 5/1/0/1/絶/ (3) 6/18: 10/0/0/1/盾/ (2.5) 4/18: 5/0/0/1/死命/ (3) 4/18: 5/0/0/1/死速/ (3) 4/18: 5/0/0/1/回20命/(1.5) 均衡環境での勝率と固度の間に、あまり強い相関関係はないように見える . 探索器に指摘されて初めて気づいたが、黙祷剣二本と素早さ4を持つ剣師は-1/+2変動で残星になれる 三回戦でも残星を警戒しないといけない . コヨミちゃんを仮想敵として三回戦を考える 姑獲女が相手でも大して違わないだろう 現状のツールには-2/+4戦を全自動で戦況分析するのは荷が重いようだが、 明らかな傾向として、素早さ4または先行剣がかなり有用なようだ もう時間がないので、素早さに振ることは確定にする その上で優志を圧倒でき、なるべく三回戦で無駄にならないような成長を探そう 10/0/0/4/魂全熱過魂/では優志を詰ませられていないことが分かった 0/0/0/3/臥臥臥鳴4怒4散怒4散/に負ける . 詰ませることはできないものの、優志戦で優秀な素早さ4の選択肢がたくさん見付かった しかし、この成長では三回戦が絶望的に不利なのではないかという疑いが拭えない もしかしたら、二回戦で危険を冒してでも導0あたりを持つべきかもしれない 目的の確認: 目標は優勝である。二回戦敗退と三回戦敗退の間に優劣を設けない(今決めた) 乱暴だが、二回戦でコヨミちゃんが5/0/0/4/紫黙黙泡導0黙/という構成で勝った場合を想定する 10/0/0/4/戟過熱臥魂/で行った場合、三回戦の勝率は粗い予測で1/6 10/0/0/4/熱導0全臥魂/の場合なら1/4だった 導0は思ったほど有効じゃない . 送った。10/0/0/4/戟過熱臥魂/ 激怒剣4をしっかり疑似遅延されると負けるので、あとは運だのみ . エテンを使ってマーガレットの不在を確かめてみた がんばって探索範囲を限定した上でふるいにかけ、約一分で探索終了 使った剣師は、 50/0/0/0//ウォール 0/6/0/2/高高/エル・ランダマイザー 5/0/0/4/速熱熱衝衝/ヤマハ 20/0/0/1/速回4斬命死/Cat_Panch_Sword 15/0/1/2/速熱衝絶/徘徊するライカ 5/3/0/3/毒毒毒/掌 10/2/0/3/熱斬斬/●野 啓 前三人で探索範囲を狭め、後五人で試濁(ヤマハは両方に使った) 探索剣師数は9567539(途心10の総剣師数は2396702099091531)。エテンが鬼のように速い コードが間違っていなければ、全ての途心10剣師はこの七人のいずれかに負けることになる [[後日追記: 自分の簡易あいざわ判定に間違いがあって探索すべき剣師の一部を取り逃していた 修正してやりなおしたが結論に変更はない。現在のコードでの探索剣師数は5038687]] 発表しようかと思ったが、ググってみたら既にstaraさんがエテンで途心10の全探索をされていたことが分かった 全探索が可能だなんて思ってもみなかった。なんてことだ 途心10のマーガレットはいまだ正体の掴めないものだと思っていたので、全探索できるというのは結構なショックだ このゲームに漠然と感じていた神秘性を剥ぎ取られたように感じられて寂しい (とは言っても、全探索を達成したのが自分だったらこんなことを考えることもなく純粋に浮かれていただろうが) 全探索ができるということは、厳密な均衡解の計算ができるのぞみもありそうだ . (高速星霜剣のヤバさについて) 高途心では高速残星が強すぎるという話がある 例えば途心30では、5/0/0/22/導0黙導0星黙残押/で素早さ21以下のあらゆる相手に勝てる これは強すぎてゲームの幅を致命的に狭めているように思える (一方で、途心10から始まって最終的に途心15になるようなトーナメントなら、 高速残星は確かに強いけれどゲームを壊してはいないと思う。感覚的な話) これに対して、残響剣が強すぎる(MP5で途心30剣師が出てくるのは明らかにおかしい)とか 黙祷剣が強すぎる(途心10でも強い!)とか考えることはできるが、どうやら一番重要なのは星霜剣のようだ 例えば、5/0/0/20/導0詠導0星詠星再2再4死/は素早さ19以下のあらゆる相手に勝つが、残響剣も黙祷剣も使っていない 1000点アマリリスが単なる素早さ勝負にならないのは、相手に先手を取られても決して一方的には殺されない0ターン目が保証されているからだろう 0ターン目の星霜剣はこの保証を破る。相手に行動権を与えずに勝利することを可能にする唯一の剣だ しかし星霜剣は面白い剣なので禁止するのも嫌な感じだ 弱体星霜剣 <環> : ターン数>0なら、ターン数を1増加させる。 とか 跳躍星霜剣 <環> : ターン数を1.2倍にする。(端数切り上げ) みたいな調整はあり得るだろうか . 例のマーガレットの自己補強探索器が紫電と魔連打を見つけていた ただし魔連打といっても一般的な4本構成ではなく、5/0/0/2/速速魔魔魔魔魔/ もしかすると普通の魔連打は、タブー探索器に見つけられないのではなく、 環境に入る条件(勝率五割超え)を満たしていないだけなのか . やはりそうだった。ついでに環境に入っていない剣師ですぐ思い付くものの勝率も見てみた 特に、環境中に高毒速攻はたくさん居るのに、高速剣を中心に据えた速攻剣師がいなかったのが不思議だったので、重点的に 0.37351 10/0/0/2/魔魔魔魔速速/ドレッサ 0.41075 5/0/0/5/魔魔魔魔/F・十津川硝子 0.43748 5/0/0/3/速魔魔魔魔速/ドレッサ改 0.46246 5/5/0/2/高高/やみつむぎ 0.46358 0/6/0/2/高高/死の欠片 0.47541 5/4/0/2/高高毒/蛍火 0.47778 15/0/1/2/速熱衝絶/ライカ 0.49361 20/0/0/2/速熱衝絶/HPライカ 0.08739 50/0/0/0//ウォール 0.06436 5/3/0/3/死死死/オランダ [[後日追記: ドレッサの構成が間違っていたので修正]] (環境中の剣師のうち、長い間連続で重みが0だったものは取り除くようにしてある。 ウォールは初期環境にいたもののこのプロセスで取り除かれた) ドレッサ系統は勝率5割から遠いので、近いうちに環境に追加されることはなさそうだ 自己補強探索器が顕著に遅くなってきた(剣師一体見つけるのに一時間以上)ので、戦闘処理をエテンにしてみた やはり速い。m100simをC++で書き直したら5倍高速化したが、エテンはさらに10倍速い . 二回戦勝った! 次の相手はまだ分からないが、いずれにせよマケニピにとって最初の、不利な相手との戦いになる . 相手の構成は5/0/0/3/先黙黙撃胎導0死/ 素早さが足りず残星になれない構成なのは幸運だが、それでもマトリョ炎上にはなれる 最初のとっかかりとして、何も考えずに例の自動分析マシーンに投入して様子を見る 相手の有力手(数字はミニマックス解における重み): 21712/166710: 5/0/0/3/死胎黙炎先黙撃黙/死技野 姑獲女 14186/166710: 5/0/0/3/死黙狗導0詠先黙撃/死技野 姑獲女 10012/166710: 5/0/0/3/死先反導0詠撃黙黙/死技野 姑獲女 8732/166710: 5/0/0/3/黙撃胎爆詠先導0黙/死技野 姑獲女 8594/166710: 5/0/0/3/死黙怪先黙導0黙撃/死技野 姑獲女 7708/166710: 5/0/0/3/導0散死聖先黙黙撃/死技野 姑獲女 7378/166710: 5/0/0/3/残導0詠先死撃黙黙/死技野 姑獲女 7007/166710: 5/0/0/3/黙導0死魔魔先黙撃/死技野 姑獲女 6382/166710: 5/0/0/3/反胎導0詠黙黙撃死/死技野 姑獲女 6000/166710: 5/0/0/3/死導0黙詠怪先黙胎/死技野 姑獲女 5865/166710: 5/0/0/3/魔魔先黙黙撃導0死/死技野 姑獲女 5098/166710: 5/0/0/3/黙反先黙黙胎導0死/死技野 姑獲女 5043/166710: 5/0/0/3/炎導0黙黙黙撃胎死/死技野 姑獲女 4903/166710: 5/0/0/3/導0死残黙黙先黙胎/死技野 姑獲女 4896/166710: 5/0/0/2/導0黙黙反胎散先撃死/死技野 姑獲女 4640/166710: 5/0/0/3/導0死怪先詠黙黙胎/死技野 姑獲女 4480/166710: 5/0/0/3/黙先死撃黙黙爆胎/死技野 姑獲女 4198/166710: 5/0/0/3/撃黙魔黙咲導0死先/死技野 姑獲女 4134/166710: 5/0/0/3/黙撃先黙黙胎死魔/死技野 姑獲女 3424/166710: 5/0/0/3/導0死黙先残黙胎詠/死技野 姑獲女 3310/166710: 5/0/0/3/死黙黙導0黙撃胎爆/死技野 姑獲女 3267/166710: 5/0/0/3/黙導0死残黙先黙胎/死技野 姑獲女 3264/166710: 5/0/0/3/死黙導0詠怪黙胎先/死技野 姑獲女 2780/166710: 5/0/0/3/導0黙死残鏡先黙胎/死技野 姑獲女 2066/166710: 5/0/0/3/導0死鏡残黙黙胎先/死技野 姑獲女 1636/166710: 5/0/0/3/撃死熱導0黙戟先黙/死技野 姑獲女 1474/166710: 5/0/0/3/黙死導0詠狗黙撃胎/死技野 姑獲女 1380/166710: 5/0/0/3/死導0詠紫先撃黙黙/死技野 姑獲女 1024/166710: 5/0/0/3/黙紫黙先黙胎導0死/死技野 姑獲女 883/166710: 5/0/0/3/先鳴1導0魔黙黙撃胎/死技野 姑獲女 804/166710: 5/0/0/3/導0死魔撃黙黙先爆/死技野 姑獲女 268/166710: 5/0/0/3/導0死黙魔咲撃黙胎/死技野 姑獲女 162/166710: 5/0/0/3/紫導0死撃魔先黙黙/死技野 姑獲女 自分の有力手: 199510/1667100: 10/0/0/4/黙戟胎魂過熱/マケニピ 185370/1667100: 10/0/0/4/怒1熱戟魂鳴1臥/マケニピ 152122/1667100: 5/0/0/4/臥魂熱散先過戟/マケニピ 145800/1667100: 10/0/0/4/魂泡過詠熱戟/マケニピ 115288/1667100: 10/0/0/4/臥散怒1戟熱魂/マケニピ 98302/1667100: 10/0/0/4/過黙泡熱戟魂/マケニピ 88776/1667100: 10/0/0/4/魂導0熱全戟臥/マケニピ 88518/1667100: 10/0/0/4/先熱散戟過魂/マケニピ 75340/1667100: 10/0/0/4/戟泡過詠魂熱/マケニピ 47650/1667100: 10/0/0/4/過先戟熱魂封/マケニピ 47650/1667100: 10/0/0/4/熱先過散戟魂/マケニピ 42546/1667100: 10/0/0/4/魂怒2戟熱臥護/マケニピ 40272/1667100: 10/0/0/4/魂熱熱全過臥/マケニピ 38772/1667100: 10/0/0/4/魂熱全過臥盾/マケニピ 37742/1667100: 10/0/0/3/魂熱先過臥散戟/マケニピ 34818/1667100: 10/0/0/4/魂熱臥臥散過/マケニピ 34038/1667100: 10/0/0/4/魂熱臥散臥過/マケニピ 24966/1667100: 5/0/0/4/臥魂熱全先過戟/マケニピ 23590/1667100: 5/0/0/4/魂怒2過戟熱鳴1臥/マケニピ 21840/1667100: 5/0/0/4/過怒2全戟魂熱臥/マケニピ 21342/1667100: 10/0/0/4/導0熱散戟臥魂/マケニピ 21058/1667100: 10/0/0/4/魂怒1熱鏡臥過/マケニピ 13962/1667100: 10/0/0/4/熱散過鏡臥魂/マケニピ 12339/1667100: 10/0/0/4/回2熱魂戟全臥/マケニピ 10774/1667100: 10/0/0/4/魂泡戟過熱黙/マケニピ 8878/1667100: 10/0/0/4/熱魂避全過臥/マケニピ 8878/1667100: 10/0/0/3/魂臥熱散過先戟/マケニピ 7472/1667100: 10/0/0/3/魂熱散先戟過臥/マケニピ 7200/1667100: 10/0/0/4/魂黙胎熱戟過/マケニピ 6833/1667100: 10/0/0/4/臥回2魂熱全戟/マケニピ 3234/1667100: 10/0/0/4/熱戟過魂泡詠/マケニピ 2220/1667100: 5/0/0/4/熱魂鏡過戟臥全/マケニピ 勝率(推定): 0.32 機械の勧める最善手を出していては1/3でしか勝てないので、相手オーナーの思考の推測を試みるしかなさそう * マトリョ炎上 おそらく真っ先に思い付く手段の一つ。枕投げでも実績がある ただし、姑獲女はAPの制約で0ターン目に胎胎剣か先行剣のどちらかしか振れない 胎胎剣を選んだらマケニピが先行する 先行剣を選んだら炎上が二ターン目になる いずれにしても炎上までにマケニピが一回動けるので、詠泡や黙胎されると厳しい * 反1 反押タイプと導0詠反撃タイプがある 反押は灯の真似をするだけなので簡明だが、マケニピが1ターン目にビルドするだけで失敗する 導0詠反撃は1ターン目にマケニピをビルドし、これを壁にしつつ3ターン目に撃鉄を呼ぶプラン 導0詠反撃は対策が少なく、勝つにはややトリッキーな構成(鳴1臥とか、5/0/0/4/先臥魂熱散過戟/とか)が必要 ただし、相手のオーナーがこの手に気づかない可能性もある * 狗、紫、残、聖、怪 ビルド対象の変更や追加は当然視野に入っているはず 消費MPが5のビルドなら、やはり導0詠で撃鉄と併用できる この場合、耐久力のあるライカが特に有効 * 詠爆 撃鉄と合わせた単純な大火力で、詠泡では止まらない 黙胎で止まるほか、黙泡で時間稼ぎされたり、臥散怒2で一掃される可能性がある * 魔法剣 撃鉄との相性が良く、マトリョを増殖させずに倒せる 臥竜マケニピにも良く効くし、撃鉄が仕留め損ねたバブリアの掃除もできる 激怒に弱い。リミテッドなので激怒で撃鉄を殺されると攻撃手段が死のみになり、ほとんど負け 注意すべき点として、MP剣師が魔法剣を持つというのはなかなか思い付かないかもしれない(私は思い付かなかった) 姑獲女のオーナーの視点に立つと、炎上や反押を含む幅広い手段に対応する黙胎マケニピが一番厄介のように思われる . 炎上と反1の両方に勝てる手がないなら、どうしても運頼みになるのが避けられない なにか情報操作あるいは挑発の余地がないか考えているが良案が見つからない こちらの話に耳を傾けてもらう為には、「マケニピにも姑獲女にも得のある話」を装う必要がある 「このままだと灯の高速残星にまとめて殺されるから、今のうちに共謀して対策の布石を打とう」 みたいな論法がよさそうだが、灯の高速残星は素早さ不足なのでそれほど脅威でないのが問題 現在までの姑獲女の成長: 5/0/0/3/導0黙胎黙胎死/ 5/0/0/3/黙黙紫胎導0死/ - 5/0/0/4/臥臥魂散死/カルキ に対して 5/0/0/3/先黙黙撃胎導0死/ - 5/0/0/3/黙導0黙紫爆黙/コヨミちゃん に対して 一回戦は姑獲女が圧倒的に有利だった(カルキを詰ませることもできた)のであまり参考にならない . ("強い"剣師とは、の続き) 均衡環境は一つとは限らないが、全ての均衡環境が分かれば何らかの規則で代表を決めることができそう n人の剣師が居るとき、それへの重みの付け方はn次元空間の一点とみなせるので、可能な全ての均衡環境の集合はn次元空間の部分集合になる さらに、ミニマックス解の性質からこの部分集合は凸多面体(三次元とは限らない。polytopeっていうやつ?)になる だから、例えばその多面体の重心を均衡環境の代表にする、みたいな規則が考えられる(凸なので重心も均衡環境になる) 重心というのは恣意的だけど、全く同値な二つの構成があったらそれらの重みが等しくなるというのはまともな挙動のように思える 一方で、同値な構成が多ければ多いほど重心はそちらに偏るので、そういう意味で不公平な気もする 途心4の均衡環境を全て求めてみた: 2s -10t +1/2: 5/1/0/1/毒/ 4t : 5/0/0/1/重熱/ 4t : 15/0/1/0// - 2s + 4t : 5/0/0/1/絶熱/ 6s - 5t +1/4: 5/0/0/1/魔鏡/ - 6s + 4t : 5/0/0/1/死護/ 8s -14t +1/2: 5/0/0/1/死鏡/ 8s -14t +1/2: 5/0/0/1/鏡護/ -10s +18t -1/2: 5/0/0/1/鏡鏡/ - 7s + 9t -1/4: 5/0/0/1/鏡魔/ s : 10/0/0/1/護/ ただしsとtは以下の三つの条件を満たす任意の実数 s >= 0 10s - 32t >= -1 -28s + 36t >= 1 前に書いた均衡環境の例は、この一般形でs = 0、t = 1/36としたものになっている 重心ではs = 1/402、t = 1787/57888 . 姑獲女の二回戦の手は、「コヨミちゃんは0ターン胎泡に移行しない」という読みに基いているように見える ここから類推して、マケニピの胎泡ビルドへの警戒も薄いと考えるべきだろうか? なお、機械分析を信用するなら、二回戦で姑獲女はやや不利(勝率約1/3)であり、 5/0/0/3/先黙黙撃胎導0死/はかなり堅実な手の一つだった 姑獲女の二回戦キャラクターシートには「戦闘顧問 RAY」とある 他人のキャラの戦略を預かるなら、奇策に走って失敗するのは怖いという思考が働く可能性がある RAYさんの性格は不明だが、印象としては常識人 今すべきことは、相手がどんな戦術を取ってくるかについて多少強引にでも予測を立て、 その予測された分布のもとでの勝率を最大化することだ まず魔法剣のことは考慮から外そう 相手が魔法剣戦術の有効性に気付くなら負けもやむなし 魔法剣を禁止したら勝率が0.32から0.33に上がった やったね! さてどうしよう . ミニマックス解を使った探索は強力だが、相手の剣師発見能力がこちらと同程度であることを暗黙に仮定している 出力を鵜呑みにしないように気をつけないといけない もう思考材料が見つからない いくら迷っても前には進まない 直感に頼って決める 「相手は10/0/0/4/黙戟胎魂過熱/に負ける手を出さない」を仮定する . これを仮定しても勝率0.45にすぎない アプローチが根本的に間違っている気がしてきた 根本的ではないが間違っていた 「「相手が10/0/0/4/黙撃胎魂過熱/に負ける手を出さない」とこちらが信じている」という情報を相手は持っていないのだから、 それを計算に入れないといけない 計算に入れたが0.48 どうしよう もっと強い仮定を置くしかない 読みが全部当たっても勝率1/2なんて嫌すぎる 「相手が詠唱剣を持たない」を仮定 0.55 もう仮定がないよ 苦し紛れに総当たり表を見ていたら10/0/0/4/魂導0熱全戟臥/が目についた フルに仮定を置いた場合でも仮定なしでもミニマックス解に入る 相手の下位候補(もはや重み0の残骸)に対してかなり強い 魔法剣のみを禁止した環境で重みを無視して集計すると82勝29敗1分け 重みを無視している時点で数学的な説得力は皆無だが、相手の幅広い手に対応できるという期待 上位に対しては強くない(特に弱くもない)が、難敵である5/0/0/3/死先反導0詠撃黙黙/に引き分けというのが大きな特徴 もちろん、マトリョ炎上にはあっさり負ける 代案が見つからなければこれを提出することにしよう . 提出した 落ち着いた後、なおかつ結果を見て精神状態が変わる前に反省点でも挙げよう . こんな危い賭けに出ることをせまられたのは相手の思考を読めなかったからだが、 他人の思考なんてそんなに読めるものだろうか 一方で、人間の思考にはきっと癖があるはずなので、十分なデータがあれば傾向を抽出できても不思議じゃない 過去の大会の記録を読むとか、あまりやりたくない作業だが 過去のデータを機械的に分析できれば面白いが、どうやればいいのか見当も付かない しかし55人の大会なのだから負けるのに理由は必要ないか m15の自己補強探索器が、長い間新しい剣師を見つけていない もしかして厳密な均衡環境に到達したんだろうか 現在、環境中で重みが0でない剣師は155体 これが真の均衡環境かどうかの検査には途心10の全探索が必要 やはり途心10は広い おそらく途心10で可舞な剣師の99%以上があいざわだが、それを除いてもどうでもいい剣師が多すぎる 典型的な非あいざわ非オランダの途心9剣師: 5/0/0/1/回12回18死速回16回20高/ 紗剣師探索ならこういう剣師は「それ死の欠片に負けるよ」で済んだのだが、今回はかなり厄介だ 身体能力5/0/0/1ではどうやってもこの暫定環境で勝率0.5に届かないことについての証明のようなものができた これで探索範囲が大幅に減る こういう作業をしていると実務的なマガレトロジーが欲しくなってくる 命題: m15の剣からなる任意の有限列s_1, s_2, ..., s_nが与えられたとする すると、m15の剣a, b, cが存在して、 5/0/0/1/勝3abc/ は、m15のあらゆる環境において 5/0/0/1/s_1 s_2 ... s_n/ の上位互換 が成り立つ。ただし、 [勝N] 勝利剣N <補助> <遅延起動N>: 対象を勝利させる が定義されているものとする 探索範囲を減らすことの正当化のためにこの命題を証明したいが、厳密にやるのは死ぬほど面倒臭そうだ . 負けた。相手は5/0/0/3/導0黙胎黙黙炎先死/ 完全に読みを外した。これはどうしようもない 敗因かもしれないし、そうでないかもしれない事象一覧: * 参加時点で、成長戦におけるMP剣師の柔軟性をかなり過小評価していた * 二回戦に提出した構成がとても理想的とは言えない * 姑獲女には胎泡への警戒が薄いというサインがあったにも関わらず、動きを読み損ねた * そもそもの環境読みの不正確。残星やMP剣師はもっとガチガチに対策されるかと思っていた 三回戦の結果が公表されたらこのメモを公開することにする (タブー探索について) マケニピの初期構成(10/0/0/3/臥怒2魂熱全/)を見つけるのにはタブー探索を使った タブー探索というのは与えられた関数の値をなるべく小さくする入力を探すための一般的手法の一つ (最初に遺伝的アルゴリズムを試したが、性能が十分でなかったのでタブー探索に切り替えた) タブー探索の一般論はググれば出てくるが、ここでは、m100への応用で具体的に何をやったかを書く まず、環境(剣師の有限集合)を一つ固定する。この環境でなるべく勝数の多い剣師を見つけるのが目標になる 初期状態となる剣師を一体用意する。これにはランダム生成を使った この剣師を少しずつ変形していき、最終的にこの環境での勝数の多い剣師を作るというのが全体の流れ ある剣師xに「隣接」する剣師を次のように定義する [置換隣接] xを1点弱体化させたあとに1点強化した剣師 ただし、通常の1,1変動と違って剣の自由な並び換えを許さない 新しく取得する剣を任意の位置に挿入できるのみ [巡回隣接] xの剣の順序を変更した剣師 具体的には、xの剣を一本選び、それを元の場所より右のいずれかの場所に移動させたもの どちらの場合でも、xと全く同じ構成になるものは除外する 探索は、以下の手順を満足するまで繰り返すことで行う 1. 現在の剣師の隣接剣師を複数用意する 具体的には、巡回隣接の剣師を全てと、置換隣接の剣師をランダムに200体 2. 用意した隣接剣師の中で成績が最良のものを現在の剣師とする これだけだとすぐにループに陥る(局所最適解のまわりをぐるぐる回る)ので、以下の制約(タブー)を課す 1. 最近10ループ以内に置換隣接の弱体化によって取り除いた剣や能力値は、 置換隣接の強化によって付け加えない (逆に、最近付け加えた剣や能力値を取り除くことは許す) 2. 最近10ループ以内に巡回隣接によって左からn番目の剣を動かした場合、 巡回隣接によって左からn番目の剣を動かさない ただし、今までのどの剣師よりも優秀な剣師が見付かった場合には制約を無視して採用する (この規則は参考にしたウェブページに書いてあったから無批判に採用したが、効果は不明) 加えて、剣の並び替えばかり行って時間を浪費するのを防ぐために、次の制約を課した - 巡回隣接の剣士は、現在の剣士よりも成績が良いときに限って選ぶ また、似たような構成ばかり探索し続けるのを防ぐため、以下の分散誘導(diversification)を行う ・50ループ毎に、それまで最も多く使われた剣を一つ選び、以降50ループの間それを使うことを禁止する ・同じ剣が禁止されるのがn回目の場合、50*(端数切り上げ(n/2))ループの間禁止する これはかなり大雑把で、弊害の多い方法という印象 長時間探索を続けると使える剣がだんだん減っていくのが特に問題 この問題は剣の少ないm15で顕著なので、m15では最大でも剣を二つしか禁止しないようにしている ただし何の対策も講じないと延々と臥怒を探し続けたりする 探索器の動作については以上 この探索器の目立った欠点は、複数の剣を組み合わせて初めて効力を発揮するコンボ的構成を見付けるのが苦手なこと 例えば黙胎に到達するには、置換隣接を二回通って黙祷剣と胎胎剣を一つずつ取得しなければならないが、 黙祷だけ、あるいは胎胎だけを持っていてもほとんど役に立たないのでその道が選択されにくい 黙黙残星となると、どの一本が欠けても役立たずの厳格な4本コンボ構成なので、まず見付けられない マケニピの構成を見つけたときに使っていた環境(細部に違いがあるかも): 5/0/0/3/黙導0黙黙胎撃/蒼 5/0/0/3/黙導0黙黙撃胎/蒼' 5/0/0/3/導0黙胎黙黙撃/蒼'' 5/0/0/3/黙黙撃導0詠泡/蒼'' 5/0/0/4/黙黙残星押/残星押 5/0/0/5/星黙黙残/星残 5/0/0/4/死黙黙残星/死残星 5/0/0/3/押儀1黙黙残星/押残星 5/1/1/4/導0壊死/壊撹0 5/5/1/1/毒音/毒音 5/5/0/2/高高/コウ 5/0/0/3/儀0導0黙導0黙反/反0 0/0/0/2/臥儀0儀0導0黙導0黙反/反0臥 5/0/0/3/導0黙胎詠振爆/マトリカ仮面_piyo 10/0/0/3/導0黙胎詠爆/マトリカ仮面1 5/0/0/3/導0黙胎熱振全/マトリカ仮面2 5/0/0/2/魔儀1振咲振咲先/ヌの左手_niv 0/5/0/1/儀0導0散音/音殺カナ子_めざ0! 5/0/1/2/先儀1黙黙詠怪/鴛鴦透子_RAY 5/0/1/4/黙黙詠怪/鴛鴦透子1 10/0/1/4/泡詠押/泡詠押 15/2/0/2/全先封/全先封 10/0/0/4/泡導0詠押/泡詠0押 5/2/1/3/薬導0封/ 20/0/0/2/速熱怒1全/ 0/3/0/3/導0封全臥/ 5/2/1/2/散先壊戟/ 0/2/0/3/衝導0壊全臥/ . 回復剣8以降を持たない剣師に限定して調べたが、暫定均衡環境で勝率五割超えのものはいなかった これが真の均衡環境である可能性が高いように思う しかし、探索剣師数は787310996で、探索に丸二日掛かっているので、全探索をする気になれない . マケニピとユーリカンが敗北し、理解子がビルド能力を取り戻したので本戦から非ビルダーが居なくなった 零回戦の人数は半々で、非ビルダーの勝率も悪くなかったことを考えると、やはりビルダーの成長戦に対する適性が大きいんだろう