さて、ここでNEATを使ってAIを学習していくためのアウトラインを先に考えておきます。 主な機能としては、以下の4機能で構成されます。 ① AI が Pong ゲームをプレイ ② NEAT を使って AI を自動的に進化させる ③ 人間プレイヤーとの対戦テスト ④ 最優秀の AI ネットワークを保存 最初に、クラス PongGame を用意して、下準備したポンゲームを行い、その結果NEATによって進化させていきます。 PongGameクラスで、ゲームの基本要素 (ウィンドウ、パドル、ボール) を管理します。 GAMEで必要な関数 test_ai: 人間プレイヤーと対戦する AI テスト train_ai: 2つの NEAT ニューラルネットワークを対戦させ、より良い成績のネットワークを進化させる AI トレーニング move_ai_paddles: 各ネットワークの出力を基に、AI パドル