経路探索ビジュアライザー
グラフが探索され最短経路が見つかる様子を見る
グラフ・経路探索アルゴリズムは2つの問いに答えます。このノードに到達できるか?、そして最も安いルートは何か?これらのビジュアライザーは探索フロンティアが広がる様子を描き出すため、BFSのような非ヒューリスティック探索とA*のようなヒューリスティック探索の違いが一目瞭然になります。
自分のグリッドで各アルゴリズムを実行し、壁や重みを配置し、迷路を生成して、どのセルがなぜ訪問されるのかをステップごとに確認できます。
Visualizers を見る
Dijkstra's Algorithm Visualizer
最も近いノードを貪欲に確定 — 重み付きグラフでの最短経路、O((V+E) log V)。
A* Pathfinding Visualizer
Dijkstraにゴールを狙うヒューリスティックを加えたもの — 地点間探索で探索ノード数が大幅減。
Breadth-First Search (BFS) Visualizer
キューを使いレベルごとに探索 — 重みなしグラフでの最短経路、O(V+E)。
Depth-First Search (DFS) Visualizer
スタックを使い1つの枝を深く掘り下げる — サイクル検出や迷路の掘削に最適。
Maze Generator
経路探索アルゴリズムを試すためのランダムな迷路を生成。
なぜ経路探索を可視化するのか?
経路探索はGPSルーティング、ゲームAI、ネットワーク設計を支えています。BFSが均等に広がる一方でA*がゴールへ真っ直ぐ進む様子を見ることで、擬似コードでは得られない形でヒューリスティックが腑に落ちます — 学生や面接対策に最適です。
よくある質問
BFS、DFS、Dijkstra、A*の違いは何ですか?
BFSはレベルごとに探索し、重みなしグラフで最短経路を見つけます。DFSは1つの枝を深く掘り下げます。Dijkstraは重み付きグラフで最短経路を見つけます。A*はゴールを狙うヒューリスティックでDijkstraを高速化します。
DijkstraよりA*を使うべきなのはどんな時ですか?
残り距離を推定できる場合(例えば直線距離)、地点間の経路探索にはA*を使いましょう — ヒューリスティックにより探索するセル数が大幅に減ります。すべてのノードへの経路が必要な場合や、良いヒューリスティックがない場合はDijkstraを使いましょう。