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 用概率的边连接

\[p=\beta\exp(-d/\alpha l)。\]

此函数使用 L 关键字参数。

  • WAXMAN-1:IF L 未指定,它被设置为任意节点对之间的最大距离。

  • WAXMAN-2:IF L 如果指定,则从间隔中随机均匀地选择一对节点之间的距离 [0, L] .

参数
n整型或可迭代

节点数或可迭代节点数

beta: float

模型参数

alpha: float

模型参数

L浮动,可选

节点之间的最大距离。如果未指定,则计算实际距离。

domain四元组数字,可选

域大小,作为表单的元组给出 (x_min, y_min, x_max, y_max)

metric功能

关于数字向量(表示为列表或元组)的度量。这必须是一个接受两个列表(或元组)作为输入并产生一个数字作为输出的函数。该函数还必须满足 metric 。具体地说,如果 \(d\) 是函数和 \(x\)\(y\) ,以及 \(z\) 是图中的矢量,那么 \(d\) 必须满足

  1. \(d(x, y) \ge 0\),

  2. \(d(x, y) = 0\) if and only if \(x = y\),

  3. \(d(x, y) = d(y, x)\),

  4. \(d(x, z) \le d(x, y) + d(y, z)\).

如果未指定此参数,则使用欧几里得距离度量。

seed整数、随机状态或无(默认)

随机数生成状态的指示器。见 Randomness .

返回

一个随机的Waxman图,无向和无自循环。每个节点都有一个节点属性 'pos' 它将节点的位置存储在由该函数生成的欧几里得空间中。

笔记

从Networkx2.0开始,参数alpha和beta与它们在概率分布中的通常作用一致。在早期版本中,它们在表达中的位置是相反的。它们在调用序列中的位置也颠倒了,以最小化向后不兼容。

工具书类

1

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

实例

使用指定备用距离度量 metric 关键字参数。例如,要使用 taxicab metric" instead of the default 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)