限制代理可以建立的链接数量

2024-03-26

我有乌龟链接,如果它们的 var1 具有相同的值(这很好)。我想将链接数量限制为三个。我在代码的链接部分之前添加了一个 IF 语句(If count my-links < 3),但不起作用;代理继续链接超过我设置的最大值。我读了另一个问题如何限制代理可以在模型中建立的链接数量 https://stackoverflow.com/questions/31007765/how-to-limit-the-number-of-links-an-agent-can-make-in-a-model但这似乎并不能完全达到我在这里尝试的目的。我究竟做错了什么?

to communicate
  If count my-links < 3
  [
  ask other xagents in-radius 5 with [var1 = [var1] of myself]
  [create-links-with yagents in-radius 5 with [var1 = [var1] of myself]
    [
      set color white
      set thickness 0.1
    ]
  ]
  ]
end

在让海龟创建新链接之前限制它们的链接数量:

通过查看您的完整模块,正如 @JenB 提到的那样,似乎没有条件限制目标海龟用于建立链接的链接数量。

这是第一步:

to communicate
  If count my-links < 3
  [
  ask other xagents in-radius 5 with [(var1 = [var1] of myself) and (count my-links < 3)]
  [create-links-with yagents in-radius 5 with [(var1 = [var1] of myself) and (count my-links < 3)]
    [
      set color white
      set thickness 0.1
    ]
  ]
  ]
end

但如果没有这样的代理人怎么办? (半径为 5,具有相同的 val1 且链接数小于 3)可能需要一个 if 语句。

我也认为你需要使用one-of在您的代码中每一步仅创建一个链接。


每次勾选后终止链接以限制海龟的链接数量:

你可以在你的最后得到这个communicate删除额外链接的子程序。它的缺点是随机删除链接,并且还可能从链接较少的海龟中删除链接,而不是从可能具有额外链接的海龟中删除链接。

