Главная » Просмотр файлов » Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5

Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 60

Файл №1124147 Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5) 60 страницаЮ. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147) страница 602019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 60)

Поведение агентов Поведение может выражать, например, правила действий агента или законы перемещения агента в пространстве, изменения его социального статуса, Глава 15. )йногоагентные системы перехолы в разные возрастные или социальные группы, изменения образования и дохода, семейного положения и т. п. Для представления дискретного поведения естественно использовать стейтчарты. Разные роли агента могут выражаться разными стейтчартами. Рис.

15.2. Стейтчарт, выражающий изменение принадлежности агента к возрастным группам На рис. 15.2 представлен стейтчарт, выражак~ций переход агента из одной возрастной группы в другую, что было необходимо в модели изменения популяции в става 13. Наряду со стейтчартами, для спецификации поведения агентов могут использоваться таймеры, функции — весь арсенал средств, доступный в Апу1оя)с, в любых их комбинациях. 15.3.

Интерфейс агентов Все средства взаимодействия объектов, доступные в Апу1 од|с, могут использоваться для построения агентных моделей. Рисунок 15.3 показывает зти возможности. Во-первых, это явно определенные интерфейсные объекты: порты и интерфейсные переменные. На рис. 15.3 агенту с именем ачепк в порт с именем ротс можно послать из среды, в которой этот агент определен, сообщение еевааде, вызвав функцию кесезме этого порта. Изменение интерфейсной переменной можно выполнить простым присваиванием, однако для того, чтобы изменение переменной было учтено в условиях, влияющих на поведение агента, следует вслед за оператором присваивания вызвать функцию весмоагггеа этого агента (как зто было объяснено в главе 7). Часть l(г'. Современные парадигмы в имитационном моделировании Посылка сообщения а порп адеп(.рон.гесоме( гпеааадс ): н роп Вызов функции: 1З9ЕП! (ОПСЬОП( .

! каг!а~е рагапге1ег Изменениепераменной:~ Изменение параметра: адеп! тяг!ап!е = 12З; адан!ее! рагаще1ег( 12З ); адеп1.зе1ыоо!яее й Посылка сообщения стейтнарту: аоеп!.зга(еспаг1лгеетапц еиап! ), Рис. 15.3. Средства взаимодействия с агентом из среды 15.4. Архитектура агентных моделей Архитектура любых выполняемых моделей в Апу(соя(с имеет вид дерева. Для агентных моделей эта архитектура является совершенно естественной. Например, можно считать, что рис. 7.12, который использовался нами для объяснения правил доступа к отдельным объектам модели пример, представляет некоторую агентную х(опель. Действительно, из этого рисунка видно, что корневым объектом модели является активный объект с именем мог)ег. Этот объект включает несколько агентов с именем адепт (точнее, 5 агентов, это видно в дереве объектов) и один объект с именем оттг).

Каждый агент включает один объект !па!коту — экземпляр активного объекта ма!поту. Множество агентов в данной модели реплицировано (размножено), их количество может быть установлено статически (заданием параметра репликации), но может и изменяться динамически. Если адепт — имя класса агентов, а адепт — имя реплицированного множества их экземпляров, то для создания но!юго агента нужно вызвать функцию весир адепт( пои лдепс(), Г ), где ' — номер, под которым новый экземпляр агента будет включен в список существующих агентов. Для динамического удаления агента с номером ' (например, в случае его смерти), следует вызвать функцию г)1ярове адепт( вдето. зсеп!(1) ).

Очевидно, что в среде может быть создано несколько групп агентов, функционирующих в одной среде, например две враждебные группировки. Реплицированные агенты сами могут иметь вложенные группы агентов, например компании могут вкл!очать своих работников. Глава тб. Миогоагентные системы 15.5. Взаимодействие агентов со средой Агенты обычно функционируют в некоторой среде, и взаимодействие со средой является важной задачей агента. Роль среды для агентов играет либо активный объект, в который вложены агенты, либо в качестве среды может быть использован другой активный объект.

На рис. 15.4 в качестве среды может выступать либо корневой объект мсбет, либо объект ис ы. Этот рисунок повторяет рис. 7.12 главы 7. Среда может быть пассивной либо иметь свое поведение: это тоже активный объект. Динамика среды может задаваться уравнениями, стейтчартом, потоковой диаграммой, использованием таймеров и т. д. Например, у среды может быть тактовый таймер, который циклически запускает вызов функции обрашения к агентам для их продвижения или выполнения ими собственных операций.

Функционирование агентов в такой среде можно назвать синхронным в отличие от асинхронного их функционирования, когда каждый агент имеет свои собственные средства продвижения времени. Рис. 16.4. Иерархия объектов е модели Часть )И Современные па игмы в имитационном моделировании Средства взаимодействия срелы с агентом указаны на рис. 15.3. Однако если агентов несколько, то необходимо указать конкретный элемент множества агентов. Например, чтобы вызвать функцию гппссзоп 1-го агента из объекта иог]е1 (рис.

15.4), нужно записать: адель.зев(з.) . Йппсеьоп [...) з Лля того чтобы получить доступ из объекта иоз]е1 ко всем агентам. нужно организовать цикл, например: лог( (пе 1=0( 1 и адепт.в1ве()з 1++ )( хдепс а =' адепт.ъсее(1)з // делать что-то с агентом а ) Если необхолимо то же сделать из объекта ог1г], нужно сначала в активном объекте ног1з] построить указатель на включаюший его объект. Пусть этот указатель будет назван сипев: иос]е1 очзпег = (иоде1) десоипег(]; После этого вызов функции у з-го агента из объекта ог1н можно выполнить так: оззпег.адель,ьсеззз(1).гппсЫоп<...)< Конечно, это можно сделать и не вволя указателя явно, но это громозлко: ((Исде1]дееоззпег(]].адель.(ееззз(1)з Точно также организуется доступ к среде из агента.

Пусть, например, в архитектуре, изображенной на рис. 15.4, необходимо в переменной х корневого объекта иоае1 подсчитывать обшее число агентов, находящихся в состоя- НИИ Иааз]1еяде, т. Е. ЛИЦ СРЕДНЕГО ВОЗраета В СООтВЕтСтВИИ СО СтЕйтЧартОМ рис. 15.2. Для этого определим указатель на включаюший объект: иоз]е1 пз = (иоз]е1)дееоипег()з Прн ВХОДЕ В СОСтОяНИЕ Иьз]а1ехде Каждмй аГЕНт дОЛжЕН ВЫПОЛНИТЬ ОПЕ- рацию: в.х++з а при выходе из этого состояния агент должен выполнить операцию: т.х--з Определив эти действия в стейтчарте класса хдепе, который является, фактически, шаблоном для построения агентов, мы добьемся желаемого результата. Такой же подсчет может выполнять и сама среда: при синхронной организации функционирования агентов в активном объекте, представляюшем среду, можно организовать цикл по всем агентам, проверяя в цикле состояние каждого агента.

