ノードが接続される保証がないことを考慮して、宛先ノードに最も近くなるパスを見つけることができるグラフ検索アルゴリズムを作成(または既存の拡張)しようとしています。
これを現実的に適用するために、オンタリオ州ブランプトンからオンタリオ州ハミルトンに行く必要があるとしましょう。出発点で可能な選択肢は、ローカルトランジット、GOバス、またはウォーキングです。目的地に行くには徒歩が一番嫌いな方法だと知っているので、まずGOバスを見てみます。ハミルトンに近い地点までGOを利用できることはわかっていますが、その時点でGOバスが曲がり、その最も近い地点で別の方向に進むのは、選択肢がない場所です(歩く以外、アルゴリズムは歩くことだけを考慮します)短距離の場合、それ以外の場合はルートが実行不可能と見なされます)
この同じ例を使用して、アルゴリズムが、より長い方法でそこに到達できるが、より高い重み付けされたパスである宛先ノード(または宛先ノードで可能)に近づくことができることを検出した場合(重み付けは行われません)検索中は非常に重要ですが、結果が配信された場合にのみ、宛先に最も近いパスが昇順で一覧表示されます)。たとえば、1つのGOバスで目的地のノードから3 kmの距離になり、3つの公共交通機関のバスで500mの距離になります。
したがって、私の質問は2つあります。1)どのアルゴリズムから始めれば、同様のことができます。2)ノードが接続されていなくても、ノードAからノードRにジャンプしないように、プログラムで説明するにはどうすればよいでしょうか。最後から始めて、逆方向に作業することでこれを達成できますか
編集:特に大きなグラフでは、この問題の解決策が何百万もある可能性があるため、最良の近似解を目指す方法を尋ねるのを忘れました。
ありがとう、マイケル