networkx.generators.geometric.soft_random_geometric_graph
的用法。用法:
soft_random_geometric_graph(n, radius, dim=2, pos=None, p=2, p_dist=None, seed=None)
返回單位立方體中的軟隨機幾何圖。
軟隨機幾何圖 [1] 模型將
n
節點均勻地隨機放置在維度為dim
的單位立方體中。如果計算的節點的距離度量值最多為radius
,則由p
-Minkowski 距離度量計算的距離為dist
的兩個節點以概率為p_dist
的邊連接,否則它們不連接.當 SciPy 可用時,使用 KDTree 確定彼此在
radius
內的邊。這將時間複雜度從 降低到 。- n:int 或可迭代
節點數或可迭代節點
- radius: float:
距離閾值
- dim:整數,可選
圖的維度
- pos:字典,可選
以節點位置為值的節點鍵控字典。
- p:浮點數,可選
使用哪個 Minkowski 距離度量。
p
必須滿足條件1 <= p <= infinity
。如果未指定此參數,則使用 度量(歐幾裏德距離度量),p = 2。
這不應與 Erdős-Rényi 隨機圖的
p
混淆,它表示概率。- p_dist:函數,可選
一個概率密度函數,計算連接兩個距離為 dist 的節點的概率,由 Minkowski 距離度量計算。概率密度函數
p_dist
必須是以度量值作為輸入並輸出 0-1 之間的單個概率值的任何函數。 scipy.stats 包實現了許多概率分布函數和用於自定義概率分布定義的工具 [2],並且可以在此處使用傳遞 scipy.stats 分布的 .pdf 方法。如果未提供概率函數p_dist
,則默認函數是帶有速率參數 的 index 分布。- seed:整數、random_state 或無(默認)
隨機數生成狀態的指示符。請參閱隨機性。
- 圖形
軟隨機幾何圖,無向且無自環。每個節點都有一個節點屬性
'pos'
,該屬性存儲該節點在歐幾裏得空間中的位置,由pos
關鍵字參數提供,或者如果沒有提供pos
,則由該函數生成。
參數:
返回:
注意:
這使用
k
-d 樹來構建圖形。pos
關鍵字參數可用於指定節點位置,因此您可以為位置創建任意分布和域。例如,要使用均值 (0, 0) 和標準差 2 的節點位置的 2D 高斯分布
scipy.stats 包可用於定義概率分布,其中 .pdf 方法用作
p_dist
。>>> import random >>> import math >>> n = 100 >>> pos = {i: (random.gauss(0, 2), random.gauss(0, 2)) for i in range(n)} >>> p_dist = lambda dist: math.exp(-dist) >>> G = nx.soft_random_geometric_graph(n, 0.2, pos=pos, p_dist=p_dist)
參考:
- 1
Penrose, Mathew D. “Connectivity of soft random geometric graphs.” The Annals of Applied Probability 26.2 (2016): 986-1028.
- 2
scipy.stats - https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html
例子:
默認圖表:
G = nx.soft_random_geometric_graph(50, 0.2)
自定義圖表:
在 100 個均勻分布的節點上創建一個軟隨機幾何圖,其中節點由一條邊連接,如果它們的歐幾裏德距離最多為 0.2,則其概率從 index 分布計算得出,速率參數為 。
相關用法
- Python NetworkX single_source_dijkstra_path_length用法及代碼示例
- Python NetworkX single_source_bellman_ford用法及代碼示例
- Python NetworkX subgraph_view用法及代碼示例
- Python NetworkX shortest_path用法及代碼示例
- Python NetworkX square_clustering用法及代碼示例
- Python NetworkX sets用法及代碼示例
- Python NetworkX simrank_similarity用法及代碼示例
- Python NetworkX shell_layout用法及代碼示例
- Python NetworkX single_source_bellman_ford_path用法及代碼示例
- Python NetworkX sudoku_graph用法及代碼示例
- Python NetworkX single_source_bellman_ford_path_length用法及代碼示例
- Python NetworkX single_source_shortest_path_length用法及代碼示例
- Python NetworkX snap_aggregation用法及代碼示例
- Python NetworkX set_edge_attributes用法及代碼示例
- Python NetworkX stochastic_block_model用法及代碼示例
- Python NetworkX symmetric_difference用法及代碼示例
- Python NetworkX selfloop_edges用法及代碼示例
- Python NetworkX second_order_centrality用法及代碼示例
- Python NetworkX simulated_annealing_tsp用法及代碼示例
- Python NetworkX shortest_augmenting_path用法及代碼示例
- Python NetworkX spring_layout用法及代碼示例
- Python NetworkX simple_cycles用法及代碼示例
- Python NetworkX single_source_dijkstra用法及代碼示例
- Python NetworkX spectral_bipartivity用法及代碼示例
- Python NetworkX strong_product用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.geometric.soft_random_geometric_graph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。