【问题标题】:Netlogo - Group-level choicesNetlogo - 组级选择
【发布时间】:2017-10-24 15:14:38
【问题描述】:

我是这个论坛的新手,期待收到您的来信,并在可能的情况下提供我自己的一些知识。

我试图让模型中的海龟随机决定,但在组级别上连贯一致。

在我的模型中,每只海龟都有一种母语。然后将它们分成几个组,我希望每个组决定使用一种通用语言,这应该是最经常出现的母语,换句话说,是该组的模态语言。这通常工作顺利,除非组有多个模式,在这种情况下,我最初使用“one-of”功能,如下:

ask turtles [ define-majority-language ]
...

您定义多数语言

  let my-mates turtles with [ my-group = [ my-group ] of myself ]
  set my-group-majority-language one-of modes [ language-spoken ] of my-mates
end

但是,我很快意识到每只乌龟都在单独做出随机的“单选”选择,所以一些小组成员选择一个,其他小组成员选择另一个,而我希望所有小组成员随机选择但连贯一致,即他们都应该同意使用相同的语言。我也尝试过创建agentset,但又一次,成员单独行动......

我该怎么做?

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    我认为您想要做的是让第一个选择器强加该选择。因此,一旦选择,还要在 my-mates 代理集中设置其他海龟的语言。这也意味着您只想让乌龟选择一种尚未选择的语言。试试这个。

    to go
      ...
      define-majority-language
      ...
    end
    
    to define-majority-language
      ask turtles
      [ if my-group-majority-language = 0   ;; or whatever your initialisation is
        [ let my-mates turtles with [ my-group = [ my-group ] of myself ]
          set my-group-majority-language one-of modes [ language-spoken ] of my-mates
          ask my-mates [ set my-group-majority-language my-group-majority-language ]
        ]
      ]
    end
    

    【讨论】:

    • 非常感谢。我不得不对其进行一些更改以使其适合我的模型,但是您的回答肯定使我朝着正确的方向前进。
    猜你喜欢
    • 2023-01-04
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多