すべてのコストを比較可能にするには、すべてのアクションに同じヒューリスティックを使用するだけで済みます。たとえば、すべてのアクションには潜在的な結果のリストがあり、すべての結果にはエンティティに対して特定の値があります。
たとえば、水のある深いプールがあり、エンティティがのどが渇いています。そこで、そのニーズを満たすためにプールが使用できるアクションを見てみましょう。
最初に、これらの場所に関連付けられたエンティティの優先順位、これらを修飾子と呼ぶことができます。これらのいくつかは時間とともに変化し、エンティティに依存します。たとえば、アリは生き続けることよりも、コロニーの問題について心配するかもしれません。または、エンティティが飲み物なしでしばらく行った場合、満足度の渇きの優先順位が他のものをオーバーライドする場合があります。
エンティティの優先順位:
喉の渇きを満たす:40
乾いた状態を保つ:10
生き続ける:100
次に、場所が表すもの:
場所:プール
アクション:水を集める
* 潜在的な結果:*:
喉の渇きを満たす-(-95)
濡れる-10
溺れる-1
したがって、次のアクションコストを計算できます:(40 * -95)+(10 * 10)+(100 * 1)= -3600
荒れ狂う川から水を集める場所は次のようになります。
場所:荒れ狂う川
アクション:水を集める
* 潜在的な結果:*:
渇きを満たす-(-95)
濡れる-90
溺れる-60
(40 * -95)+(10 * 90)+(100 * 60)= 3100
そのため、プールから水を集めることは明らかに良い選択です。たぶん、荒れ狂う川が唯一の選択だったとしたら、エンティティはその渇きの優先度が非常に高くなるまで待ってから川を試すでしょう。
あなたは物事をずっと簡単に始めておくことを望むかもしれません。よりグローバルに適用できるいくつかの変数があるだけです。生き続けるように、ニーズを満たします。戦闘または飛行の例では、各エンティティに戦闘評価を与える必要があります。そうすることで、スコア目的で他のエンティティに対して自分自身を効果的にランク付けできます。