Глава )й. Многоагентные системы 15.6. Взаимодействие агентов с другими агентами Взаимодействие агентов обычно осуществляется через среду. Чтобы из некоторого агента получить доступ к другому агенту, сначала нужно определить указатель на этого "другого" агента. Этот указатель может быть введен как переменная типа лцепп графически в поле редактора активного объекта лцепп или просто описан: яцепп оппеп; в поле Дополнительный код класса окна Код этого объекта. Далее, как было описано ранее, определяем указатель на объект, вкл(очающий вектор агентов. Пусть, как на рис. ) 5.4, этот включающий объект имеет имя мос)е1: Мойе1 т = (Мпс)е1)цессепеп() у Для обращения к конкретному агенту с номером 1 нужно выполнить вызов ИМЕННО 1-ГО ЭЛЕМЕНта ВЕКтОра ацепъс ослеп = т.ацепс.1пеп~(1); Для выбора случайного другого агента данный агент может выбрать случайного агента, но проверить при этом, не совпадает ли выбранный агент с ним самим: оппеп = п~.адепт.папйон() ем11е( оспеп == Сиза ) Теперь, когда мы имеем прямой указатель асьеп на другого агента, к этому агенту уже можно обратиться так: ослеп.йппсс1оп()," или: оппеп.ропп.песе1че( ) и т.

л. 1 5.7. Агенты в пространстве Широко распространею~ыми задачами, связанными с агентами. являются задачи физического перемещения агентов в пространстве. Рассмотрим некоторые типичные задачи этого класса. Пусть в активном объекте дцепс определены вещественные переменные и, у и пх, пу, которые хранят координаты агента и его скорости по координатам в двумерном пространстве.

Пусть также активный объект, в который будет включено реплицированное множество адепт. (экземпляров класса лцепп), называется вп 1топеепп. Приведем несколько очевидных функций, которые полезны при моделировании движения агента (рис. ! 5.5). Часть йт. Современные парадигмы в имитационном моделировании Рмс. та.а. Агенты а двумерном неупорядоченном пространстве П Поместить себя в случайную позицию пространства с размерами м?г?гь и ?1е?дЬГ: х = опт аогт( м?бГЬ ); у = нп?гаги( Ье?дьг ); П Перемесп(ться в пространстве за единицу времени при скорости чх, ъу. х += чх; у += чу: 0 Определить в активном обьекте епчьгопиепг глобальную функцию расстояния: г?оиь1е бгнгапсе( Адепс а, ддепг ь ) г(оиЬ1е г?х = а.х — Ь.хт с(оиЬ?е т?у = а.у — Ь.у геснгп адгг! дх г?х + ((у~т?у ) П Найти всех агентов в радиусе ?и Епъ ?гаптепс епъ" = (Епчагопеепс)десомпег(); гог( Ьпг ?=О; ?хенч.адепг.н?ае(); ?++ ) . гг( епч.г??асапсе( Ж.н, епч.адепт.ггеетп(Ь) ) < Е ) //сделать что-то с каждым найденным близким агентом Рассмотрим теперь вариант двумерного упорялоченного пространства, в каждой клетке которого может находиться произвольное число агентов (рис.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее