2017-03-31 11 views
0

私はPythonで次のものを実装したいと思います。このタイプの最短経路問題に適したモジュールがありますか?私はXYZの指定されたコレクション内のすべての他の原子(ノード)に特定の原子(ノード)から最短経路を定義しようとしていいくつかのノードがパスから禁止されている、セットノードから他のすべてのノードへの最短経路の計算

3次元化学構造(グラフ)座標。原子(ノード)間の結合は、ノードからノードへの移動が許されるエッジである。

私は、選択された中央ノードから外への接続性に基づいて分子(グラフ)から特定の原子(ノード)を除外しようとしています。

**考慮されているパスでは、特定のアトム(ノード)が交差しないようにする必要があります。 AからBへの最短経路が禁止されたノードを経由する場合、この回答は禁止される。 AからBへの最短経路は禁止されたノードを含んではならない**

選択された中心原子(A)から別の他のノード(B)への最短経路が禁止されたノードを含み、利用可能なエッジ(ボンド)を介してAからBまでの間、ノードBは、保存されるべきxyz座標(ノード)の最終セットから削除されるべきである。

これは、構造(グラフ)内の他のすべての原子(ノード)について、A〜C、A〜D、A〜Eなどについて繰り返す必要があります。

ありがとうございます。お手伝いをしていただきありがとうございます。

答えて

0

禁じられたノードにつながるすべてのエッジが無限のコストを持ち、使用するグラフ横断アルゴリズムのどれかが自動的に処理されることを確認してください。

代わりに、禁止されたノードをグラフトラバーサルアルゴリズムによって考慮されないように削除するだけです。

+0

ありがとうございます。どのファイル形式とPythonモジュールをお勧めしますか? –

0

あなたの質問の最初の部分に答えるには、私はnetworkx.をお勧めします。それはかなり簡単に(私は博士号でそれを使用して)一般的なグラフの図書館です。

関連する問題