鬼ごっこの「鬼」をAIっぽいものにやらせてみました。 赤が鬼(AI)です。真ん中の赤い四角は障害物です。 dキーで内部データの表示・非表示を切り替えられます。 shiftキーを押しながらスタートボタン(緑の旗のアイコン)をクリックすることでターボモードのオン・オフを切り替えられます。 ターボモードにすると効率的に学習させられます。 数分間放置して学習させてください。 スペースキーを押すと、赤の鬼(AI)が学習結果を反映するようになります。 もう一度スペースを押すと学習を再開できます。 (左の変数AI_tryが1だと学習中、0だと結果を反映中) マウスをクリックしている間は、青の逃げる側がマウスの方向に移動するようになります。 rキーでリセットできます。
2024 / 1 / 23 ベータ版完成・公開 2024 / 11 / 18 改良 <<<<公開できるレベルではない>>>> ○解説 鬼はランダムな方向に回転し進みます。その際に、自分の座標・敵の座標・敵の向きのデータ(以降「状況」と呼ぶ)と自分がどこを向いたかのデータを一時的に保存します。 この動作を繰り返し、一定時間内に敵に触れることができた場合(良い結果になった場合)、一時的に保存していたデータをAIの学習結果として保存します。その際に、全く同じ状況のデータが既に保存されていた場合は、より良い結果になった方を保存します。そのため、AIに学習させればさせるほど精度が上がっていきます。 その後、もし状況が学習結果の状況と一致した場合、その学習結果と同じように動くようになります。 また、状況は671846400000ものパターンがあります。そのため、正確に保存しようとすると莫大な学習時間が必要になります。なので、このプログラムでは座標や向きを四捨五入することで、パターン数を217800に抑え、短い学習時間でもAIが機能するようにしています。