29

A* パスファインディング アルゴリズムのシンプルで最適化された実装のコードをすべての言語で投稿してもらうことはできますか?

これは主に楽しみのためであり、stackoverflow 自体ができることを試すためのものです...ただし、実際にはこれの ActionScript 3 バージョンを取得することに興味があります。

しかし、この「質問」は、さまざまなプログラミング言語が作成されたとしても、将来にわたって永遠に更新され続けるという考えです!

疑似コードが多くの (ましてやすべての) 異なる言語に "翻訳" されているオンラインの場所を私は知りません。これは価値のあるリソースのように思えます。必ずしもこのサイトが設計された目的ではありませんが、試してみて、stackoverflow を使用できる価値があるかどうかを確認することに害はありません!

4

11 に答える 11

11

これは、JavaScript の実装と、ソース コード、および私が趣味/研究プロジェクトとして行っ たオンライン デモです。

これは非常に単純ですが、一部のパラメーター (グリッド サイズ、壁の数、デバッグ情報のオン/オフ) を変更できます。検査された各ノードの計算された f(x)、g(x)、および h(x) 値が表示されます。

デモ ページの実装では jQuery を使用します。

于 2009-06-03T20:47:14.117 に答える
9

これは C++ の実装です。これは今では十分にテストされており、商用ビデオ ゲームやさまざまな AI プロジェクトで使用されています。

http://code.google.com/p/a-star-algorithm-implementation/

そして、私が実際に最初に書いたチュートリアルがあります:

http://www.heyes-jones.com/astar.html

于 2009-01-27T01:58:34.623 に答える
5

これは、言語を構築した人の 1 人が行ったC# の実装です。

于 2008-09-17T16:33:56.347 に答える
3

さまざまなプログラミング言語でのソース コードとデモ:

各言語のデモのリスト:

C++: 1
Java: 3
Processing: 1
Actionscript 3 (Flash): 4
Flex (Flash): 1
Javascript: 6
C#: 1
Ruby: 1
Prolog: 1
Unity: 1
Lua: 1

さまざまな言語でのパスファインディングのデモ

楽しみ :)

于 2012-12-31T04:59:41.580 に答える
1

部分的にPAIPで与えられた例に基づいたClojureの実装。

于 2011-06-05T08:07:24.783 に答える
1

実装ではありませんが、http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.htmlがアルゴリズムの特に明確な説明であることがわかりました。実装を非常に簡単にする疑似コードがあり、オープンセットとクローズドセットの実装に使用できるさまざまなデータ構造の拡張レビュー、さまざまな状況で適用可能なさまざまなヒューリスティックの説明、特定の動作を取得するためのヒューリスティックへの変更があります。 (たとえば、限られた角度の移動のみをサポートするシステムで直線の近似値を取得する)、一般的な落とし穴 (たとえば、実際の移動コストとは異なるスケールのヒューリスティックを使用する)、およびいくつかの最適化 (たとえば、グリッド)。

于 2012-04-16T23:50:35.137 に答える
1

Python と C++ のソース コードインタラクティブなチュートリアル。このコードは、一般的にグラフで動作するように記述されており、グリッドに固有のものではありません (Web 上の A* の多くの例に見られるように)。プライオリティ キューにバイナリ ヒープを使用します (Python と C++ の両方の標準ライブラリにバイナリ ヒープがあります)。そのページには、幅優先探索、ダイクストラのアルゴリズム、および A* があります。コードはかなり短い (私が見つけたほとんどの A* サンプル コードよりも短い)。

于 2016-06-29T01:10:13.613 に答える
1

AS 3 の例... http://www.dauntless.be/astar/

于 2010-01-13T15:50:38.797 に答える
0

VB6 の実装。

http://www.gandraxa.com/pathfinding_with_a_star.xml

これは、プロセスを順を追って進め、アルゴリズムがどのように機能するかをよく理解できるため、特に便利です。これは、アルゴリズムを別の言語に変換するときに非常に役立ちます。

于 2008-09-17T16:56:05.360 に答える
0

最適化されたJava 実装が GraphHopper で利用可能です。

于 2012-08-10T10:47:51.923 に答える