问题标签 [complex-networks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2141 浏览

python - 伊辛模型 [Python]

我正在尝试在 Barabasi-Albert 网络中模拟 Ising 相变,并尝试复制一些可观察量的结果,例如在 Ising 网格模拟中观察到的磁化和能量。但是,我在解释我的结果时遇到了麻烦:不确定物理是错误的还是实现中存在错误。这是一个最小的工作示例:

观察结果

  1. 作为温度函数的磁化趋势
  2. 比热

我已经尝试对代码进行大量注释,以防我忽略了某些内容,请询问。

问题

  1. 磁化趋势是否正确?磁化强度随温度升高而降低,但不能确定相变的临界温度。
  2. 随着温度的升高,能量接近于零,这似乎与在伊辛网格中观察到的一致。为什么我得到负比热值?
  3. 如何选择蒙特卡罗步数?这仅仅是基于网络节点数量的命中和试验吗?

编辑:02.06::反铁磁配置的模拟崩溃反铁磁配置的模拟分解

0 投票
1 回答
466 浏览

algorithm - Matlab中的优先依附,复杂网络

大家好!

我现在正在 MATLAB 中研究优先附件模型,但在理解以下内容时遇到了一些麻烦:

假设我一开始有 4 个节点,连接如下:

在下一个时间步骤中,我添加一个节点和 4 个连接,然后添加另一个单个节点和 4 个连接。
我与节点 i 的链接概率的公式是:

这导致第一步中每个节点 i = 1 到 4 的概率为 1/4,然后,将节点 5 连接到 1、2、3 和 4,我将有一个“度数总和”= 12 ,在以下时间步中添加节点 6 时。
这意味着链接概率是:1/6、1/6、1/6、1/6 和 1/3。

如何在 MATLAB 中进行设置?我的问题是,我通常将这些东西写在纸上以获得更好的理解,如果有随机化,我只是在纸上“模拟”它以将其与简单的 MATLAB 程序进行比较。

我现在要做的是:我取一个随机数,比如说 0.3045。
要将其添加到节点,它必须在

所以第一步我有一个想法,但现在我有两个不同的问题,我认为它们密切相关:

  1. 我如何在 MATLAB 中实现这一点,范围方法是个好主意吗?
  2. 假设每个节点只能连接一次,在添加第一个连接后概率如何变化?(我不得不承认这可能是一个更数学的问题......)

非常抱歉,这个问题看起来很乱,但我希望有人能给我一些关于这个实现的提示。
提前致谢!

0 投票
1 回答
1727 浏览

python - 如何用python获得复杂网络的拉普拉斯矩阵的第二小特征值?

我正在尝试使用移位反转模式使用python计算复杂网络(具有10000个节点)的拉普拉斯矩阵的第二小的特征值,这里是代码:

运行上面的代码时,我得到:

错误是否意味着拉普拉斯矩阵是奇异的?关于我应该如何进行的任何想法?有没有其他方法来计算这个第二小的特征值(使用 Matlab 或任何其他编程语言)?

0 投票
1 回答
2333 浏览

graph - NetworkX:在 Python 中连接两个独立图的节点

这个问题是关于尝试使用 NetworkX对相互依赖的网络进行建模。有专用的包(例如Pymnet),但它们似乎不如 NetworkX 灵活。顺便说一句,我想给 NetworkX 最后一次机会。

因此,假设我们有 2 个单独的图 G1 和 G2,我们将它们绘制在同一个图中:

在此处输入图像描述

现在,如果我们尝试将 G1 的节点 0 与 G2 的节点 1 连接起来:

我们没有收到任何错误,但如果您再次绘制图表,图像与之前完全相同。如果您检查边数,您会得到与以前相同的结果:

意思是边基本上没有添加,或者添加了但不显示,或者添加了,但是因为它从一个图形运行到另一个图形,它不属于其中任何一个。

您如何建议在 NetworkX 中创建从 G1 到 G2 的互连,而不求助于其他包?

0 投票
2 回答
139 浏览

python - ComplexNetworkSim 没有正确安装?还是 SimPy?

我试图安装 ComplexNetworkSim。我按照此处显示的说明进行操作: https ://pythonhosted.org/ComplexNetworkSim/installation.html

按照建议,我使用 setuptools 安装 NetworkX 和 SimPy(这是 ComplexNetworkSim 的先决条件)。

但是,当我尝试在 PyCharm 中使用该包时,基于此示例

我收到以下错误消息:

0 投票
2 回答
68 浏览

complexity-theory - 引文网络如何与复杂的自适应系统相关联?

我读过引文网络与复杂的自适应网络相关联,因为它们表现出以下特征:自组织、涌现、非线性、有序/混沌动态,并适应其环境。我想确切地知道引文的哪些特征展示了这些特征(只是一个简短的概述)。我也知道引文网络遵循复杂网络的幂律和小世界属性。它们还具有较高的聚类系数。

0 投票
3 回答
6130 浏览

python - 如何检查网络是否是无标度的?

给定一个无向 NetworkX Graph graph,我想检查它是否是无标度的。

为此,据我了解,我需要找到k每个节点的度数,以及该度数P(k)在整个网络中的频率。由于度数的频率与度数本身之间的关系,这应该表示幂律曲线。

绘制我对 P(k) 和 k 的计算会按预期显示功率曲线,但是当我对其进行双重记录时,不会绘制直线。

以下图是使用 1000 个节点获得的。

P(k) - k 图

P(k) - k 的双对数图

代码如下:

m应该代表缩放系数,如果它在 2 到 3 之间,那么网络应该是无标度的。

这些图是通过调用 NetworkX 的 scale_free_graph 方法获得的,然后将其用作 Graph 构造函数的输入。

更新

根据@Joel 的要求,下面是 10000 个节点的图。
此外,生成图形的确切代码如下:
graph = networkx.Graph(networkx.scale_free_graph(num_of_nodes))

正如我们所看到的,大量的值似乎确实形成了一条直线,但网络似乎在其双对数形式中有一条奇怪的尾巴。

来自 10000 个节点的 P(k) 图 来自 10000 个节点的双对数 P(k) 图

0 投票
1 回答
1201 浏览

python - Python:如何计算两个网络之间的杰卡德指数?

我有两个数据框df1df2其中包含两个网络的边缘列表,g1并且g2包含相同的节点但不同的连接。对于每个节点,我想比较两个网络之间的 jaccard 索引。

我定义了计算 jaccard 索引的函数

我正在做的是以下内容:

我想知道是否有更有效的方法

0 投票
1 回答
1537 浏览

d3.js - 是否可以在 D3 中可视化大图?

我打算使用 D3.js 可视化一个复杂的网络(大约有 60k 边和 10k 节点)。然而,经典的力导向图布局似乎只能在普通笔记本电脑上处理大约 10k 条边。是否可以使用 D3 可视化整个图表,或者您有更好的选择吗?谢谢!

0 投票
1 回答
48 浏览

graph-theory - 生成模型 VS。配置模型

我应该如何简单地解释复杂网络中生成模型和配置模型之间的区别。