以下のアプレットを試してみたところ、Jump Point Searchと呼ばれるこの経路探索アルゴリズムは、A *やDijkstraよりもはるかに高速な結果をもたらすことがわかりました。
http://qiao.github.io/PathFinding.js/visual/
A *:46秒
ダイクストラ:1分39秒
ジャンプポイント検索:3秒未満
言うまでもなく、その結果にはかなり驚いています。視覚的な表現から、Jump Point Searchは(少なくともブロックの選択から)パスを見つける際に多くのランダムな推測(おそらく非常にインテリジェントなもの)をしているようですが、このアルゴリズムが悪い結果となったテストケースはまだ見つけていませんA *とダイクストラよりも結果。
このアルゴリズムはどのように機能しますか?A *やダイクストラと比べてどれほど効率的ですか?
2
スクリーンショットから、A *が完了するのに7ミリ秒(46秒ではなく)、ダイクストラ13ミリ秒(1分ではなく39秒)、JPS 2ミリ秒(3秒ではなく)かかったことは明らかです。どこから電話番号を入手しましたか?
—
yannis 2013年
タイマーで手動でタイミングを計ること。ヒューマンエラーは、imが数秒以上ずれていることを示している可能性がありますが、アプレットで言及されている時間ほど時間がかかったことはありません。多分それは何か他のものを指しているか、それはバグです。
—
l46kok 2013年
あら、本当にそうしたの?ツールが報告する時間は正しいです。これは、各アルゴリズムが完了するまでにかかった時間です。その後の(重要な)遅延は、アルゴリズムのパスの表示用です。SVGアニメーションはHTML5で最もクールなものの1つですが、それでも(まだ)slowwwwです。
—
yannis 2013年
@YannisRizosダン、私はもっとよく知っているべきだった:(
—
l46kok
アルゴリズムの進行状況を示すために遅い、たとえば「HTML5が遅い」などのためではない
—
Steven Lu