当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。