NETLOGO: собственные черепахи слишком велики для графического интерфейса - PullRequest
0 голосов
/ 08 ноября 2018

В Netlogo у меня есть собственные списки черепах, что означает, что я установил переменную черепахи как список. Каждый тик, другое значение добавляется в список. После нескольких тысяч тиков эти списки становятся довольно длинными ... и возникает проблема, заключающаяся в том, что я больше не могу открыть монитор агента в графическом интерфейсе, поскольку загрузка списка занимает слишком много времени.

Воспроизводимый код:

breed [persons person]
turtles-own [examplelist]

to setup
   clear-all
   reset-ticks    
   create-persons 1 [setxy 0 0]
   ask turtles [set examplelist []]
end

to go
   ask turtles [set examplelist lput ticks examplelist]
   tick
end

Мне нужен монитор агента, чтобы наблюдать другую переменную, принадлежащую черепахе; Мне не нужно смотреть списки (они просто используются для расчета каждые 8760 тиков). Есть ли возможность, например, скрыть список от монитора агента? Или мне нужно обрабатывать списки как глобальные переменные? Будучи довольно неудобным, поскольку мне нужно было бы создавать и называть отдельные списки для каждой черепахи ...

1 Ответ

0 голосов
/ 12 ноября 2018

Я вижу три варианта:

1 / Если вы создаете среду моделирования, я предполагаю, что ваш пользователь не может на самом деле писать код в NetLogo. Это означает, что вам все равно нужно заранее определить сценарии для них (например, они могли бы выбрать вычисление), поэтому вам нужно только сохранить возможные вычисления вместо всех входных значений для этих вычислений.

2 / Из вашего вопроса не ясно, почему какой-либо пользователь открывает окно проверки или иным образом получает доступ к отдельной черепахе. Если пользователю это не нужно напрямую, вместо добавления всей этой информации к черепахам, вы можете экспортировать ее в файл, добавляя в каждую галочку строку. Пользователь будет делать анализ моделирования в R или Excel или как угодно.

3 / Вы можете создать теневую черепаху для каждой черепахи. Это не то, что я бы порекомендовал, но идея в том, что у теневой черепахи есть подмножество переменных (не списков), а значения переменных, которые она имеет, идентичны черепахам, за которыми она следит. Версия черепахи с ограниченным набором переменных доступна для наблюдения.

...