首页 > 解决方案 > 如何为 a 创建随机分布的布尔变量那会改变模型吗?

问题描述

我正在编写一个包含两个品种的模型:性工作者和官员,其中性工作者拥有一个布尔变量,该变量在设置时随机分布,但随后会根据官员的行为和与官员的互动而变化。我使用性工作者自己的[信任?]

在序言中,但我不确定如何在性工作者群体中随机分配变量的 y/n。非常感谢任何输入!

非常感谢!

标签: variablesbooleannetlogoagent-based-modeling

解决方案


如果我正确理解您的问题,您只是想在设置变量sexworkers之间随机选择。如果这是正确的,那么也许会为您解决问题 - 例如,运行这个简单的设置:truefalsetrust?one-of

breed [ sexworkers sexworker ]
sexworkers-own [ trust? ]

to setup
  ca
  create-sexworkers 1000 [
    set trust? one-of [ true false ]
  ]
  print word "% Trusting: "  ( ( count sexworkers with [ trust? ] ) / 
    count sexworkers * 100 )
  reset-ticks
end

如果您正在寻找某种不均匀分布,您可以使用randomorrandom-float原语来做简单的分布。例如,如果我希望 25%sexworkers以 开头trust? = true,我可以执行以下操作:

to setup-2
  ca
  create-sexworkers 1000 [
    ifelse random-float 1 < 0.25 [
      set trust? true 
    ] [
      set trust? false
    ]
  ]
  print word "% Trusting: "  ( ( count sexworkers with [ trust? ] ) / 
    count sexworkers * 100 )
  reset-ticks
end

对于特定的分布,看看各种随机记者

对于加权随机性,看看rnd扩展


推荐阅读