如何为将在模型中更改的 <breed> 创建一个随机分布的布尔变量?

How do I create a randomly distributed boolean variable for a <breed> that will change in the model?

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

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

非常感谢!

如果我没有正确理解您的问题,您只是希望 sexworkerstruefalse 之间随机选择 trust? 设置变量。如果那是对的,那么 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

如果您正在寻找某种不均匀分布,您可以使用 randomrandom-float 基元进行简单的分配。例如,如果我想要 sexworkers 的 25% 以 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

对于特定的发行版,请查看各种 random reporters

对于加权随机性,请查看 rnd extension