私はゲームにAIを書き込む問題があります(トロンのライトサイクルなど)。 ncursesを使ってCですべてのグラフィックと動きを書きます。 プロローグにボットのAIを書き込む必要があります。私はswiプロローグを使用しています。Tron lightcycles PrologのAI
現在のゲームフィールド(すべてのマトリックス)、現在の人間の位置、現在のボットの位置(マトリックスセルi、jなど)を保存します。彼らはcからの.plファイルのような述語を保存します。
私のゲームフィールドは1と0(1 - visited、0 - unvisited)を含むマトリックスです。
human_current_position(0,1).
bot_current_position(1,2).
matrix([[1,1,0,0],
[1,1,1,0],
[0,0,0,0],
[0,0,0,0]]).
その後、私の好きなこの行列を分析する必要があります:このように
analyze(matrix).
だから、プロローグで関数を分析するには、(左、下、上または右)いくつかの方向を返します。ファイルに保存し、 私のCプログラムはこのファイルを読んでボットを移動します。
私は質問があります - 私はこの行列をPrologでどのように分析できますか? 私はmin-maxアルゴリズムについて何かを読んだが、私はこれをPrologで認識できない。 誰も助けたり、Prologで私のマトリックスと現在のポジションでmin min maxアルゴリズム を作成する方法を指示できますか?
Prologでミニマックスを使用できないのはなぜですか? – templatetypedef
私は使用できます。しかし、私はundestand方法に傾けることができません。 – nub
Ivan Bratkoの* Prolog Programming in Artificial Intelligence *のコピーを入手してください.Prologには、Prologのミニマックスの説明が含まれています。 –