трансляция сообщения от одной черепахи к одной из ее ссылок-соседям

#netlogo

#netlogo

Вопрос:

Я работаю над проектом, в котором порода, называемая узлами, передает сообщения своим соседям по ссылке

Код:

 ask message
[
let new-location one-of [out-link-neighbors with [hasmsg? = false]] of node-id

move-to new-location 

set node-id new-location
 ]
  

Как указано выше, мы можем видеть, что сообщение [т. Е. Сообщение о черепахе породы] ищет соседей по внешней ссылке, которые никогда не получали сообщения. Как только breed: message находит такой узел, появляется переход по ссылке, который показывает, что передача сообщения завершена.

Теперь, что я хочу сделать, вместо того, чтобы перемещать сообщение в новое местоположение, я хочу скопировать сообщение в новое местоположение. Как мне это сделать, я пробовал следовать, но он генерирует новые сообщения в каждом местоположении, у которого нет соседей-соседей

 ask message
[
let new-location one-of [out-link-neighbors with [hasmsg? = false]] of node-id

hatch-message 1 [move-to new-location] 

set node-id new-location
 ]
  

Комментарии:

1. Хотя это не отвечает на ваш вопрос, есть ли причина, по которой ваша модель не должна просто включать отправителя-кто и получателя-кто в вашу породу сообщений? Тогда вам не нужно беспокоиться о создании копий, если только это не то, что вам нужно смоделировать.

2. Итак… недавно выведенное сообщение может попытаться переместиться в местоположение nobody , вызывая ошибку. Это проблема, которую вы описываете?

3. Идея моей модели состоит в том, чтобы показать связь по сети между разными узлами.

4. Нет, проблема в том, что новое сообщение о штриховке должно перемещаться только к своим соседям по внешней ссылке, но оно перемещается в любом месте по сети, и новые сообщения о штриховке удваиваются каждый тик, но идея в том, что его следует копировать только при наличии соседа по внешней ссылке

5. @ParthBrahmbhatt Вы должны были присвоить каждому сообщению хотя бы одного соседа по внешней ссылке. В противном случае вы должны увидеть ошибку, которую я описал. Это объясняет, почему вы получаете удвоение сообщения. Если это правильно, удвоение будет продолжаться, если вы не разорвете ссылку после каждого перемещения.