2015-12-01 5 views
1

словарь NetLogo содержит эти записи без каких-либо примеров: нет-заплатки нет-ссылки нет-черепахиКак использовать примитивы no-patches no-links no-turtles?

Все описание говорит за них «Отчёты пустой патч/ссылку/черепаха agentset.»

Может ли кто-нибудь предоставить примеры того, как они используются?

ответ

4

Вы почти никогда не нуждаетесь в них. Как правило, это значит, что вы можете инициализировать агенты, которые вы будете строить с итерацией или с течением времени.

Например, предположим, что у нас есть файл, который содержит список кучу пластыря координаты как так:

15 7 
-3 18 
11 -2 

Предположим, что мы хотим получить соответствующие патчи. Вы могли бы сделать что-то вроде:

file-open "my-patch-data.txt" 
let specified-patches no-patches 
while [ not file-at-end? ] [ 
    let x file-read 
    let y file-read 
    set specified-patches (patch-set (patch x y) specified-patches) 
] 

Большую часть времени, однако, это гораздо проще просто использовать agentset запрашивая примитивы NetLogo в (как with, of, n-of и так далее), чтобы построить agentsets, так что вы не это слишком много.

Edit: Как Nicolas указывает, что это на самом деле быстрее сделать это путем построения списка патчей, а затем преобразовать его в agentset так:

file-open "my-patch-data.txt" 
let specified-patch-list [] 
while [ not file-at-end? ] [ 
    let x file-read 
    let y file-read 
    set specified-patch-list lput (patch x y) specified-patch-list 
] 
let specified-patches patch-set specified-patch-list 

Я думаю другого примера, хотя. Предположим, что каждая из ваших черепах должна следить за черепахами, с которыми они сталкиваются при движении. Вы можете сохранить это в переменной черепахи, как черепаха. Однако вам нужно инициализировать группу черепах. Вот что такое no-turtles.

+0

И даже в этом случае сначала нужно создать _list_ патчей (или черепах или ссылок), а _then_ преобразовать их в агрегированный агент с помощью ['patch-set'] (http://ccl.northwestern.edu/ netlogo/docs/dictionary.html # patch-set) (или 'turtle-set' или' link-set'). –

+0

Хороший вопрос Николас. Не могли придумать другие примеры, которые я не мог сразу подумать о более эффективном способе работы с агентами. –

+3

+1 для инициализации черепах - собственные черепахи. Например, в флокирующей модели набор «flockmates» черепах объявляется как собственная переменная, но не инициализируется в качестве «no-turtles». Таким образом, такие меры, как среднее толкование («означают [count flockmates + 1] черепах») терпят неудачу, если они включены в график (или рассчитываются из безмозговых симуляций). – bergant

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