2023年04月11日 17:58:58
お客様各位
平素はQAZUCHI をご利用いただき、誠にありがとうございます。
お問い合わせいただきましたCHATGPT による課題のモデル化が完了しました。
下記の通り、ご報告させていただきます。
最適化したいもの:オセロの黒面を最大化したい
ルール:おせろのルール ゲームは8×8の盤面に、黒と白の面を持つ円盤状の石を配置してプレイします。 ゲームの開始時に、黒2枚と白2枚の計4枚の石を、盤面の中央に決まったスタート位置に置きます。 黒のプレイヤーは常に最初の手を打ちます。 黒の面を上にした石を、横、縦、斜めの線で少なくとも1つの白の石を挟むような位置に置かなければなりません。 石を置いた後、黒は新しい石と既にある黒の石の間に横、縦、斜めに挟まれた全ての白の石を裏返します。これで裏返しになった石はすべて黒の面になり、黒のプレイヤーは後の手で使用することができます。 ここで白のプレイヤーの番です。役割を逆にして、同じルールに従います。プレイヤーは白の石を置き、1つ以上の黒の石を裏返しにします。 両方のプレイヤーが交互に手番を取ります。相手の石をひっくり返さない手は有効ではありません。一方のプレイヤーが有効な手を打つことができなかった場合、手番は他方のプレイヤーに戻ります。 盤面が石でいっぱいになった場合、またはどちらのプレイヤーも有効な手を打てなかった場合、ゲームは終了します。ゲーム終了時に盤面上に最も多くの石を置いたプレイヤーが勝ちとなります。
オセロの黒面を最大化することを、駒の数を最大化する問題としてモデル化することができます。
QUBO式は以下のようになります。
H = - ∑i,j a_i a_j W_ij
ここで、a_i は、i 番目の変数が1の場合は1、0の場合は0となるバイナリ変数を表します。また、W_ij は、i 番目と j 番目の変数が同じ値を取る場合に -1、異なる値を取る場合に 1 となる係数を表します。
具体的には、盤面上の各マス目に対応する変数を考えます。i 番目の変数 a_i は、i 番目のマス目に黒の駒がある場合は1、そうでない場合は0とします。この時、W_ij は、i 番目のマス目と j 番目のマス目が隣り合っている場合に -1、それ以外の場合に1とします。
これにより、ハミルトニアン H を最小化することに対応する解 a を求めることで、黒の駒を最大化する配置が得られます。ただし、オセロのルールに合わせた制約条件を考慮する必要があります。
なお、モデリング結果はCHATGPTが抽出したもので、量子アニーリングで必ず正しい結果が得られるものではありません。
ご理解ご協力のほどよろしくお願い申し上げます。
詳しくは、QAZUCHI の「量子アニーリングなんでも相談」をご利用ください。
https://qazuchi.com
twitter ID: @QtmAnnealing
Discord QAZUCHI server
オンライン勉強会
以上