ask turtles with [count my-links > LIMIT] [ if count my-links > LIMIT [ask n-of (count my-links - LIMIT) my-links [die]] ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

限制代理可以建立的链接数量 的相关文章

  • 如何提高最低成本路径模型的模拟速度

    通过使用网络扩展 以下代码在两个多边形 由多个面片组成 之间构建成本最低的路径 to calculate LCP ID polygon 1 ID polygon 2 let path let path cost 1 Define polyg
  • 如何计算两个补丁之间的距离?

    我需要找到代理前面的补丁与某个补丁 目标 之间的最小距离 以便选择能够创建最佳 最短 路径的补丁 原始的distance仅需要一个参数 因此我无法按原样使用该函数 The distance原语只需要一个参数 是的 但它是一个 补丁或海龟原语
  • RNetLogo 无法在 Mac Yosemite 上运行

    我刚刚尝试过此操作 但收到此错误消息 关于如何修复它有什么想法吗 我使用的是R版本3 1 1 RNetLogo 1 0 1 平台是x86 64 apple darwin13 1 0 64位 Java 7 update 60 Sys sete
  • NetLogo:有没有办法自定义导出图生成的 CSV 文件以仅包含某些列?

    这可能看起来非常基本 但是使用 NetLogo 的导出绘图功能 我得到的是这样的 x y color pen down x y color pen down x y color pen down x y color pen down 有没有
  • NetLogo - 使用BehaviorSpace获取所有海龟位置作为每次重复的结果

    我正在使用BehaviorSpace 使用不同的参数运行模型数百次 但我需要知道所有海龟的位置 而不仅仅是海龟的数量 我怎样才能用BehaviorSpace实现它 目前 我通过以下代码将结果输出到 csv 文件中 to report get
  • 尝试在集群上无头运行 NetLogo 时出现 Java 错误

    我正在尝试使用 Linux 无头运行 Netlogo 以便将作业发送到集群 我以前从未使用过 Linux 但我正在尝试按照此处的说明进行操作 http netlogo users 18673 x6 nabble com Running Ne
  • 如何在 netlogo 上创建计时器?

    对于我的迷宫项目 我想创建一个监视器按钮来跟踪海龟从开始到结束所需的时间 我该如何为计时器编写代码 查看reset timer and timer并在文档中 在迷宫设置期间 执行reset timer 在迷宫运行过程中 您可以使用以下命令检
  • 通过视锥旋转乌龟

    我想写到我有视野的地方锥角对于乌龟 我通过视锥旋转乌龟 因此 首先它朝向视锥的起点 并以 0 05 度的增量变化 直到到达视锥的终点 let max head heading cone angle 2 set heading subtrac
  • Netlogo:带有两个列表的“foreach”命令

    我有一个完整的有向图 每个链接都有自己的权重 我已经成功地选择了每只海龟的最大输出链接 但是 有时两只乌龟的最大输出链接彼此相反 导致两个彼此相反的链接被选择 如果发生这种情况 我希望具有较低值的链接消失 我用这个创建了两个列表 set m
  • NetLogo:以紧凑的方式对列表中的一项执行操作的过程?

    NetLogo 的新手 想知道是否有一个过程可以以紧凑的方式对列表中的一项执行操作 类似于地图 但针对一项 例如 假设我想添加3到索引处的项目i在列表中blah 现在我正在这样做 set blah replace item i blah i
  • NetLogo BehaviourSpace - 使用报告器进行测量

    在我的 NetLogo 模型中 我的海龟被称为居民 每个居民都有自己的起始意见 initial opinion 和最终意见 final opinion 他们的意见是使用随机数计算的 因此当我更改某些参数时 我想运行模型至少 20 次 因此我
  • 根据区域大小在 NetLogo 中间隔代理

    我正在尝试在 NetLogo 中开发一个模型 其中动物代理将在每次模型启动时随机分布在空间中 然而 动物是有领地意识的 关于如何让动物从一定大小的圆形区域开始 可以与其他动物在一定程度上但不完全重叠 有什么建议吗 下面是我开始的代码片段 但
  • Netlogo HPC CPU 使用百分比增加

    我通过以下方式使用无头 NetLogo 将作业提交到 HPC 服务器code bin bash N r20p q all q pe mpi 24 home abhishekb netlogo netlogo 5 1 0 netlogo he
  • 如何使用两条相交线的概念在 Netlogo 中实现避障(海龟标题与由补丁组成的墙)

    我们如何将 Netlogo 海龟的方向转换为直线方程 y mx c 以便可以将其与另一个直线方程 例如代表墙的补丁 进行比较 我需要将乌龟的航向转换为直线方程 然后将标题线方程与墙的线方程进行比较 墙的线方程有固定的 x 或固定的 y 取决
  • 用乌龟画一个超椭圆

    显然 任何可以通过其他方式绘制的形状都可以由海龟绘制 圆形和正方形很容易 rt 1 fd 0 and if ticks mod 100 0 rt 90 fd 1 超级椭圆没那么多 规则的省略号也不是微不足道的 维基百科关于超椭圆的文章 ht
  • 在 NetLogo 中控制海龟的生命

    在一个项目中 我正在 NetLogo 中开发一个模拟来处理狗和人类的狂犬病 我有一些乌龟 人类和狗 可以接种疫苗 也可以不接种 一开始我创造了一只患有狂犬病的狗 根据疾病的阶段 1或2 它有一定的概率将疾病传播给其他狗 最后 狗可能会因瘫痪
  • 如何解析 Netlogo 中的字符串?

    Context 对于我的模型 我希望有一个输入 用户可以在其中输入一系列值 E g 我希望从上面显示的输入中得到一个由五个数字组成的列表 例如 0 5 0 2 0 0 2 0 5 这样我就可以使用他们输入的数字进行一些计算 问题 不幸的是
  • 如何存储/计算单个簇大小并在 NetLogo 中绘制它们

    我有一个生成黄色斑块簇的模型 我有兴趣查看簇大小的频率分布 为此 我从 NetLogo 代码库中的 补丁集群示例 中选择了代码 它似乎在查找簇方面起作用 参见下面的照片 尽管我希望它不计算簇中的绿色斑块 但我不知道如何获取大小 或斑块计数
  • 来自 links-own 的参数值

    我需要帮助 所以我想将代理拥有的参数指定为链接拥有的参数值的平均值 frienships own strength household own influence factor to create influence if friendsh
  • 在 Netlogo 中将函数作为参数传递

    在许多其他编程语言中 您可以将一个函数作为参数传递给另一个函数并从该函数内调用它 无论如何 在 Netlogo 中可以做到这一点吗 比如下面这样 x y z are all ints to report f x y z report x y

随机推荐

  • 如何在 makefile 中定义变量,然后在 Fortran 代码中使用它

    我试图在 makefile 中定义一个变量 然后根据是否设置了该变量 更改在我的 Fortran 例程中编译的代码块 简单的例子我无法工作 program test implicit none integer a ifdef MYVAR a
  • 在WebView中显示Android资源文件?

    我看过关于从资产提供 WebView 页面问题的各种讨论 但没有一个似乎是明确的 我希望能够使用 webview 来显示存储在项目资产中的 html 以及包含的 css 文件 我发现 wv loadUrl file android asse
  • 通过标题获取 NSMenu 树的 NSMenuItem

    我有一个NSMenu 比如说主菜单 有很多NSMenu里面有 并且NSMenuItem处于不同级别 我希望能够获取指定树路径的 NSMenuItem 实例 其中包含相应 NSMenus NSMenuItems 的标题 例子 Menu Fil
  • 如何更改输入类型=“日期”日期选择器的外观?

    我想将输入 type date 日期选择器的默认外观从箭头更改为日历图标 并使其始终可见 谷歌搜索这个问题并没有透露什么信息 我在 2012 年看到了下面的帖子 上面说这是不可能的 事情有变化吗 https developers googl
  • 为什么有些对象在 Objective-C 中使用前不需要初始化?

    为什么有些对象在 Objective C 中使用前不需要初始化 例如这是为什么NSDate today NSDate date legal 它们在内部初始化date方法 这是在 Objective C 中创建自动释放对象的常见方法 这种形式
  • 按钮标签中的 R 闪亮断线

    请看下面的玩具示例 任何帮助将不胜感激 谢谢 shinyApp ui fluidPage actionButton btnId I want a line break here br since the label is too long
  • 如何在 Android 上正确初始化和终止 EGL

    虽然有很多关于在 Android 上使用 OpenGL ES 的示例 但所有这些示例在 EGL 的初始化 终止方面似乎都是不正确的 即使是 Android SDK NDK 附带的示例 问题的根源在于 Android 应用程序模型 这使得 E
  • 在 Linq to SQL 中重写 NHibernate 应用程序

    我有一个使用 NHibernate 编写的过时的应用程序 现在我想重写它 包括新功能和模型的重大变化 使用 Linq to SQL 而不是 NHibernate 的主要缺点是什么 使用 LINQ to SQL 可能会出现哪些问题 将 Dat
  • GIT - 无法忽略 .suo 文件

    我正在尝试与同事一起在用 C 编写的应用程序中使用 Git 我们已将条目 project1 suo 添加到 gitignore 文件中 但每次我们必须提交该项目时 Git 似乎都会告诉我们也提交文件 project1 suo 我们尝试了很多
  • 安卓smali问题

    我目前正在对 smali 代码混淆器 进行一些研究 并且目前正在尝试熟悉反编译的源代码 为此 我创建了一个简单的应用程序并通过 smali 对其进行了反编译 我现在试图了解反编译的源代码 以改进和比较稍后使用代码混淆器后的安全性 针对反编译
  • 下载失败:未安装自制安装的“curl”

    命令 brew install php 每次我想在 Mac 上更新 php 时 我总是会收到如下错误 Downloading https www freetds org files stable freetds 1 3 13 tar bz2
  • Python 的 time.clock() 与 time.time() 的准确性?

    Python 中计时用哪个更好 time clock 还是 time time 哪一个提供更高的准确性 例如 start time clock do something elapsed time clock start vs start t
  • Google App Engine 始终开启功能

    有人可以解释一下 Google App Engine 中的 始终开启 功能是什么吗 它有什么用 举例说明将不胜感激 始终开启功能是否适用于任务队列 基本上 Google 会在没有流量时关闭应用程序引擎应用程序实例 通过此功能 您可以支付额外
  • 在reactJs中添加动态状态

    我创建了一个 ReactJs 页面 允许管理员将用户添加到平台 现在 管理员可以在提交表单之前添加尽可能多的用户 而不是为每个新用户提交表单 默认情况下 会显示一个包含输入字段的表行 然后单击 添加 按钮 会添加一个新行 管理员可以填写必要
  • 在 rspec 测试中发布到不同的控制器

    如何发布到与测试脚本当前指向的控制器不同的控制器 例子 在 user controller spec rb 中 it should just post to users do post create params this goes to
  • 运行maven时禁止Jasper库下载:mvn package

    我正在下载 Intellij Idea 中的 Spring 项目所需的所有库 我正在使用maven mvn包 除了被禁止的库之外 所有库都成功了 ERROR Failed to execute goal on project remax s
  • 当缓冲区只读时定义键

    当我的缓冲区是只读的 是的 我很懒 时 我尝试以与 C n 和 C p 相同的方式使用键 n 和 p 我在 emacs 文件中使用此代码 when buffer read only local set key n next line whe
  • CefSharp ChromiumWebBrowser - 未显示/渲染

    我有一个简单的应用程序 Grid with a ChromiumWebBrowser里面 当我创建ChromiumWebBrowser在 XAML 中 它可以工作 但是当我从代码隐藏创建它并将其添加到网格时 它不会显示 我只得到网格的黑色背
  • 仅从datetime sql获取日期而不转换为varchar,以便我可以在excel中对其进行排序

    当前 sql 返回日期为 2013 07 01 00 00 00 000 我只想要 mm dd yyyy 格式的日期部分 这样当我将其导出到 Excel 时 我仍然可以根据升序或降序进行排序 我尝试了 varchar 但它没有在 Excel
  • 限制代理可以建立的链接数量

    我有乌龟链接 如果它们的 var1 具有相同的值 这很好 我想将链接数量限制为三个 我在代码的链接部分之前添加了一个 IF 语句 If count my links lt 3 但不起作用 代理继续链接超过我设置的最大值 我读了另一个问题如何