重み付けがメトリック・スペース(三角不等式に従う)を形成するように、サイズNの完全無作為重み付け無向グラフを生成する最も簡単な方法を助けてください。私はnetworkxライブラリがあることを知っているが、これを行う方法がわからない。メトリック・スペースでの完全グラフの生成
答えて
@SvenMarnachは正しいが、私はnetworkxにおける距離行列からグラフを初期化することはかなり容易であることを言及するだろうと思った:
import numpy as np
import networkx as nx
V = 100 # number of nodes
D = 2 # dimensionality
positions = np.random.rand(V, D)
differences = positions[:, None, :] - positions[None, :, :]
distances = np.sqrt(np.sum(differences**2, axis=-1)) # euclidean
# create a weighted, directed graph in networkx
graph = nx.from_numpy_matrix(distances, create_using=nx.DiGraph())
グラフを任意のメトリック空間にランダムに埋め込むことができます。この例ではユークリッド平面を使用しています。繰り返しますが、私たちが答える必要があるのは、重みのランダム分布に対する要件があるかどうかです。 –
@Paul私は最終的にランダム座標をどのように距離行列に変換するかを理解し、視覚化することができましたが、それはまだ難しいです。あなたはこれについて良い読書をお勧めできますか? – VladimirLenin
おそらく、それはあなたに問題を与えている 'differences = positions [:, None、:] - positions [None、:、:] 'という行です。私がやっていることは「放送」と呼ばれ、非常に便利な機能です。基本的には、(実際にタイル配列を作成することなく) 'None'によって示された次元で配列をタイリングするのと同じです。適切なチュートリアルについては、[docs](https://docs.scipy.org/doc/numpy-1.13.0/user/basics.broadcasting.html)またはgoogleをご覧ください。 – Paul
- 1. 完全グラフの最小スパニングツリー
- 2. 完全グラフk-着色ソルバー
- 3. grafana:ホバリング時のメトリックの完全なリストを参照
- 4. トランジションGraphMachineは完全に接続されたグラフを生成します
- 5. 階層グラフ接続のメトリック
- 6. Dimple.JSで不完全な円グラフを作成
- 7. Nvidia Nsight Eclipse版のメトリックの生成
- 8. group_byで完全な列を完成
- 9. svnリポジトリ内のファイルの完全なURLを生成するコマンドライン?
- 10. GAEデータストアに有向グラフ、重み付き完全グラフを格納
- 11. Neo4jでクエリの完全なグラフを取得
- 12. jQueryフルカレンダーは完全な月の予定を生成します
- 13. Windowsの完全なメモリダンプを正しく生成するには?
- 14. sqlクエリから完全なカレンダーのjsonイベントを生成する
- 15. 完全な足場を持たないRESTfulコントローラの生成
- 16. C#で完全にランダムな偶数を生成する
- 17. JAXB XJCコード生成 - ObjectFactoryクラスが不完全です
- 18. MVCで完全なURLを生成しますか?
- 19. 生成グラフ
- 20. emacsの完全に明瞭なタブとスペース?
- 21. iPhoneで完全に音を再生
- 22. ムービークリップをマウスで完全に再生
- 23. Railsでいくつかの奇妙なメトリックを生成する
- 24. Doxygenでプロジェクトのメトリックを生成しますか?
- 25. 完全に完成しました
- 26. 完全な無向グラフのハミルトニアンパスとハミルトニアン回路の比較
- 27. OrientDB Edgeオブジェクトなしの完全グラフの照会
- 28. 不完全な種類のグラフ/ツリーの実装
- 29. 完全に完全なHTMLが生成されたページをJavaでロードする方法はありますか?
- 30. 日アクティビティのグラフを生成
辺の重みのランダム分布のいずれかをさらに指定せず、この問題は簡単です。各エッジごとに2と3の間のランダムウェイトを選択するだけです。得られたグラフは三角不等式を徹底的に満たす。 –
@Paulそうです。不等式はd(x、y)+ d(y、z)> = d(x、z)である。左側は常に4と6の間で、右側は2と3の間です。 –
@SvenMarnach私はあなたに夢中です。 (疑問に思っている人には、Svenの洞察に疑問を抱き、それを裏付ける議論は一切ありません) – Paul