オンライングラフ理論分析ツール
無向グラフの最短経路を計算。エッジを入力し、開始と終了を指定するだけで、距離と経路を表示。ダイクストラ法を使用。処理はブラウザ内でローカルに行われます。
使ってみる
機能と具体例
このツールは、無向グラフの2点間の最短経路をダイクストラ法で計算します。エッジは無向として扱われ、並列エッジ(同じノード間の複数のエッジ)も許可されます。ノード数は最大500、エッジ数は最大1000です。
具体例
次のエッジを入力したとします。
A,B,2 B,C,3 A,C,10
開始ノードをA、終了ノードをCに設定すると、結果は距離5、経路A→B→Cとなります。これは、Aから直接Cへ行くより、Bを経由する方が短いためです。
制限事項
- 負の重みは使用できません(ダイクストラ法のため)。重み0のエッジは許可されます。
- 有向グラフ、座標可視化、中心性、最小全域木、負のエッジアルゴリズムには対応していません。
- 同じ最短距離の経路が複数ある場合でも、1つの経路のみが表示されます。
- 連結成分の計算は行いません。
よくある質問
Q1: エッジの重みを省略できますか?
はい、重みを省略するとデフォルトで1として扱われます。例えば「A,B」と入力すると、重み1のエッジとして解釈されます。
Q2: ノード名にスペースや記号を含められますか?
ノード名はカンマで区切られ、前後の空白は自動的に削除されます。ただし、ノード名自体にカンマを含めることはできません。また、開始ノードと終了ノードはエッジリストに存在する必要があります。
Q3: 結果の経路はどのように表示されますか?
経路は「A → B → C」のように矢印で連結された形式で表示されます。これは実際の出力文字であり、エスケープ表記ではありません。
区切りはASCIIのカンマ、重みの小数点はピリオドを使います。A,Bは重み1ですが、A,B,の空欄は現在0と解釈されるため、重みは明記してください。空行は無視します。名前は大文字・小文字を区別し、前後の空白だけを除去します。名前にカンマは使えません。始点と終点が同じなら距離0で経路はそのノードです。ノード数は一覧全体を数えます。浮動小数点の和には丸め誤差があり、到達可能でも距離が有限範囲を超える場合は数値エラーになります。
処理はブラウザ内でローカルに行われます。