agent-based-modeling相关内容
有哪些好的数据结构可以在二维空间模拟中跟踪代理? 我看到了一些对四叉树(我理解)和 kd 树(我不太理解)的引用. 我正在寻找一些东西,通过它代理可以有效地说:“我知道我的位置,我想知道哪些代理在我附近(在我自己的特定半径内)." 示例(伪代码很好)将不胜感激. 我在 Java 工作. 解决方案 我发现了一种叫做 Bucket PR Quadtree.
..
我同时使用 Queue 和 Hold 块,在所有代理到达 Queue 块之前,hold 一直处于阻塞状态. 如何更改它并希望在固定的时间间隔(例如每 3 分钟)只允许固定数量的代理(例如 5 个代理)?我的队列和保持块的当前属性: queue_block_properties hold_block_properties 解决方案 创建重复时间为 3 分钟的循环事件.还要创
..
我有一个人代理,他有一个人的 3D 表示(来自 anylogic 的人的默认 3D 照片).我们可以根据状态更改该 3D 人员代理表示的颜色吗?例如,当代理从状态 A 移动到状态 B 时,它的颜色将从黄色变为红色.怎么做?我尝试过 shapeFillColor 但 anylogic 没有检测到 3D 人体表示为形状(如多边形、三角形),状态图没有接受我的命令.如果代理是用某个多边形手动绘制的,我们
..
我为从起点线到目标线的行人运动建立了一个简单的模型,我想使用 XY 坐标(从 X=150 到 X=350,Y 是相同的)找到某个区域中移动代理的数量 事件的动作是获取该区域的代理数量并设置变量crowd1的值: crowd1=count(agents(), p-> p.getX()>150 && p.getX() 问题是它总是 0 ,即使男性在模拟中移动. 解决方案 您的环境
..
我想在考虑平均值的同时生成一个范围内的随机数. 我有一个生成范围的解决方案: turtles-own [年龄]建立crt 2 [年龄]结尾变老让最小年龄 65让 max-age 105设置年龄(最小年龄+随机(最大年龄-最小年龄))结尾 但是,如果我使用这种方法,可以以相同的概率创建每个数字,这在这种情况下没有多大意义,因为 65 岁的人比 105 岁的人多.因此,我想包括一个平均值.我
..
NetLogo 命令 distance 可用于查找乌龟与另一只乌龟的距离. 但是,我正在寻找每只海龟都能够找到具有最小总和 [距它的距离 + 价格(海龟变量)] 的海龟.我怎样才能让乌龟做到这一点? 解决方案 @JenB 的评论帮我解决了. 设置匹配卖家最小一个卖家[距离我自己+价格]
..
我想命名为“肉类市场";和“替代市场"到左下角和右上角的两个街区.我尝试使用 ask market-patches [ set plabel "Meat Market"] ask market-patches1 [ set plabel "Substitutes Market"] 但结果是这样的:在此处输入图片描述 market-patches 和 market-patches1 都是全局变
..
如果海龟的 var1 值相等,我会链接它们(这很好用).我想将链接数量限制为三个.我在代码的链接部分之前添加了一个 IF 语句(If count my-links ),但它不起作用;代理继续链接超过我设置的最大值.我读了另一个问题 如何限制代理可以在模型中创建的链接数量 但这似乎并不能完全满足我在这里的尝试.我做错了什么? 沟通如果计算 my-links
..
我为行人从起始线到目标线的移动建立了一个简单的模型,我想使用XY坐标(在X = 150到X = 350,Y相同)中找到某个区域中移动代理的数量。 该事件的操作是获取该区域中的业务代表计数,并为变量人群1设置值: crowd1 = count(agents(),p-> p.getX()> 150& p.getX()
..
我的模型中有不同颜色的海龟,每个海龟都在不同的规则下运行。我希望管理一只乌龟(例如,红乌龟)运动的程序与控制不同颜色的乌龟运动的其他程序同时运行。 解决方案 假设您有两个乌龟程序 do-red 和 do-blue 您要在红色和蓝色乌龟上运行。然后,您可以询问海龟[做某事] 并根据颜色进行调节。假设您没有更改颜色: 做某事;; turtle proc if(color = red)
..
我以前使用Netlogo,并且有一些非常好的内置方法,这些方法使我可以从总人口中筛选和控制所需的代理。 (请参阅: http://ccl.northwestern.edu/netlogo/docs/dictionary .html#agentsetgroup )。例如,我可以很容易地用简单的代码在模拟中命令不同类别的人员代理: [wealth_type =“ rich”] [捐赠钱...]
..
我正在尝试使用参数expansion rate创建一个“分层"或“树"网络结构.首先,在顶部放置一个节点,网络中的每个节点都连接到其下方等于expansion rate的多个节点.目前,我的代码如下: to wire-tree clear-all ask patches [ set pcolor white ] create-nodes 1 [ ; create
..
我正在尝试编写一种寻路行为,其中代理将在环境中定位一个最佳补丁,并沿着围栏导航以到达所述补丁.我创建了一个补丁变量'f',将其设置为1表示围栏,将其设置为0表示其他任何补丁. 我想使这些围栏无法通行(即我希望它们成为特工不会使用的补丁),但是特工似乎仍然能够在一定程度上行进,甚至在某些情况下甚至能够完全移动穿过他们. 这是特工越过障碍物的图片,我不希望它越过 代理商的相关决策代码
..
我是Netlogo和stackoverflow的新手,但是您的其他帖子已经对我有很大帮助. 我目前正在尝试编程一个模型,在该模型中,特工随机漫步一个空间,让他们在见面时停下来.这里的“开会"是指“彼此in-radius 2".他们应该互相face,等待2个滴答声,然后继续移动直到找到下一个特工. 我尝试使用到目前为止,我设法让他们彼此面对.我很难将tick-命令放在代码中的正确位置.
..
我有一些乌龟在四处张望.对于他们得到的每个邻居,他们都保存“输出热量"的值.具有最高值的补丁将获得最高概率,而具有最低值的则将获得最低概率.我希望乌龟移动到另一个补丁.移动应取决于概率. 我的代码看起来像这样,但是不能正常工作: ask turtles-here[ let temp_ahead [(output-heat + 1)^ Freedom] of patch-at 0 1
..
我正在尝试为股票市场建模.我正在尝试给代理商一种特定的行为,以他们对价格的预测为基础. 因此,基本上,每个代理商都可以预测股票的价格.在设置过程中,将随机的预测价格分配给每个代理商.随着时间的流逝,预计价格应按以下方式计算: 最近3个周期的预测价格总计/3 我不知道该如何解决这个问题.我尝试使用最后一个命令,但是它不起作用.我当时正在考虑制作一种矢量,但我做不到.有线索吗? 这是我到目
..
我有几只乌龟,每只乌龟都带有三个变量Opinion1,Opinion2和Opinion3.我需要他们: 确定这三个变量中哪个变量值最高 在他们的网络中找到另一只乌龟,其价值至少与之相同 就像在1中找到的一样. 使用1.更新在1.中找到的自己的值. 相对于2中发现的乌龟. 我所做的并没有真正的用处,因为它只会更新o1而不会真正查看哪一棵树(opinion1,view2或Opinion
..
类似于以下内容,在NetLogo中建立了不同年龄的座席社交网络,这导致通过链接连接的座席圈.这些链接的总体目的是代表这些链接之间的联系.该模型模拟了通过网络传播感染的情况.代理一开始就很容易受到感染,如果他们与感染性邻居发生接触,就有可能被感染.我想建模例如感染者的隔离或隔离.即他们与他人的链接将被完全停用,或者至少他们的大多数链接将被停用.理想情况下,我将在观察者界面上按一个按钮以停用受感染代理
..
我想给每只乌龟分配一个随机的布尔变量,但是我没有看到一个可以模拟伯努利分布绘制的函数. 这很接近,但是很尴尬: ifelse random-in-range 0 1
..
NetLogo是大型模型(> 10,000个补丁,乌龟)的好平台吗? 如何加快运行速度非常慢的模型? 解决方案 我们刚刚发表了一篇有关NetLogo执行速度的文章.可以在以下网站上找到它: http://jasss.soc.surrey.ac. uk/20/1/3.html 本文的主要观点是:(a)NetLogo在执行大型科学模型时不一定慢,并且实际上在速度上优于某些替代方法;
..