Process 如何移动到另一个具有最高值的代理?

Process 如何移动到另一个具有最高值的代理?,process,netlogo,neighbours,Process,Netlogo,Neighbours,我的经纪人设定的交易价格比他们交易时的价格高,他们将利润保存到他们的回报变量中。在人工智能过程中,我必须编写代码,让我的代理环顾四周,选择回报最高的邻居代理。然后,代理必须将其决策值赋予该代理。我之前问过,得到了这个密码: ask buyers [ let current-buyer self ask sellers [ let current-seller self let how-much 1 set decision ;some numbe

我的经纪人设定的交易价格比他们交易时的价格高,他们将利润保存到他们的回报变量中。在人工智能过程中,我必须编写代码,让我的代理环顾四周,选择回报最高的邻居代理。然后,代理必须将其决策值赋予该代理。我之前问过,得到了这个密码:

ask buyers [
     let current-buyer self
     ask sellers [
     let current-seller self
     let how-much 1
     set decision ;some number
     ask current-buyer [
     set decision ;some number
 ]]]
但我得到了我想要的其他东西。然后我自己编写代码:

ask sellers 
        [ let partner one-of buyers-here if partner != nobody 
        [ move-to one-of partner  with-max [decision] of buyers]]

但是也有一些错误,你能给点提示或者至少哪种代码是正确的吗?

根据评论修改:

ask sellers [
  let candidates (buyers-on neighbors)
  ifelse any? candidates [
    let partner one-of (candidates with-max [decision])
    move-to partner
  ][
    die ;; or whatever you want to do in this case
  ]
]

我认为这里的问题是这里的买家。在我看来,如果一个代理必须搬到一个有重大决定的邻居那里,那么就必须有另一个代码。据我所知,买家在这里的意思是,在同一补丁还是?