У меня есть ряд глобальных переменных, в которых установлены значения, и количество переменных, принадлежащих черепахе, в которых задано начальное значение, но они меняются соответствующей глобальной переменной при запуске модели.
Например,:
globals [dis-id]
turtles-own [identity]
to determine-parameters
set dis-id -1
ask turtles [
set identity 0
end
Таким образом, когда черепаха действует, ее личность увеличивается или уменьшается на 1 в зависимости от того, насколько успешным было действие.
Так, скажем, действие было успешным, идентичность должна измениться с 0 на -1.Если он снова будет успешным, он переместится с -1 на -2 и т. Д. И наоборот при сбое с 0 на 1, 1 на 2 и т. Д.
Моя проблема заключается в том, что для каждой черепахи, добавленной вВ модели (либо созданной из наблюдателя при запуске или процедуре настройки) эта величина изменения увеличивается.
1 черепаха от 0 до 1, от 1 до 2, от 2 до 3 (правильно + 1)
2 черепахи от 0 до 2, от 2 до 4, от 4 до 6 (неверно + 2)
3 черепахи от 0 до 3, от 3 до 6, от 6 до 9 (неверно + 3) и т. Д.
Если глобальная переменная -6 вместо 1, т. Е.
globals [dis-id]
turtle-own [identity]
to determine-parameters
set dis-id -6
ask turtles [
set identity 0
end
То же самое происходит
1 черепаха от 0 до 6, от 6 до 12, от 12 до 18 (правильно + 6)
2 черепахи 0–12, 12–24, 24–36 (неверно + 12)
3 черепах 0–18, 18–36, 36–54 (неверно + 18) и т. Д..
Процедура / расчет для определения личности:
to succeed
ask turtles [
if outcome > expectation [
set identity (identity - dis-id)]
]
end
to fail
if outcome < expectation [
ask turtles [
set identity (identity - dis-id)]
]
end
Эта проблема является единой для каждой переменной, относящейся к черепахе, рассчитанной одинаково.
Я предпринял много исправленийно безрезультатно.Любая помощь с этим будет высоко ценится!Если для решения проблемы необходимы какие-либо дальнейшие объяснения или код, пожалуйста, дайте мне знать, так как я не уверен, сколько или мало кода мне следует разместить здесь.Кстати, фактический код довольно длинный.
ОБНОВЛЕНИЕ бит кода, в котором возникла проблема, был
to dothething
ask turtles [
if X >= Y [
succeed
fail]
]
Спасибо JenB за то, что указал на это!