A* を変更して、ターン数が最小の最短経路を返すことは可能ですか?
複雑な問題が 1 つあります。ノードは、将来のターンを決定する際に親ノードが関連するため、位置だけでは区別できなくなり、方向も関連付ける必要があります。
しかし、私が抱えている主な問題は、ターン数を部分パス コスト (g) に変換する方法です。g にターン数 (t) を掛けると、奇妙なことが次のように発生します。終わり近くに N ターンある長いパスは、最初に N ターンある短いパスよりも優先されます。
私が検討しているもう 1 つの最適ではない解決策は次のとおりです。最短パスを計算した後、2 回目の A* 反復を (別のパス コスト式で) 実行できます。今回は最短パスの x/y 範囲内に制限され、曲がり角の少ない道。他のアイデアはありますか?