2015-09-05 5 views
1

У меня есть вопрос о Netlogo. У меня две породы черепах, breed1 и breed2. Breed2 имеет переменную, называемую тета. Во-первых, случайное число черепах породы1 изменяется на породу2; породу2, затем тета, установленную наугад. Позже, другое случайное число породы1 станет породой2, у которого также будет набор тэта в случайном порядке.Построение набора переменных

Мои два вопроса:

1.) Как я могу гарантировать, что только те черепахи, которые меняют свою породу во втором раунде породы изменяющемся установил переменную тета? Я не хочу, чтобы те, которые изменились в первом раунде, потеряли тета-переменную, которая была установлена ​​для них сразу после смены.

2.) Есть ли способ, которым я могу построить набор всех техных переменных, которые были установлены до сих пор? Я хочу, чтобы моя порода2 позже принимала решения на основе максимального значения тета, которое было установлено до сих пор.

Спасибо!

ответ

2

Вы должны задать два отдельных вопроса по отдельности, но ...

  1. Есть много способов сделать это. Пример 1. Если вы всегда обновляете ненулевое значение theta, просто проверьте нуль и измените только ноль. Пример 2: добавьте атрибут can-change-theta для breed2 и всегда инициализируйте его значением true, но измените его на false после сброса theta. Пример 3: соберите свой новый breed2s в агентский агент (или список, если необходимо) и измените theta только для этих черепах.

  2. Если вы действительно хотите max, вам не нужны все значения. Просто добавьте глобальную переменную max-theta и обновите ее каждый раз, когда вы обновляете theta. Если вы действительно хотите все, добавьте глобальный thetas и инициализируйте его как пустой список; добавляйте к этому списку каждый раз, когда вы обновляете атрибут theta, и используйте max, чтобы вытащить max, когда захотите.

Смежные вопросы