比较具有多个变量值的网络
compare a network with multi value of a variable
我有一个网络并在 netlogo.In 中模拟它 我的网络有 n 个节点,随机数据来自 [0.1,2,...,19]。
一开始,一个随机节点成为接收器,然后 3 个随机节点开始将其数据发送到 sink.i 声明一个名为 gamma.after 的变量节点将其数据发送到接收器,接收器决定是否将该数据存储在其内存中 space 或不基于 gamma.after 0.5s 这个过程 repeat.at 每次一些节点下沉并需要一些 data.this 是我在我的网络中分发数据的方式。
毕竟我必须将 gamma 从 0 更改为 1 以确定最佳值。每次 运行 我的代码用 gamma=1 绘制 something.i mean:first 运行 我的代码,在 运行 之后再次用 gamma=0.98 和 . ..
if Entropy <= gamma
[
do something
]
如果我每次更改伽马时都按设置按钮,我的网络设置也会更改,并且我无法将同一网络与另一个伽马进行比较。
我如何将我的网络与多个伽玛值进行比较?
我的意思是,是否可以保存我所有的过程,并且 运行 它又完全一样了?
有可能如果你先设计一些测试,当你每次按设置时放入随机数据时,以前的图表与新图表不一样,因此你需要每次都加载相同的数据测试。
一个想法:
用节点数据和伽玛值制作文本文件。对于 4 个节点,你会得到类似的东西:
dat1.txt
1 3 2 9
1
dat2.txt
1 3 2 9
0.98
dat3.txt
1 3 2 9
0.96
等等...
您可以使用过程和特定种子生成此文件(参见 random-numbers),这意味着如果您想要生成 30 个测试(在上例中为 30 组 4 个节点),您你需要 30 种不同的种子。
您可以使用 random-seed
始终创建相同的网络,然后使用新的种子(使用 random-seed new-seed
创建和设置)生成随机数并请求订单等供您处理。 BehaviorSpace 工具将允许您使用不同的 gamma 值执行许多 运行s。
使用此方法将保证您使用相同的网络。然而,仅仅因为特定的 gamma 值最适合一个网络,并不意味着它对其他网络也是最好的。因此,您可以创建具有不同种子的多个网络,并让每个网络都有 NetLogo select(正如@David 建议的那样),或者您可以简单地允许 NetLogo 创建不同的网络和 运行 许多模拟,以便您拥有更多适用于 'average' 网络的可靠答案。
我有一个网络并在 netlogo.In 中模拟它 我的网络有 n 个节点,随机数据来自 [0.1,2,...,19]。
一开始,一个随机节点成为接收器,然后 3 个随机节点开始将其数据发送到 sink.i 声明一个名为 gamma.after 的变量节点将其数据发送到接收器,接收器决定是否将该数据存储在其内存中 space 或不基于 gamma.after 0.5s 这个过程 repeat.at 每次一些节点下沉并需要一些 data.this 是我在我的网络中分发数据的方式。
毕竟我必须将 gamma 从 0 更改为 1 以确定最佳值。每次 运行 我的代码用 gamma=1 绘制 something.i mean:first 运行 我的代码,在 运行 之后再次用 gamma=0.98 和 . ..
if Entropy <= gamma
[
do something
]
如果我每次更改伽马时都按设置按钮,我的网络设置也会更改,并且我无法将同一网络与另一个伽马进行比较。
我如何将我的网络与多个伽玛值进行比较?
我的意思是,是否可以保存我所有的过程,并且 运行 它又完全一样了?
有可能如果你先设计一些测试,当你每次按设置时放入随机数据时,以前的图表与新图表不一样,因此你需要每次都加载相同的数据测试。
一个想法:
用节点数据和伽玛值制作文本文件。对于 4 个节点,你会得到类似的东西:
dat1.txt
1 3 2 9
1
dat2.txt
1 3 2 9
0.98
dat3.txt
1 3 2 9
0.96
等等...
您可以使用过程和特定种子生成此文件(参见 random-numbers),这意味着如果您想要生成 30 个测试(在上例中为 30 组 4 个节点),您你需要 30 种不同的种子。
您可以使用 random-seed
始终创建相同的网络,然后使用新的种子(使用 random-seed new-seed
创建和设置)生成随机数并请求订单等供您处理。 BehaviorSpace 工具将允许您使用不同的 gamma 值执行许多 运行s。
使用此方法将保证您使用相同的网络。然而,仅仅因为特定的 gamma 值最适合一个网络,并不意味着它对其他网络也是最好的。因此,您可以创建具有不同种子的多个网络,并让每个网络都有 NetLogo select(正如@David 建议的那样),或者您可以简单地允许 NetLogo 创建不同的网络和 运行 许多模拟,以便您拥有更多适用于 'average' 网络的可靠答案。