私はPythonでA *アルゴリズムを作成しています。私のアルゴリズムが以前に訪れた場所をバイナリ配列の中に保存する方法を見つけようとしています。 1つ下に。Python:AStarのバイナリ配列の以前に訪問した座標を保存する
nmap = np.array([
[0,0,0,0],
[1,1,1,0],
[0,0,0,0],
[1,0,1,1],
[0,0,0,0]
])
私が考えることができる唯一の方法は、以前に訪問した2進数の位置を座標で保存することです。たとえば、
nmap[0][0]
は、最初の2進数をリストまたは辞書に保存するため、再訪されません。問題は、これを達成する方法がわかりません。アルゴリズムを実行しているときに座標を保存しておき、以前に座標を書き出すのではなく、私が推論する理由は、何千もの整数を持つ配列を持っていて、以前はこのコードを書いているのはかなり面倒かもしれません。私はこれをどのように達成することができるか知っていますか?
はそれについて考えてみよう。地図上に壁や障害物があることはどうでしたか?クローズリストのノードは壁に相当すると考えることができます。 –
@EvenYoung私は自分のアルゴリズムに障害物を取り入れるつもりでした。なぜなら、各ノードに特定のキーを割り当てずに以前に訪問したノードで状態を保持する方法を考えていたら、私の主な問題です。 – bnicholl
私の以前の質問はヒントです。最初に訪問したときに地図上のノードを1に設定してから、それを障害物として扱います。 –