首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自局部变量的rnd

来自局部变量的rnd
EN

Stack Overflow用户
提问于 2020-03-19 20:46:18
回答 1查看 61关注 0票数 0

我正在尝试编写一段代码,其中协作成功的概率越高,代理越相似。在每次运行时,局部变量计算代理之间的差异,并在差异未超过阈值的情况下创建代理之间的链接。随后,根据是否创建了链接,将代理存储在两个单独的列表中。现在,我想创建另一个列表,其中包含创建链接的每个代理的成功与失败值。该值“成功”的概率越大,相似的代理越多(它们的差异值越接近0)。

我最接近于实现这一点的是rnd扩展。然而,在我看来,rnd:weighted-one-of只接受智能体集合或列表作为输入,我没有预定义的智能体相似性列表。它是0(完全相似)和1(相异)的整个范围,我希望将局部变量与之进行比较。这有没有可能像我现在想的那样?

代码语言:javascript
复制
let difference 0
let initiator one-of turtles
ask initiator [
  let potential one-of other turtles
  if random-float 1.0 <= [my-activation] of self [                ;; different probability 
   set difference [my-profile] of self - [my-profile] of potential]    ;; of initiating 
                                                                       ;; collab                                                                                            
ifelse difference <= threshold [                                   ;; if threshold is met
  create-link-with potential                                       ;; link is initiated
  set collaborators fput potential collaborators][        ;; the initiator adds the 
  set failures fput potential failures]                   ;; potential to their list of                                  
                                                          ;; either collaborators 
EN

回答 1

Stack Overflow用户

发布于 2020-03-20 01:58:55

我建议考虑将逻辑函数作为一种将相似性与概率联系起来的方法。逻辑函数是一个范围从0到1的"s"-shaped函数,因为某个X值(例如,相似度)在很大范围内变化。例如,您可以通过假设相似度的值产生10%和90%的概率来定义逻辑函数。

在Railsback和Grimm 2019,“基于代理和基于个体的建模”的第16章中,有一个关于在NetLogo模型中使用和编程逻辑函数的完整讨论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60757561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档