鉄道のシミュレータは、無向グラフで表され、エッジは列車のトラックであり、頂点はスイッチです。無向グラフのパスの衝突をテストするアルゴリズム
here is what the railway looks like
列車は両方の方向を駆動することができます各スイッチの間に一つだけのトラックがあります。
すべての電車について、Dijkstraの最短経路アルゴリズムを使用して方向を計算します。しかし、今私はその結果との衝突を検出することができる必要があります。例えば
だが、現在のトラックがGtを
された状態でかつB =(GKのLg NmのBxの2本の列車AとB
A =(GTのMx LgはNmでLG)は経路 があるとしようA1)
これらの列車が特定のポイントでお互いに衝突することは容易にわかります。私はこれを予測して防止する方法を探しています。
ユニオン検索やKnuthアルゴリズムxを調べましたが、あなたの誰かがこれを解決する良いアイデアを持っていることを願っています。
アルゴリズムには時間を考慮する必要がありますか?列車ごとに速度がありますか? – David
私はすべての電車の速度と、頂点までの距離を計算する関数を持っています。それができればそれはいいだろうが、それが考慮されて時間を取ることなく動作している場合私はすでに幸せだ。 – user3163085
ノードと離れたパスを探していますか? –