ふるよに最強AIの構築に向けた初歩的戦略設計に関する検討

著者:HΛL1*,なみぶ1
1 :KUふるよに会
    *: @HAL_furuyoni

1.はじめに

「桜降る代に決闘を」におけるカードまたは戦略に関する定量的な評価に関する試みはあかさき氏のAction point換算法[1]((Akasaki Action Point Conversion method: A-APC)以下「あかさき算」)をはじめとして、ガソタム氏による相対性AP換算法[2]((Akasaki-Gasotamu Relative Action Point Conversion method: AG-RAPC)以下「あかさき-ガソタム算」)が提唱された。これらは、局所的な場面においてAPという換算が容易な概念を用いた評価方法であり、著者らはこれを用いることで「最強」のAIないしはCPUへの応用可能性に着眼した。しかし、実装するうえでは詳細にその設計方針を固めていく必要がある。そこで本報告では、その設計方針たるプレイング方針を検討するとともにあかさきーガソタム算や今後解決すべき問題の提起を行うことを目的とする。
注意していただきたいのは、ここにはAI開発用に各種基本的な技術を、プログラムを組み立てるうえで分解・解説しているにすぎず、読者にとって勝つための技術が記されているとは限らない。
加えて承知していただきたいのは、著者らは情報学系、特に人工知能関係の知識は皆無である。つまるところ余人戯言なので本職の人がいたら、怒られても仕方がないと思っている。在宅勤務で時間に余裕があると錯覚しており、かつ1年ぐらい前から温めていた概念なので発表しておくか、ぐらいの気概で執筆している。また、ろくに先行研究を漁っていないので、かぶっていたらHΛLが代表して土下するので許してください。
また、制約条件としてこのゲームは二人で行うもので、相手の損失と自身の利益を考慮して評価を行うべきであるが、第一段階として自己利益の最大化という視点で検討を進める。

2.概要

AIを作る上で、必要項目として最適解を選ぶために各選択肢を定量的に評価する必要がある。実際、1ターンに考慮すべき選択肢は主体的に見て下図に示すような分岐を得る。一般的に開始フェイズで再構成の選択(2通り)、全力の使用・カードの全力化の選択(2通り)、カード・集中力リソースの割り振り、終了フェイズでのディスカードの選択(最大4C2の6通り)となる。カードや集中力の割り振りに関しては細かく言及していないが、1ターンの選択肢は有限であり、基本行動に関しては1APで換算してやることで計算可能時間に収まる可能性が高い。ただし、ここで制約である主体的な評価が効いている。実際攻撃カードの使用には相手の対応カードの使用を考慮した選択を考慮せねばならない。また、間合の変更も相手の使用可能なカードの選択肢を増減させる意味合いが強くなるため一概に1APとして決定しづらい。
AIはふるよにをするうえで可能な限りの選択肢をすべて定量的に評価し、その中で評価値最大の選択肢を実行していく。つまり、この評価関数をいかに精度よく組み立てるのかが重要な課題となる。

定量評価_fig1

3.戦術的視野:Macro-Meso-Microscopic

戦略的視野をマクロ、メゾ、ミクロな視点に分解する。ミクロは1手の評価に該当する。つまり、あかさき-ガソタム算に代表されるような1手による利得をどう最大化するかを検討する視野である。もちろん、ミクロ視野のみでは勝つことは困難であり、マクロ・メゾ視野と含めた評価を行う必要がある。メゾ視野は、何通りか定義できるが、ここではデッキ1順での戦略とする。つまり、全カードが一度手札に来ることを想定して、それを軸とした評価となる。また、この評価を組み込むことでデッキに残るカードを考慮してカードをキープするか、使用するか、基本行動に変換するのかといった観点を取り入れることができる。最後にマクロ視野だが、これは最終のリーサル盤面を見据えた視野となる。大型の切り札の使用やコンボの達成のためにどうフレアを溜めていくのかなどが具体例として挙げられる。
余談であるが、マクロ視野はミクロ視野から初めに派生した概念である。我々はあかさき算とは別に盤面領域に応じた桜花結晶の評価指標を検討していた。しかし、フレア領域とライフ領域の評価の精度が悪い問題に直面した。具体的にAPで換算すると、基底領域である間合またはダストからフレアまで桜花結晶を移動させるためには2AP必要であるが、フレアの価値はメガミによって大きく変化する。具体的には月影落や天音揺波の底力を有するユリナ様と生きる道を採用していないチカゲ様とでは単体ではフレアの価値が前者の方が圧倒的に高い。よって、マクロ視点はメガミ依存のフレアの評価になる。これは、あかさき算最大の問題である無限大近似(リーサル取れる行動は無限大で近似する)への解答の一つである。ただ、組み合わせや切札選択によって評価の仕方を変更する必要があり、モデルの精度を上げようとすればするほど、フレアやライフ評価辞書を用意する必要がある。案としては、フレア2火力変換効率+AP剥奪度の組み合わせを検討している。
盤面評価を行う似合わってはこれら3視点に基づき重み付け総和を行うことで構成することができる。簡単に言うと、

1.APを損失しない手
2.山1順を考慮した通常札の運用計画
3.リーサル状態への遷移計画

をデッキタイプに合わせて考えるということである。具体的にはヒミカ様に代表されるアグロ戦術では2と1に重みづけられる一方で、コントロール・クロックパーミッションでは2と3に重みがあり、ミッドレンジでは1と2、3に比較的万遍なく重みがあり、コンボは3に重みがつけられる。もちろん、すべてに言えるわけではない点は留意されたい。そのほかにはミクロは集中・基本行動運用、メゾは通常・中小型切札カード運用、マクロは大型切札運用に関する検討としても解釈できる。

4.計算フロー・解法

「はじめに」の節でも説明したが、我々は人工知能関係を専門に扱うエンジニアではない。インターネットでざっくり調べた感じでは、分枝限定法やヒューリスティック・アルゴリズム系統(遺伝的アルゴリズム)よりも、価値反復法などの強化学習を取り入れる方は適切に感じた。前者は大域的最適解を探索するアルゴリズムであるが、ミクロ・メゾ視点の戦略を探索するには向いているがマクロ視点を考慮するためには技術的な工夫が要求される。一方で、強化学習の方では、ゲームが進むにつれて分岐が増えることから要求スペックが段違いに要求される可能性が非常に高いらしい。勉強不足なので暇を見ては勉強しておきます。

5.総括・今後の展望

対戦相手を考慮した相対的な検討に関しても記述したいところであるが、かなり長くなるため次の機会に譲る。おそらく現状の思想で実装すると、捨て身で最短リーサルを目指すAIが完成するだろう、多分、きっと、I believe. 相対的な議論を入れると選択肢や状態の遷移が一気に増加するため、実現がより一層困難になる可能性がある。個人レベルの作成であれば、大域的最適解を求めるのではなく、計算量を少なくするために制約を調整し比較的有望な局所最適解を探査するアルゴリズムを選択する方が良いのかもしれない。あとは、各分岐の計算を簡略化することでGPUによる並列計算で高速化を図るという手もあるが、計算の粒度、メモリの帯域に制約があるので一概には有効とは言えないが選択肢として考えられる。

参考文献

1. あかさき、「【ふるよに】ゼロから始める「あかさき算」」
https://note.com/akasakisakura/n/n39e93a4bc5df?magazine_key=md6d136ea0cf5
2. ガゾタム、「前進は遺灰樹だった!間合相対性理論とあかさき算」
https://gasotamu.hatenablog.com/entry/2019/12/06/085733