當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX waxman_graph用法及代碼示例


本文簡要介紹 networkx.generators.geometric.waxman_graph 的用法。

用法:

waxman_graph(n, beta=0.4, alpha=0.1, L=None, domain=(0, 0, 1, 1), metric=None, seed=None)

返回 Waxman 隨機圖。

Waxman 隨機圖模型將 n 節點均勻地隨機放置在矩形域中。距離 d 的每對節點都由一條邊以概率連接

此函數使用 L 關鍵字參數實現了兩個 Waxman 模型。

  • Waxman-1:如果沒有指定L,則設置為任意一對節點之間的最大距離。
  • Waxman-2:如果指定L,則從區間[0, L]中均勻隨機選擇一對節點之間的距離。

參數

nint 或可迭代

節點數或可迭代節點

beta: float

型號參數

alpha: float

型號參數

L浮點數,可選

節點之間的最大距離。如果未指定,則計算實際距離。

domainfour-tuple 個數字,可選

域大小,以 (x_min, y_min, x_max, y_max) 形式的元組形式給出。

metric函數

數字向量的度量(表示為列表或元組)。這必須是一個接受兩個列表(或元組)作為輸入並產生一個數字作為輸出的函數。該函數還必須滿足 metric 的四個要求。具體來說,如果 是函數, 是圖中的向量,那麽 必須滿足

  1. ,

  2. 當且僅當

  3. ,

如果未指定此參數,則使用歐幾裏德距離度量。

seed整數、random_state 或無(默認)

隨機數生成狀態的指示符。請參閱隨機性。

返回

圖形

一個隨機的 Waxman 圖,無向且沒有自環。每個節點都有一個節點屬性'pos',該屬性存儲該節點在歐幾裏得空間中的位置,由該函數生成。

注意

從NetworkX 2.0 開始,參數 alpha 和 beta 與它們在概率分布中的常見角色一致。在早期版本中,它們在表達式中的位置是相反的。它們在調用序列中的位置也顛倒了,以最大限度地減少向後不兼容。

參考

1

B. M. Waxman, Routing of multipoint connections. IEEE J. Select. Areas Commun. 6(9),(1988) 1617-1622.

例子

使用 metric 關鍵字參數指定備用距離度量。例如,要使用“taxicab metric”而不是默認的Euclidean metric

>>> dist = lambda x, y: sum(abs(a - b) for a, b in zip(x, y))
>>> G = nx.waxman_graph(10, 0.5, 0.1, metric=dist)

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.geometric.waxman_graph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。