Семинары по АМ – Занятие 4: Моделируем муравьев


Автор:

80488457-150x150На первом занятии мы рассматривали поведение муравьев при поиске еды, вот на 4м занятии мы решили это поведение смоделировать. Внимание: заключительный семинар состоится не 13 июня, а 20 июня из-за праздников.

В процессе обсуждения мы вывели следующие правила поведения для каждого типа агентов:

Муравьи

1. Если муравей нашел еду, то он возвращается в муравейник, оставляя за собой след ферромонов.

2. Если муравей не нашел еды, но учуял ферромон, то он идет по направлению к нему.

3. Если муравей не нашел ни еды, ни следа, то он просто бродит по площадке, пока не найден одно из вышеперечисленных.

Следы

1. Следы появляются, когда муравей нашел еду и возвращается в муравейник

2. С каждым шагом модели следы уменьшаются в размере; когда размер будет близок к 0, то след исчезает.

Еда

1. При старте модели еда случайным образом разбросана по территории

2. Когда муравей находит еду, он отрывает небольшой кусок еды – еда уменьшается в размере.

Муравейник

1. При старте модели муравейник создается в центре территории.

2. Каждый раз когда в муравейник возвращается муравей с едой, муравейник увеличивается на объем принесенной еды.

Какие нам понадобились новые функции?

а) функция set heading, которая устанавливает направление движения агента. Эта функция используется вкупе с функцией towards, которой можно задать x и y координаты, а она возвращает угол, на который нужно развернуться агенту, чтобы в итоге попасть на координату (x,y)

picture-1

б) для того, чтобы “учуять” какого-либо агента (например, след) необходимо использовать функцию smell. Желательно использовать ту разновидность этой функции, которая представляет возможность задать условия поиска.

picture-21

в) для изменения размеров используется set size функция.

г) небольшой трюк: чтобы муравей при нахождении следа знал в каком направлении ему идти, необходимо сначала его повернуть в сторону муравейника, а потом развернуть на 180 градусов в противположную сторону. Именно таким образом, он повернется именно в сторону еды. (если придумаете более элегантный способ добиться этого, то дайте знать)

Денис (NektoLukas) и Валерий справились с моделью и уже прислали решение. В ближайшее время я создам публичный реестр моделей на sourceforge.net и любой желающий сможет размещать там модели starlogo.


3 отзывов

Ссылки на эту статью

  1. Из чего сделан Аватар? | Empatika — December 3, 2010 @ 12:36 am

Оставить отзыв

WordPress Themes