Агентное моделирование
Третьей парадигмой в имитационном моделировании является агентное моделирование (далее АМ). Агент представляет собой индивидуализированный активный объект, который может обозначать человека, транспортное устройство, компанию, населенный пункт. В зависимости от того, какой объект представляет собой агент, модель может соответствовать высокому уровню абстракции (агент – компания, страна), среднему (агент – транспортная единица), низкому (агент – отдельный человек) или сочетать несколько уровней. Таким образом, данная парадигма является наиболее универсальной.
Основным отличием агентного подхода от первых двух является построение модели по принципу снизу-вверх. Зависимости между агрегированными величинами не задаются исходя из знаний о реальном мире, а получаются в процессе моделирования индивидуального поведения десятков, сотен или тысяч агентов, их взаимодействия друг с другом и с объектами, моделирующими окружающую среду. Например, исследование рынка будет происходить не в понятиях совокупного спроса и предложений, а в модели будут заложены возможные реакции отдельного человека на изменение цены, его потребительские характеристики. У агентов появляется возможность «общаться» между собой, обмениваться информацией, предпочтениями, влияя, тем самым, на поведение друг друга. Модель может учитывать пространственные характеристики, взаиморасположение агентов по отношению друг к другу и объектам окружающей среды.
К преимуществам агентного подхода следует отнести: отсутствие предопределенности в поведении системы на глобальном уровне, что может привести к появлению новых гипотез о ее функционировании в ходе симуляции модели; реализм и гибкость в описании системы, возможность моделировать самые сложные нелинейные обратные связи, использовать любой необходимый уровень детализации и абстракции. В АМ отсутствуют ограничения на гетерогенность элементов модели; появляется возможность моделирования общения и обмена информацией.
К потенциальным барьерам для построения агентной модели следует отнести, во-первых, наличие адекватных данных. Как правило, собрать статистику по характеристикам индивидуальных объектов сложнее, чем по агрегированным показателям. Во-вторых, придется определить логику поведения отдельного агента в терминах, доступных для обработки компьютером. Если это сложный объект, например человек, то приходится моделировать такие иррациональные вещи, как психологию поведения, выбора, привычки. С последними результатами в этой области, используемыми в агентных моделях, можно ознакомиться в статье (8).
В процессе имитационных экспериментов могут возникнуть вычислительные сложности, поскольку агентные модели в среднем требуют больших аппаратных и программных мощностей для проведения симуляций, чем системная динамика или дискретно-событийное моделирование.
Инструменты агентного моделирования
Агентный подход возник в 90-х годах прошлого века изначально в университетской среде США. В связи с этим большинство инструментов предназначалось для академических и учебных целей, многие до сих пор не являются коммерческими продуктами в полной мере. Одной из наиболее популярных разработок такого типа является среда Swarm (www.swarm.org) – коллекция библиотек под язык C, созданная в институте Санта-Фе. Наиболее известными коммерческими инструментами являются среды Ascape, RePast, AnyLogic.
Последний из них является разработкой российской компании XJTeknologies (www.xjtek.ru). Его конкурентным преимуществом является поддержка всех трех парадигм имитационного моделирования и возможность использования их в рамках одной модели. Также AnyLogic отличает мощное производительное ядро, позволяющее симулировать поведение миллионов агентов; богатые возможности для анимации и графического описания модели; поддержка разнообразных типов экспериментов, включая анализ чувствительности, метод Монте-Карло, встроенный оптимизатор OptQuest; возможности интеграции с базами данных, ERP и CRM системами; набор библиотечных объектов из областей логистики, бизнес-процессов, пешеходной динамики.
Информацию по другим инструментам агентного моделирования можно найти на электронном ресурсе (9).
Применение агентного моделирования
Агентный подход является наиболее молодым и потому наименее знакомым российским специалистам. Рассмотрим примеры успешного применения агентного моделирования в маркетинге и бизнесе. К области анализа распространения какого-либо товара, услуг, мнений, рекламы, могут относиться задачи на основе концепций моделирования эпидемиологии. Простейший пример диаграммы, согласно которой моделируется распространение заболевания, изображен на рис.2.3.
Рис.2.3. Пример диаграммы состояний агента по модели «распространение гриппа»
Одному объекту при этом может соответствовать несколько диаграмм состояний или блок-схем. Из рисунка видно, что при агентном подходе предметом моделирования является поведение отдельного объекта, а глобальное состояние системы является следствием. В эпидемиологии агентный подход позволяет моделировать сложные социальные сети, в том числе с учетом пространственного фактора, контакты между людьми, разную восприимчивость людей и степень их иммунитета. Это позволяет добиваться хороших результатов при прогнозировании скорости и характера распространения заболевания (10).
Второй класс задач относится к моделированию рынков, потребительских или финансовых. Агентный подход позволяет сделать акцент на индивидуальные предпочтения, стереотипы поведения потребителей при выборе ими продуктов и услуг. Отдельно выделяют задачи моделирования инноваций в бизнесе, их первоначального распространения на рынке. В четвертую группу относят задачи, связанные с оптимизацией организационной структуры, бизнес-процессов и снижением операционных рисков. Примером задачи первого класса служит моделирование эвакуации при давках в местах массового скопления граждан. Поведение людей в таких ситуациях часто становится иррациональным и не поддается моделированию традиционными методами. Агентный подход зарекомендовал себя для отыскания оптимальных методов эвакуации и минимизации возможных рисков (12). Агентное моделирование часто применяется западными компаниями при проектировании парков развлечений, супермаркетов. В таких задачах оптимизируется геометрическое расположение элементов системы относительно друг друга (например, аттракционов и кафе, или касс и полок с продуктами). Целью может служить увеличение пропускной способности, сокращение времени стояния в очередях, оптимальное расположение рекламных материалов.
Наглядным примером является оптимизированная модель супермаркета Sainsbury’s в западном Лондоне, разработанная компанией SimStore в 1999 году (13). Собрав статистику о предпочтениях посетителей и характерных для них путях следования в магазине, разработчики использовали агентный подход в сочетании с генетическими алгоритмами для улучшения расположения элементов супермаркета. Отметим, что решать подобные задачи аналитическими или статистическими методами крайне затруднительно, и агентное моделирование является одним из немногих возможных средств поддержки принятия решений.
Агентный подход хорошо применим для моделирования функционирования бирж. Результаты торгов зависят от поведения множества независимых людей с различными целевыми функциями, и их поведение логично моделировать в рамках агентного подхода. Подтверждением этому служит, например, модель Bios Group фондовой биржи NASDAQ (14). Модель измерения и минимизации операционных рисков управления активами банка Societe Generale (15) служит примером применения АМ в финансовых институтах и банках.
Бизнес-проблематику, где успешно применяется агентный подход, можно разделить на 4 класса (11). К первому относятся задачи с различного рода потоками. Они могут состоять из людей (проблемы пропускной способности помещений, эвакуации), единиц транспорта (моделирование городского трафика, планировки аэропортов, вокзалов). Часто для этого применяется дискретно-событийный подход. Если же объекты моделирования слишком разнородны или необходимо учесть их пространственное взаиморасположение, то использование агентного подхода предпочтительнее.
Выводы
Современные инструменты имитационного моделирования позволяют эффективно применять его не только в научных изысканиях, но и в качестве средства для построения систем поддержки принятия решений в бизнесе. Для достижения практически значимых результатов необходимо знать об особенностях и ограничениях каждого из трех существующих подходов.
Выбор той или иной парадигмы должен обуславливаться не столько предметной областью моделирования, а необходимой степенью детализации системы и имеющимися в распоряжении данными. Выбор инструмента моделирования при этом не столь первостепенен. Большинство современных программных средств сделает процесс симуляции удовольствием для разработчика, предоставив широкие возможности для анимации и оптимизации моделируемых процессов.
2.2. Поведение сложных динамических систем
Сложные динамические системы, хотя и имеют такие же основные определения, как и системы вообще, однако, они рассматриваются в динамике. Их изменение происходит как во времени, так и по составу элементов. Новые свойства в них рождаются благодаря развитию или рождению новых связей. Они обладают разнообразием таких связей, которые становятся контурами обратной связи, регулируя поведение систем.
Дадим некоторые основные определения теории динамических систем.
Глоссарий
Архетипы – часто встречающиеся системные структуры, генерирующие определенные типы поведения.
Балансирующий цикл (контур, петля) обратной связи – стабилизирующий, стремящийся к определенной цели регулирующий цикл обратной связи, также известный под названиями «отрицательная обратная связь», «петля отрицательной обратной связи», поскольку противодействует любому изменению, которое пытаются вызвать в системе внешние силы.
Пример. Чем сильнее реклама, тем меньше доверия к ней.
Цикл выравнивает, стабилизирует, противостоит изменениям в системе. Балансирующий цикл появляется практически всегда, как противостоящий усиливающему циклу и способствует самосохранению системы. Одновременно балансирующий цикл мешает инновационному развитию.
Динамика – поведение системы или любого ее компонента во времени.
Динамическое равновесие – состояние системы, при котором значение запаса (его уровень или величина) постоянно, не изменяется во времени, несмотря на имеющиеся входные и выходные потоки. Такое состояние возможно только в том случае, если сумма всех входных потоков равна сумме всех выходных.
Запас – скопление определенного вещества или информации в системе по мере ее существования и функционирования. Запас изменяется в ходе функционирования системы. Его можно сравнивать по величине (больше\меньше). Существуют рациональные и иррациональные запасы. Рациональные могут быть измерены, для иррациональных единицы измерения отсутствуют. К примеру, это могут быть социальные системы, погода, настроение.
Запасы имеют свойства. В основном, они могут быть положительными. Положительные запасы имеют пределы роста, рис.2.4. К примеру, "раздача" бюджетного финансирования имеет пределы и провоцирует кризисы; расширение бизнеса может быть ограничено пределами территории.
Рис. 2.4. Пределы роста запаса
Запасы регулируются, меняя значение потоков. Запасы меняются медленнее потоков. Если потоки действуют дольше эталонного времени, то возникает инерция. Запасы позволяют потокам не зависеть друг от друга. Запасы являются буфером, смягчающим внешние воздействия. Пример: запас соли делается заранее для устранения проблем с гололедом.
Иерархия, иерархическая структура – внутренняя организация системы, позволяющая составить систему большего размера из меньших систем (подсистем).
Лимитирующий фактор – необходимый для системы входной поток, в определенный момент вызывающий ограничение ее деятельности. Самое сильное действие оказывает входной поток. Лимитирующий фактор может возникать на разных уровнях системы и ее подсистем. У роста всегда будут пределы, либо их установит система, чтобы избежать разгона, разноса и разрушения. Рождение лимитирующего фактора в системе связано с переходом по линии: "усиление" – "балансирование" – "доминирование".
Линейная зависимость – такая связь между двумя элементами системы, при которой результат всегда пропорционален причине. График линейной зависимости – прямая. Результаты могут суммироваться.
Нелинейная зависимость – такая связь между двумя элементами системы, при которой результат не пропорционален причине. Результаты суммироваться не могут, а график не имеет вид прямой.
Обратимое доминирование – изменение во времени относительной мощности конкурирующих петель обратной связи.
Ограниченная рациональность – логика, приводящая к принятию решений и выполнению действий, имеющих смысл только в части системы, но не разумных и не рациональных в более широких рамках или масштабах большей системы.
Парадигма – совокупность явных и неявных (и часто не осознаваемых) посылок, сложившихся представлений, понятий, подходов и методов исследования, признанных на данном этапе развития науки и господствующих в обществе в течение определенного исторического периода. Смена парадигм может представлять собой эволюционный переход или качественный скачок в развитии науки и общества.
Поток – вещество или информация, входящие в запас или исходящие из запаса в течение определенного времени.
Общая схема динамики системы показана на рис.2.5.
Рис. 2.5. Общая схема динамики систем
Потоки обладают свойствами. Даже если поток меняется быстро, выходной параметр, например, уровень запасов, может меняться медленно, приводя к запаздыванию. Бесконечное увеличение потока невозможно. Оно ограничено его собственными ресурсами. Если потоки действуют дольше, чем время регулирования, то возникает инерция. Это свойство потока называют инерционностью. Пример: после демографического провала возник дефицит детских садов и школ, что привело к "бунтам" мамочек, огромным очередям в школы и детсады.
Самоорганизация – способность системы создавать собственную структуру, порождать новые структуры, учиться, увеличивать разнообразие.
Самоподдерживающая (экологическая) емкость – емкость окружающей природной среды, ее способность выдерживать антропогенные нагрузки, разлагать вредные химические выбросы и переносить иные воздействия в той степени, в которой они не приводят к деградации земель и всей окружающей среды.
Связи – это, то, что объединяет элементы системы в одно целое. Связи между элементами системы могут быть жесткими (таковы они обычно в технике) и гибкими, изменяющимися в процессе функционирования системы, – таковы они в живых существах, в экономике, они могут быть непосредственными и опосредствованными. Наиболее важными являются следующие виды связей: прямые, обратные (инверсные), пропорциональные, линейные и нелинейные, рекурсивные, синергетические, циклические, а по направленности – положительные и отрицательные. Примером прямых пропорциональных связей является пропорциональный рост доходов (чем больше работаем, тем больше доходов) или обратные (чем больше работаем, тем выше доходы, тем выше цены, тем меньше достаток населения). Связи образовывают циклы обратной связи.
Прямая инверсная обратная связь – когда чем больше запас, тем меньше подается поток. В нем цикл исходит из запаса и возвращается к нему, рис.2.6.
Рис. 2.6. Прямая инверсная связь
Выход также зависит от запаса и реализуется через набор решений, правил, законов и действий, зависящих от запаса, рис.2.7.
Рис. 2.7. Прямая обратная инверсная связь
Уровень запаса влияет на величину потока, который затем изменяет величину запаса. Термины положительной и отрицательной обратной связей используются в связи с психологической инерцией.
Система – совокупность элементов или частей, упорядоченных определенным образом и связанных друг с другом в структуру, которая демонстрирует характерные типы поведения (что часто называют функцией или назначением системы).
Система с конкурирующими циклами – сочетание регулирующих циклов в системе со сторон входа и выхода запаса может давать разные характеристики системы. Циклы могут быть Б-Б (балансирующий-балансирующий, например, термостат) или Б-У (балансирующий-усиливающий, например, соотношение рождаемости-смертности). Для регулирования потоков в системе задаются правила, рис. 2.8.
Рис. 2.8. Схема динамической системы с заданными правилами усиления и балансировки
Системно-динамический подход – способ описания и познания окружающего мира, учитывающий, что «всё связано со всем», что взаимосвязи могут носить нелинейный характер и образовывать циклы обратных связей, что система в целом представляет собой нечто большее, чем простая совокупность составляющих ее частей.
Субоптимизация – поведение, возникающее в случае, если цели подсистемы достигаются в ущерб целям всей системы (доминируют над ними).
Упругость, устойчивость, гибкость системы – способность восстанавливаться после внешнего воздействия или возмущения, способность вернуться к прежнему состоянию, восстановить свою структуру после изменения, вызванного внешними силами.
Усиливающий цикл (контур, петля) обратной связи – усиливающий, увеличивающий цикл обратной связи, («положительная обратная связь», «петля положительной обратной связи»), усиливает изменения в системе в том же направлении, что и первоначальное воздействие. Такие контуры также называют «маниакальными» циклами обратной связи, хотя иногда подобные структуры приносят благо, если речь не идет о материальном росте. Пример: начисление на сумму счета, штрафы, пропорциональная система налогообложения. Такой цикл "раскручивает" сам себя. Если запас иссякает, то иссякает и поток. Если параметр увеличивается, то это приводит к выходу за пределы системы или разрушению системы. Обычно увеличение параметра в цикле ограничено некоторым лимитирующим фактором.
Цикл (контур, петля) обратной связи – механизм (правило, информационный поток или сигнал), позволяющий изменению запаса влиять на поток, входящий в запас или исходящий из него. Он представляет собой цепочку причинных связей, замкнутую вокруг запаса. Причинные связи реализуются через набор решений, правил, физических законов или действий, зависящих от величины самого запаса. Изменение запаса вызывает изменение потока, что, в свою очередь, оказывает воздействие на дальнейшее изменение запаса.
2.3. Принципы системной динамики
Системы
Система – нечто большее, чем просто сумма составляющих ее частей.
Многие взаимосвязи в системах реализуются через потоки информации.
Наименее явная часть системы – ее назначение или цель – оказывает определяющее влияние на поведение системы.
Структура системы определяет ее поведение. Поведение системы проявляется в виде событий, происходящих в определенной последовательности.
Важный момент системной динамики и изучения систем – установление границ системы. Несмотря на то, что изолированных систем нет, но при системном исследовании установление несуществующих границ делает модели неадекватными. Слишком узкие границы не учитывают особенности мягких систем, слишком широкие не позволяют использовать модели.
Запасы, потоки и динамическое равновесие
Запасы и уровни отражают хронологию изменений потоков в системе.
Если сумма всех входных потоков превышает сумму всех выходных потоков, уровень или объем запаса будет расти.
Если сумма всех выходных потоков превышает сумму всех входных потоков, уровень или объем запаса будет уменьшаться.
Если сумма всех выходных потоков равна сумме всех входных потоков, уровень запаса будет неизменным; в таких случаях устанавливается динамическое равновесие.
Запасы можно увеличивать как за счет роста потоков на входе, так и за счет уменьшения потоков на выходе.
Запасы приводят к возникновению запаздываний и служат в системе своего рода буфером, амортизирующим внешние воздействия.
Запасы позволяют входным и выходным потокам не зависеть друг от друга и не уравновешиваться в течение какого-то времени.
Циклы (контуры, петли) обратной связи
Цикл (петля) обратной связи представляет собой цепочку причинно-следственных связей, исходящую из запаса и возвращающуюся к нему же. Связи реализуются через набор решений, правил, физических законов или действий, зависящих от величины самого запаса. Изменение запаса вызывает изменение потока, в свою очередь, вызывающее дальнейшее изменение запаса, и т. д.
Балансирующие циклы обратной связи служат выравнивающими структурами в системе, позволяют достичь желаемого значения, выполняют функции одновременно источника стабильности и противодействия изменениям.
Усиливающие циклы обратной связи раскручивают сами себя, приводя к экспоненциальному росту или даже выходу системы за пределы.
Информация, которую передает цикл обратной связи (даже если эта связь не носит физического, вещественного характера), может повлиять только на будущее поведение. Сигнал невозможно доставить настолько быстро, чтобы это позволило скорректировать поведение, вызывающее текущую обратную связь.
В балансирующий цикл обратной связи, направленный на поддержание запаса неизменным, нужно вносить поправку на то, чтобы компенсировать влияющие на него же постоянные утечки, в каком бы направлении они ни происходили. Без такой поправки система "промахнется" мимо желаемого значения, и запас достигнет либо меньшей, либо большей величины.
Системы с одинаковой структурой обратных связей демонстрируют схожие типы поведения.
Обратимое доминирование, запаздывания и колебания
Величина запаздываний и их разница сильно влияют на поведение системы.
Сложное поведение систем часто объясняется переходом доминирования от одного цикла обратной связи к другому. В этом случае в разные моменты времени поведение системы определяют разные петли обратной связи.
Запаздывание в балансирующем цикле обратной связи приводит систему к колебаниям и далее к ее разгону и разносу. Пример: Автосалон. Запаздывание по покупателям и условиям закупки автомобилей приводит к переходу системы продаж в разнос. Для снижения разбалансировки необходимо согласовывать запаздывание по покупателям и закупкам.
Изменение величины запаздывания может привести к очень серьезным изменениям в поведении системы. Пример. Если вы имеете большое инерционное звено, то реагировать надо, определяя степень инерционности звена, при этом нужно проводить подстройку частоты, а не ее отстройку.
Сценарии поведения и имитационные модели
Системно-динамические модели рассматривают возможные сценарии будущего поведения и отвечают на вопрос «Что, если… ?».
Полезность (адекватность) модели зависит не столько от того, реалистичны ли сценарии изменения ее движущих сил (никто за это поручиться не может), сколько от того, реалистичны ли типы поведения, которые она демонстрирует.
Информация, которую передает цикл обратной связи, влияет только на будущее поведение системы. Сигнал невозможно доставить настолько быстро, чтобы можно было скорректировать поведение, вызванное обратной связью.
Ограничения в системах
В физических системах, растущих по экспоненциальному закону, присутствует как минимум один усиливающий цикл обратной связи и как минимум один балансирующий цикл, ограничивающий рост, – ведь ни одна физическая система в конечной окружающей среде не может расти бесконечно.
Невозобновимые ресурсы ограничены объемами запасов.
Возобновимые ресурсы ограничены скоростью воспроизводства.
Устойчивость, упругость, самоорганизация и иерархическое строение
У способности системы к самовосстановлению и устойчивости всегда есть пределы.