私は、オセロ ゲームで最良の動きを得るために使用されるアルファ ベータ プルーニング アルゴリズムを実装しています。アルゴリズムがリーフ ノードに到達すると (つまり、有効な動きがないか、最大深度に達した場合)、これに基づいてそのノードのヒューリスティック値を計算します。
最大化プレイヤー (アルゴリズムを実行していて、アルゴリズムが返す動きを使用するプレイヤー) は、このノードでボード上にいくつのレンガを持っていますか? (レンガごとに+1)
最大化プレイヤーがこのノードで持っている有効な手数は? (移動ごとに+10)
最大化したプレイヤーは角のブロックをいくつ持っていますか? (角のレンガごとに+100)
問題は次のとおりです: プレイヤーが葉ノードで最大化を回していない場合、どうすればよいですか? その場合、彼の番ではないため、彼の有効な動きを計算することは不可能です。私は、アルファ ベータ プルーニング アルゴリズム全体、または少なくともヒューリスティック関数がどのように機能するかを誤解している可能性があります。誰かが私にヒントを教えてもらえますか?
ありがとう