Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы системного анализа. В 2 частях. Ч.1. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
3.3. Методы моделирования систем
61
ности входных данных и при идеальном выполнении арифметических дей­ствий они дают решение исходной задачи с некоторой погрешностью, называемой погрешностью метода. Это происходит потому, что числен­ным методом решается обычно некоторая другая, более простая задача, ап­проксимирующая исходную задачу. Это является существенным недостат­ком численных методов. Именно поэтому сегодня находят применение подходы, основанные на графической технике структуризации моделируе­мых динамических процессов.
Метод системной динамики для анализа сложных систем был пред-
ложен в Массачусетском технологическом институте Дж. Форрестером. Изначально он назывался «Индустриальная динамика» и применялся ис­ключительно для изучения проблем управления производством. Но приме­нение метода оказалось гораздо шире. «В основе концепции системной ди- намики лежит представление о функционировании системы, как совокуп­ности потоков информации, энергии, промышленной продукции, денеж­ных средств и т.п. Согласно базовым идеям системной динамики, опреде­ляющее значение в описании динамики системы имеет структура системы, представленная в виде взаимодействующих потоков, и взаимодействие контуров обратной связи в ее структуре» [37].
Главная особенность предложенного Дж. Форрестером метода бази-
руется на двух идеях:
• динамика функционирования сложных систем существенно зави-
сит от структуры причинно-следственных связей, имеющихся в системе;
• сложные системы, в первую очередь производственные и социаль-
ные системы, принадлежат к классу систем с многоконтурными (дублиру­ющими) нелинейными обратными связями.
Методы и техника построения моделей системной динамики оказали большое влияние на формирование технологии имитационного моделиро­вания. В методах системной динамики компьютерная модель создается с применением графической техники построения диаграмм потоков и при­чинных связей исследуемой системы. Созданная модель преобразуется в компьютерную программу и затем исследуется на компьютере. В настоя­щее время существуют эффективные инструментальные средства про­граммной поддержки техники и процедур системной динамики: iThink,
Vensim, Powersim, AnyLogic.
3. Моделирование систем
62
Модели системной динамики получили широкое распространение в задачах исследования сложных систем из сферы производства и эконо­мики, торговли и городского хозяйства, из области социальных проблем, проблем экологии и охраны окружающей среды [37].
3.3.3. Агентное моделирование
Прежде чем рассматривать этот метод моделирования, целесооб­разно выяснить смысл и значение термина «агент», поскольку его исполь­зование в паре с термином «моделирование» может вызвать вопрос о пра­вомочности такого словосочетания. В обыденной жизни нам часто прихо­дится встречаться со словом «агент», под которым в художественных фильмах и детективных романах так называют шпиона, а также со словом «агентство», с которым мы интуитивно связываем некоторую контору, за­нимающуюся недвижимостью.
Но, казалось бы, какое отношение этот термин имеет к моделирова­нию? Для выяснения этого вопроса обратимся к официальным источникам. Практически во всех словарях отмечается, что слово «агент» происходит от латинского agens, agentis – действующий, приводящий в движение. По­этому содержательный смысл этого слова подразумевает физическое или юридическое лицо, гражданина или организацию, выступающие в роли до­веренного лица, посредника, уполномоченного совершать определенные действия от имени другого лица по поручению и в интересах этого лица.
В материалах Википедии приводятся различные примеры использо­вания этого термина, исходя из его перевода – действующий:
− слово агент используется в естественных науках как действую-
щий фактор в каком-либо процессе или явлении, например, «химический агент» – действующее вещество, выполняющее роль катализатора в хи- мических реакциях;
− в торговле агент – посредник между продавцом и потребителем
продукции;
− в спорте агент – посредник, который на основании договора со
спортсменом представляет его интересы во взаимоотношениях с различ­ными контрагентами;
− морской агент – лицо, оказывающее комплекс услуг при заходе
судна в порт.
3.3. Методы моделирования систем
63
И наконец, пример, который нас приближает к пониманию правомоч-
ности словосочетания агентное моделирование. В вычислительной технике, информатике и информационных технологиях под агентом понимается ком- пьютерная программа, устанавливаемая на хост (service host – главный про­цесс, который одновременно обслуживает ряд важных служб операционной системы Windows) и осуществляющая подчиненную центральному серверу сервисную деятельность. Видим, что в данном случае программа является посредником, что соответствует исходному значению этого слова агент. Но это словосочетание стало общепринятым далеко не сразу.
Рассмотрим (хронологию), как исторически происходило формиро-
вание агентов и агентного моделирования.
Идея агентного моделирования была предложена как относительно простая концепция в конце 1940-х гг. Но реального использования эта кон­цепция тогда не получила, так как для ее реализации требовались большие вычислительные ресурсы. Но к тому времени таких вычислительных ресур­сов тогда еще не существовало, а архитектура вычислительной машины фон Неймана, в основу которой был заложен принцип совместного хранения ко­манд и данных в её памяти, была заложена позже – в 1944 г. А первая вычис- лительная машина ЭНИАК, построенная по архитектуре фон Неймана, по­явилась лишь в 1947 г. Но и её возможности были еще не достаточны. Не­смотря на это, концепция агентов медленно, но верно захватывала умы ис­следователей. Но для практической реализации агентных моделей на первых порах использовались не компьютеры, а графическое изображение агентов в виде соответствующих карт на бумаге. Одной из самых ранних концепту­альных моделей, основанных на агентах, была модель сегрегации (принуди- тельное разделение людей на расовые, этнические или другие группы) То­маса Шеллинга (род. 1921 г., американский экономист лауреат Нобелевской премии 2005 г.), представленная им в статье2. Идея агентных моделей про­должала распространяться. В начале 1980-хгг. Роберт Аксельрод (американ­ский политолог и экономист, профессор, род. 27 мая 1943 г.) разработал ряд агентных моделей, для политической науки и культуры. К концу 1980-х гг. работа Крейга Рейнольдса (Крейг В. Рейнольдс, родился 15 марта 1953 г.,
2
Динамические модели сегрегации. Американское экономическое обозре-
ние, 1969 г., Т. 59, № 2.
3. Моделирование систем
64
специалист по искусственной жизни и компьютерной графике) над моде­лями скопления внесла вклад в разработку некоторых из первых моделей, основанных на биологических агентах, которые содержали социальные ха- рактеристики. Он попытался смоделировать реальность живых биологиче­ских агентов, известных как искусственная жизнь.
Все перечисленные исследования пока еще не предполагали исполь-
зование компьютеров. Поэтому идея агентного моделирования не находила широкого распространения вплоть до 1990-х гг. Самое первое использова­ние термина агент, как оно используется применительно к моделированию в настоящее время, трудно отследить. Одним из претендентов на первен­ство в этом вопросе можно считать статью3 Джона Холланда и Джона Мил­лера. Точное определение агента на сегодняшний день отсутствует.
Параллельно, в это же время, происходило развитие методов искус­ственного интеллекта. Это позволило сделать новый шаг к изменению стиля взаимодействия пользователя с компьютером. Этот шаг заключался в создании так называемых автономных агентов. Теперь пользователь не только управлял программой путем ввода соответствующих команд, но и сам активно мог участвовать в совместном процессе решения задачи.
В течение всех 1990-х гг. заметно расширилось применение агентно- ориентированного моделирования (ABM – agent-based modeling) в социаль­ных науках. Моделировались и исследовались социальные явления, такие как сезонные миграции людей, распространение загрязнений окружающей среды, передачи заболеваний и даже в области культуры. В течение этого периода британцем Н. Гилбертом был опубликован первый учебник по со­циальному моделированию «Моделирование для социолога (1999)», основан журнал для опубликования статей имитационной проблематики в социаль­ных науках, основан центр исследований в социальной имитации.
К середине 1990-х гг. ABM направление в социальных науках стало сосредотачиваться на вопросах создания эффективных команд, глубинного понимания организационной эффективности в различных коммуникациях и социальных сетях. В конце 1990-х гг. сформировалось отдельное обще­ство Североамериканской ассоциации вычислительных социальных и ор-
3
Искусственные адаптивные агенты в экономической теории. Американ-
ское экономическое обозрение. 1991. Т. 81, № 2.
3.3. Методы моделирования систем
65
ганизационных наук. Был внесён значительный вклад в разработку моде­лей социальных сетей, благодаря чему было получено финансирование Национального научного фонда США для ежегодной конференции по про­блемам ABM. В течение этого же времени были организованы Европейская ассоциация социального моделирования (ESSA) и Тихоокеанская Азиат­ская ассоциация агентного подхода в науке о социальных системах. Пер­вый Всемирный конгресс по социальному моделированию был проведен при их совместном спонсорстве в Японии в августе 2006 г.
Точное определение агента на сегодняшний день отсутствует. В ос-
новном используется определение, принятое на конференции по лингви­стике FIRA в октябре 1996 г. в Токио: «Агент – это сущность, которая нахо- дится в некоторой среде, интерпретирует ее и исполняет команды, воздей­ствующие на среду». Агент может содержать аппаратные и программные компоненты. Отсутствие четкого определения агентов и наличие у них большого количества свойств и разнообразия примеров агентов, использу­емых в самых различных областях деятельности говорит о том, что агент- ное моделирование представляет достаточно общую технологию, которая объединяет несколько различных областей знаний.
До сих пор использование понятия агент вызывает определенные
споры в среде исследователей. Противники использования в моделирова­нии термина агент считают его всего лишь развитием широко используе­мого в технических системах термина блок, дополненного элементами ис­кусственного интеллекта.
Единого мнения по поводу определения понятия агент в научной литературе не существует, в целом можно определить агента как актив­ного элемента системы, созданного человеком для определенной цели. Каждый агент должен обладать способностью решать анализируемые про- блемы в определенной среде. Выбор способностей зависит от сложности и типа решаемой проблемы. Отметим наиболее важные способности, приве­денные в статье4:
− способность обрабатывать информацию, поступающую от других
агентов, и передавать ее;
− способность принимать решения на основе данной информации;
4
Ценина Е. В. Агентное моделирование как новый взгляд на деятельность
предприятия. Российское предпринимательство. 2017. № 3. С. 368–374.
3. Моделирование систем
66
− способность ставить собственные цели (в конечном итоге цели для
других агентов) и осуществлять действия для их выполнения;
− умение сотрудничать с другими агентами и обдумывать их спо-
собности;
− способность к изменению моделей собственного поведения (рас-
суждать).
При этом под агентами понимаются различные по своей природе элементы, например, социальные агенты (люди, социальные группы, по­купатели и т.д.), экономические агенты (государства, регионы, отрасли, фирмы и т.д.), технические агенты (автомобили, роботы, самолеты и т.д.), экосистемные агенты (грозовые облака, пожары, тайфуны и т.д.).
В материалах публикации5 приведено такое представление агента, как
Агент = Архитектура + Агентская программа.
Под архитектурой понимается структурная, в общепринятом смысле, часть агента: устройство с датчиками и приводами, например, ро­ботизированная машина, камера, компьютер. Агентская программа – это реализация функции агента средствами искусственного интеллекта. Ин­теллектуальность здесь понимается в самом широком смысле. Все зависит от области применения интеллектуальных агентов.
Концепция агентов предполагает наличие активного их поведения, т.е. способности компьютерной программы самостоятельно реагировать на внешние события и выбирать соответствующие действия. Агент должен по меньшей мере обладать возможностью принимать воздействие от внеш­него мира, определять свою реакцию на это воздействие и осуществлять эту реакцию. А интеллектуальный агент должен обладать рядом знаний о себе и окружающем мире, при этом целесообразное его поведение опреде­ляется этими знаниями. Каждый агент должен обладать способностью ре­шать анализируемые проблемы в определенной среде. Выбор способностей зависит от сложности и типа решаемой проблемы. Если, например, агент- ное моделирование используется для исследования в социальной области, то агенты должны моделировать людей с их наклонностями, привычками, знаниями, мировоззрением, т.е. всех тех качеств, которыми может обладать
5
http://espressocode.top/agents-artificial-intelligence/
3.3. Методы моделирования систем
67
человек. Такие агенты должны быть способными действовать, рассуждать и обмениваться данными друг с другом в сети для формирования индиви­дуальных или коллективных решений.
Универсальной процедуры построения агентных моделей не суще-
ствует. Проблемность состоит в том, что каждая агентная модель созда­ется индивидуально под специфические условия той среды, в которой ей предстоит действовать. Несмотря на это, можно выделить некоторые об­щие основные этапы процедуры формирования агентов:
− формулировка проблемы;
− выбор среды реализации;
− определение объектов, которых будут моделировать агенты;
− установление свойств агентов и правил их поведения;
− программная реализация модели;
− проведение экспериментов с моделью;
− проверка модели;
− анализ результатов.
Выделяют следующие типичные свойств агентов:
• адаптивность (способность обучаться);
• автономность (агент работает как самостоятельная программа, ко-
торая ставит себе цели и предпринимает действия для их достижения);
• интеллектуальность (агенты могут обладать знаниями или меха-
низмами вывода на основе обобщения, например, иметь встроенную искус­ственную нейронную сеть);
• коммуникативность (способность общаться с другими агентами);
• мобильность (способность к пространственному перемещению
агента либо миграции агента из одной агентской группы в другую).
Агентные модели создаются с помощью специальных программных
средств. В большинстве случаев для этого используются языки программи­рования Java и C++. Самым сложным в приведенном списке свойств явля­ется этап создания модели, поскольку он требует высочайшего уровня про­фессионализма как в разработке соответствующих алгоритмов, так и их программной реализации.
В настоящее время существует большое количество программных си-
стем, которые позволяют реализовать агентное моделирование. Наиболее известной агентно-ориентированной системой моделирования является
3. Моделирование систем
68
ANYLOGIC. Она разработана компанией XJ Technologiex в 1992 г. Среди сво­бодно распространяемых агентно-ориентированных систем моделирования можно выделить REPAST – источник библиотек для крупномасштабного агентного моделирования и Ascape – кроссплатформенная агентная система моделирования, написаная на языке Java. Для таких систем очень важно, чтобы они позволяли разрабатывать модели не только пользователям с ква­лификацией программиста, но и обычные конечные пользователи. Поэтому агентно-ориентированные системы должны обладать визуальными про­граммными средствами конструирования и редактирования моделей.
Приведем некоторые примеры этих возможностей, заложенных в си­стему агентного моделирования ANYLOGIC и описанных в учебном посо­бии6. Эта система поддерживает различные подходы моделирования, успешно применяемые в различных сферах деятельности. С помощью аген- тов моделируют рынки (в данном случае агент – это потенциальный по­купатель), конкуренцию и цепочки поставок (здесь агент – это компании), население (здесь в качестве агентов могут выступать: семья, жители горо­дов, избиратели) и многие другие одушевленные и не одушевленные пред­меты и объекты. ANYLOGIC является единственной системой моделирова­ния, позволяющей быстро создавать гибкие модели с агентами, взаимодей­ствующими как друг с другом, так и со своим окружением. Система под­держивает все возможные способы задания поведения агентов – диа­граммы состояний, синхронное и асинхронное планирование событий.
Ниже приведен пример некоторых подробных пошаговых операций создания модели с пояснениями.
Создание нового проекта
► Создайте новый проект
1. Щелкните мышью по кнопке панели инструментов Создать.
Появится диалоговое окно Новый Проект.
2. Щелкните мышью по кнопке Выбрать… и выберите директорию,
в которой вы будете хранить файлы вашего проекта.
3. Укажите имя нового проекта. Введите Product Life Cycle в поле ре-
дактирования Имя проекта.
4. Щелкните мышью по кнопке OK.
6
ANYLOGIC
TM
. Учебное пособие по агентному моделированию, 1992.
3.3. Методы моделирования систем
69
Новый проект создан. Вы увидите структурную диаграмму в центре
рабочей области AnyLogic ТМ, окно Проект – в левой панели, и окно Свой- ства – в правой.
При работе с проектом, не забывайте сохранять его с помощью
кнопки панели инструментов Сохранить.
Создание агентов
В AnyLogic
ТМ
для создания агентов вам будет нужно вначале со-
здать класс активного объекта, который будет задавать внутреннюю струк­туру агента, а затем создать необходимое количество экземпляров этого класса, каждый из которых будет представлять отдельного агента модели.
► Создайте класс активного объекта
1. Чтобы создать новый класс, щелкните мышью по кнопке панели
инструментов Новый класс активного объект.
2. В появившемся диалоговом окне задайте Имя нового класса: Person.
Автоматически появится окно структурной диаграммы класса Person.
3. Моделирование систем
70
Теперь, когда вы создали класс, который будет задавать структуру
агента, можно добавить агентов в модель. Для того чтобы добавить аген­тов в модель, нужно просто добавить объект класса, задающего структуру агента (Person), в класс, моделирующий окружение агентов (Main).
► Добавьте агентов в модель
1. Откройте структурную диаграмму класса Main, сделав двойной
щелчок мышью по элементу Main в окне Проект.
2. Перетащите мышью класс Person из окна Проект на структурную
диаграмму класса Main.
3. Назовите объект people.
4. Задайте количество человек в вашей модели. На вкладке Количе-
ство окна Свойства задайте Количество объектов: 1000. Автоматически будет создано 1000 экземпляров класса Person, каждый из которых будет представлять отдельного агента.
Подобными пошаговыми операциями выполняются все процедуры по созданию моделей всех агентов.
3.3.4. Основные этапы процесса моделирования
В зависимости от сложности и вида моделирования системы может использоваться и различное число этапов. Это различие явно выражено в разных источниках. Мы будем ориентироваться на общий случай возмож­ных и необходимых этапов.
1. Формулировка и уточнение целей моделирования. Этот этап тре-
бует тщательного обдумывания целей моделирования, поскольку они опре- деляют содержание остальных этапов моделирования. Цели моделирова­ния могут быть самые разные. Обычно исследователей интересует поведе­ние моделируемой системы в зависимости от значений наиболее суще-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]