Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法

68 篇文章 0 订阅
20 篇文章 0 订阅

🎯要点

🎯算法随机图模型数学概率 | 🎯图预期度序列数学定义 | 🎯生成具有任意指数的大型幂律网络,数学计算幂律指数和平均度 | 🎯随机图分析中巨型连接分量数学理论和推论 | 🎯生成式多层网络中尺度结构有序无序分析模型

📜生成式随机图模型用例

📜MATLAB和Python零模型社会生物生成式结构化图

📜语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇Python合成图模型

有时,找到合适的图形数据集来评估算法可能是一项艰巨的任务。有多种选择,通常需要相当长的时间才能完成。即使您找到了完美的图形数据集,您也必须验证其使用、共享和隐私政策。我们需要一种叫做合成图的东西,这些图形数据集是人工生成的可以快速评估目的。

合成图是使用图生成模型生成的。它们的构造是为了尽可能接近地模仿现实世界的图表。

  • 埃尔多斯-雷尼模型:在此模型中,我们从一组预定义的节点(例如 N)开始。现在我们使用概率在节点之间添加边以生成图。概率是固定的,并且对于图中的所有节点对都是相同的。因此,较高的概率使图变得密集,较低的概率使图变得稀疏。这是一个简单的模型,与现实世界的图相差甚远。

  • 瓦茨-斯特罗加茨模型:这是一种生成具有小世界属性的图的方法。在这种情况下,小世界被定义为具有小路径长度和高聚类系数的事物。

​ 路径长度:它是图中两个节点之间距离的度量。路径长度越短,节点之间的距离越近。聚类系数:它衡量节点的邻居彼此连接的紧密程度。

​ 该模型以具有固定节点数的规则网格结构开始,并将节点的边连接到其最近的邻居。它使用重新布线概率,这意味着一些边会随机地从一个地方移除并添加到其他地方。它用于对现实世界网络进行建模,这些网络是社交网络和交通网络等小世界的实例。

  • 巴拉巴西-阿尔伯特模型:该图生成模型遵循“富者愈富”原则。该模型将新节点连接到已有更多连接的现有节点。它导致图中出现一些高度连接的节点和几个连接较差的节点。它用于对互联网和社交网络等无标度网络进行建模。

让我们检查一下合成图如何使用所有三个模型并看看它们的外观。

import networkx as nx
import numpy as np
import matplotlib.pyplot as plt

G1 = nx.erdos_renyi_graph(n=50, p=0.2, seed=42)
G2 = nx.watts_strogatz_graph(n=50, k=5, p=0.4, seed=42)
G3 = nx.barabasi_albert_graph(n=50, m=5, seed=42)

fig, ax = plt.subplots(1, 3, figsize=(15, 5))

ax[0].set_title('Erdos-Renyi')
ax[1].set_title('Watts-Strogatz')
ax[2].set_title('Barabasi-Albert')
nx.draw(G1, ax=ax[0])
nx.draw(G2, ax=ax[1])
nx.draw(G3, ax=ax[2])
plt.show()

调整超参数会生成截然不同的图表。

对于社交网络,我们希望添加节点特征和节点标签。这可以使用 faker python 库来完成,它会生成假名称。

from faker import Faker
import networkx as nx
import matplotlib.pyplot as plt

faker = Faker()

names = []

for i in range(10):
    name = faker.name()
    names.append(name)

G = nx.barabasi_albert_graph(n=10, m=5, seed=42)

mapping = {i: names[i] for i in range(len(names))}
G = nx.relabel_nodes(G, mapping)
fig, ax = plt.subplots(figsize=(3, 2), dpi=300)
nx.draw(G, with_labels=True, node_size=50,width=0.1, font_size=3.5)
plt.show()

合成社交网络现在有了标签。每个节点代表一个人,他们的名字充当节点标签。可以生成社交网络中每个人的其他节点属性(例如年龄、性别和职业)并更新图。 现在我们有了一个满载的合成社交网络,可用于执行图形分析任务。

👉参阅、更新:计算思维 | 亚图跨际

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值