netlogo #social-networking
#netlogo #социальные сети
Вопрос:
Я пытаюсь настроить игрушечную модель подключенных черепах. У каждой черепахи есть случайное убеждение [0,1], и я хочу реализовать некоторые условия:
- Если это черепаха с верой> .5, черепаха ничего не делает.
- Если это черепаха с убеждением <.5, а у одного из их ближайших соседей убеждение> .5, их новое убеждение (черепахи с убеждением < .5) будет убеждением .1 .
- Если черепаха с убеждением <.5 не имеет непосредственного соседа с убеждением> .5, черепаха ничего не делает.
Базовая настройка:
turtles-own [belief]
to setup
ca
reset-ticks
crt 5 [
set shape "person"
layout-circle turtles 5
set belief random-float 1
]
ask turtles [ create-links-with min-n-of 2 other turtles [distance myself] ]
end
Это создает сеть из 5 циклов черепах. Теперь они должны проверить убеждения своих (двух) ближайших соседей. Я попробовал это:
to go
ask turtles with [one-of link-neighbors with [belief > .5]] [
set belief belief .1
]
end
Итак, основная идея заключается в том, что каждая черепаха с подключенным соседом с убеждением> .5 должна добавить .1 к своему собственному убеждению. Я пробовал несколько вариантов ask turtles with
строки, но она всегда показывает мне ошибку времени выполнения такого рода: С ожидаемым значением true / false от (черепаха 0), но вместо этого получил (черепаха 2). Есть идеи? Заранее благодарю вас.
Ответ №1:
one-of
возвращает агента. В данном случае он не подходит для оценки условия с with
помощью — условие является неполным, поскольку строка ask turtles with [one-of link-neighbors with [belief > .5]]
переводится (примерно) как «попросите черепах с условием turtle x что-нибудь сделать».
Я думаю, что вам нужно что-то, что используется count
для подсчета количества верующих turtles
или any?
для оценки того, существует ли набор агентов:
to go-1
ask turtles with [ (count link-neighbors with [belief > 0.5]) > 0 ] [
set belief belief 0.1
]
end
to go-2
ask turtles with [ any? link-neighbors with [ belief > 0.5 ] ] [
set belief belief 0.1
]
end
Комментарии:
1. Хорошо,
any? link-neighbors with
работает так, как задумано! Большое вам спасибо!