У меня есть список для каждой черепахи, которую я рассматриваю в своей модели. Я хотел бы выбрать элемент списка, в частности, элемент с наивысшим качеством. Качество является параметром в диапазоне [0,1]. Мои проблемы касаются того, как назначить параметр каждому элементу, а затем выбрать элемент с наибольшим значением параметра.
Чтобы лучше объяснить : пример списка - (item 4, item3, item2, item1)
. Что я хотел бы: пункт 4 с качеством #, пункт 3 с качеством # и так далее. Когда я создаю элементы списка, у них есть параметр качества (он принадлежит черепахе): (quality random-float 1)
. Тогда у меня должно быть что-то вроде этого: item4 0.2, item3 1, item2 0.2, item1 0.5
. То, что я хотел бы выбрать, это элемент с наивысшим качеством, т.е. item3
с качеством, равным 1
.
Чтобы назначить параметр, я подумал:
ask one-of turtles
[
ifelse empty? mylist
[
set quality random-float 1
...
]
]
Я не знаю, является ли это правильным способом присвоить атрибут элементу списка в Netlogo.
Шаги для выбора элемента:
- Выбор черепахи
- Убедитесь, что ее список не пуст
- Выберите элемент с наивысшим качеством из его списка
Исходя из них, я написал бы следующее:
let mylist [ item4 item3 item2 item1 item0 item6]
let max-value max mylist
let max-index position max mylist
Проблема в том, что я не уверен, что выбираю товар с самым высоким качеством, потому что яне совсем уверен, что правильно назначаю качество предмету.
Надеюсь, вы мне поможете. Спасибо