現在、機械学習について読んでおり、Connect Fourのプレイにそれをどのように適用するのか疑問に思っています。
私の現在の試みは、シグモイド関数モデルとone-vs-allメソッドを使用した単純なマルチクラス分類器です。
私の意見では、入力フィーチャは7x6 = 42グリッドフィールドの状態(プレーヤー1のディスク、プレーヤー2のディスク)でなければなりません。
出力は、ディスクを挿入する行の番号になります。これは1〜7の離散的な数値であるため、これはマルチクラス分類問題として扱うことができると思います。
しかし、教師あり学習で使用可能なトレーニング例を生成するにはどうすればよいですか?
主な目標はゲームに勝つことですが、最終ターン以外のすべての結果は明らかにわかりません。何千回もお互いに何をプレイするかをランダムに決定する2人のプレーヤーにさせた場合、トレーニングの例として、各ゲームラウンドの勝者によって行われたすべてのターンを取るだけで十分ですか?または、これを完全に異なる方法で行う必要がありますか?
編集:コメントで示唆されているように、強化学習について少し読みました。 私が知っていることから、Qラーニングはトリックを実行する必要があります。つまり、現在の状態の関数Qとその状態で始まる最大累積報酬になるために実行するアクションを近似する必要があります。次に、各ステップでQの最大値が得られるアクションを選択します。ただし、このゲームでは、たとえばルックアップテーブルとしてこれを行うには状態が多すぎます。それでは、このQ関数をモデル化する効果的な方法は何ですか?