ドア、鍵、壁だけを含む環境に関心があります。キーが「拾われた」場合(つまり、キーを含むノードが訪問された場合)、ドアを通過できます。
問題は、与えられた点 A と B の間の経路を見つけることです。最適解は必要ありません。
ドアを「D」、キーを「K」、壁を「#」で表現してみましょう。次に、以下の環境を考えてみましょう。ゴールはB、原点はAです。空のマスは「.」で表します。
###..........K
#BD...A.......
###...........
さて、明らかにこの場合、ゴール B に向かう前に K を含むノードを訪問する必要があります。このアプローチは、大量のメモリと時間を消費するため苦労します。
この特定の問題に最も適していると思われるアルゴリズムを知りたいです。または、私のアルゴリズムの選択は正しいが、ヒューリスティックは貧弱ですか? アドバイスしてください。私は新しいので、できるだけ説明してください。
乾杯。