УДК 004.942; 316.454.3
МОДЕЛИРОВАНИЕ СОЦИАЛЬНЫХ ПРОЦЕССОВ И МУЛЬТИАГЕНТНЫЙ ПОДХОД
Н.С. Копылова, аспирант; Ф.А. Мурзин, к.ф.-м.н., зам. директора по научной работе; И.А. Курков, аспирант (Институт систем информатики им. А.П. Ершова СО РАН, просп. Лаврентьева, 6, г. Новосибирск, 630090, Россия, [email protected], [email protected], [email protected])
Основной целью работы является построение на основе мультиагентного подхода упрощенной математической модели общества с целью ее дальнейшей программной реализации.
В модели присутствуют агенты нескольких типов: работники, чиновники, собственники. Кроме того, возможно деление на различные типы внутри одной группы: например, рабочие, добывающие ресурс, и рабочие, перерабатывающие его. Агенты могут переходить из одной группы в другую при выполнении некоторых заранее определенных условий.
Каждый агент описывается набором свойств и атрибутов. Свойства - это, например, географическое положение, возможность выполнять некоторые действия. Атрибут - некоторая измеряемая и изменяемая величина (шкала). Уровень того или иного атрибута влияет на поведение агента. Базовый набор атрибутов одинаков для всех типов агентов. В зависимости от типа агента атрибут может находиться в активном или пассивном состоянии (когда его уровень не влияет на поведение агента).
Агенты взаимодействуют и оказывают друг на друга влияние. Способы влияния зависят от типа взаимодействующих агентов. Есть несколько базовых типов взаимодействия. Во-первых, через изменения атрибутов. Агенты-чиновники, собирая налоги с агентов-работников, уменьшают уровень атрибута накопления работника. Во-вторых, через указания к действиям. Например, агент-собственник может отправить подчиненных ему работников на новое место работы или дать им новое задание (перекинуть часть работников с добычи ресурса на его переработку).
Цель агента - улучшение его показателей-атрибутов.
Ключевые слова: социальное влияние, мультиагентные системы, социальное моделирование, ресурсы, авторитетность.
SOCIAL PROCESSES MODELING AND MULTI-AGENT APPROACH
Kopylova N.S., postgraduate; Murzin F.A, Ph.D., deputy director on scientific work; Kurkov I.A., postgraduate (Ershov A.P. Institute of Informatics Systems, Lavrentev Av., 6, Novosibirsk, 630090, Russia, [email protected], [email protected], [email protected])
Abstract. The purpose of the article is a simplified model of society available for software implementation and based on multi-agent approach.
The model includes several agent types, for example, workers, officials, owners etc. In addition, division within one group is possible. For example, workers who extract resources and workers who process resources. Agents can change their type under certain predetermined conditions. The agent represents not a single individual but a group of people.
Each agent is described by a set of properties and attributes. Properties include geographical situation, ability to do certain actions etc. An attribute is certain measurable variable (scale). Agent's behavior depends on attributes' value. Basic set of attributes is common to all types of agents but depends on agent's type attribute can be in active or passive mode.
Agents influence and interact with each other. Ways to influence depend on agents' types. There are some base ways to interact. First, through changing attributes, for example, agent-officials collect taxes from agent-workers reducing the level of their fund attribute. Second, through operations directive, for example, an agent-owner can send its subordinate workers to a new location or give them a new job. Agent's goal is to improve its attributes.
Keywords: social influence, multi-agent systems, social modeling, resources, authority.
В условиях высоких темпов информационного развития современного общества и нарастания неопределенности социальных изменений возникает потребность в методах диагностики и анализа самой социальной среды, социальных взаимодействий, прогнозирования будущего и оценки рисков. Однако далеко не всегда можно разработать строгие математические модели социальной системы или сформировать запрос на такие исследования специалистам.
Одним из решений данной проблемы является создание комплекса гибких моделей социальных процессов, позволяющих выделить основные направления и характеристики социальной реальности, упрощая тем самым сложность и формируя
целостный образ, необходимый для поставленных задач: детального анализа, адекватной оценки ситуации, принятия управленческих решений, постановки задач на более строгие, количественные исследования.
Социальные процессы труднее оценивать и моделировать, так как результаты скорее психологические и социологические, чем физические. Хотя средства моделирования социальных систем разрабатываются очень медленно, все же несколько групп добились некоторых успехов в разработке агентных моделей социальных сетей. Компьютерное моделирование с использованием агентов представляется наиболее эффективным для моделирования сложных социальных процессов.
В основе такого подхода лежит понятие интеллектуального агента. Агент - это сущность, которая находится в некоторой среде, получает данные о событиях, происходящих в ней, интерпретирует их и исполняет команды, воздействующие на среду. Мультиагентные системы характеризуются тем, что, во-первых, каждый агент владеет информацией, недостаточной для решения всей задачи, во-вторых, нет глобального контроля, то есть каждый агент принимает решения самостоятельно, в-третьих, данные децентрализованы и, наконец, вычисления могут быть асинхронными.
Модель
Время жизни агента не ограничено, считается, что он представляет не одного человека, а некоторое множество (группу) людей. При благоприятном состоянии окружающей среды внутри группы могут появиться новые агенты. Можно рассмотреть модели, где появление агентов внутри группы возможно для всех групп и где это возможно только для некоторых групп.
Среда расположения агентов
Агенты находятся в некотором пространстве. В этой среде имеется ресурс, добываемый и перерабатываемый агентами (рабочими). Ресурсы могут быть различных типов. Одни ресурсы являются возобновляемыми, другие нет. Количество доступного ресурса в точке определяется насыщенностью (RESOURSE DEPTH). От нее зависит и величина возможной добычи. Кроме того, для каждой точки определяется сложность добычи ресурса (EXTRACTION DIFFICULTY). Чем выше уровень сложности, тем больше усилий затрачивается на добычу ресурса.
Атрибуты агентов
Каждый агент имеет следующий набор атрибутов: ENERGY, OBEDIENCE, AUTHORITY, FUNDS, STOCK, PRODUCTS.
Энергия (ENERGY) - это жизненные силы агента. Уровень энергии определяет здоровье агента, влияет на производительность агента:
ENERGY<n+1)=ENERGY<n)+ENERGY+<n)--ENERGYJn).
На каждом шаге некоторое количество энергии тратится на поддержание жизни агента, а также на выполнение различных действий. Количество затрачиваемой энергии зависит от типа агента и от выполняемых им действий. Нет действий, которые производились бы без затрат энергии. Если уровень энергии агента ниже количества, необходимого на выполнение действия, агент не может выполнить это действие. Если уровень энергии ниже количества, необходимого для поддержания жизни, агент умирает.
ENERGY_{n) = ENERGYn) + £ ENERGYact{n),
actions
ENERGYUfe{n)=EUfe, ENERGYaU >0.
Энергия пополняется за счет накоплений (то есть на деньги агент «покупает продукты питания», «съедает» их, восстанавливая жизненную энергию). Но за один шаг энергия не может пополниться более чем на некоторую определенную величину: ENERGY+{n)=ENERGYfeed{n), 0<ENERGYfUn)<Efeed.
Для атрибута «энергия» есть несколько граничных точек, величины границ зависят от типа агента: Efe - минимальное количество энергии, необходимое на поддержание жизни агента; Emax -максимально возможное количество энергии.
Послушание (OBEDIENCE) определяет, насколько легко агент подчиняется указаниям других агентов. То есть введена степень случайности в то, будет ли выполнено указание. Вероятность выполнения прямо пропорциональна OBEDIENCE: чем выше послушание, тем легче агент выполняет требования других агентов. Можно рассматривать уровень послушания по отношению к разным группам. Уровень послушания снижается, если агенту плохо живется. Правило понижения уровня послушания зависит от типа агента. Уровень послушания увеличивается, если агенту хорошо живется. Правило повышения уровня послушания зависит от типа агента. Если уровень послушания падает до некоторой критической величины Odisob, агент выходит из повиновения.
Авторитетность (AUTHORITY) определяет возможность агента управлять другими агентами. Чем выше авторитет агента-чиновника, тем больше территория, которой он может управлять. Чем больше авторитет агента-собственника, тем больше рабочих он может контролировать. Если агент плохо справляется со своей задачей, уровень его авторитетности падает. Правило понижения уровня авторитетности зависит от типа агента. Если агент хорошо справляется со своей задачей, уровень его авторитетности возрастает. Правило повышения уровня авторитетности зависит от типа агента.
Накопления (FUNDS) - это денежные накопления агента. Накопления могут быть личными (агенты-рабочие, агенты-собственники) или общими (агенты-чиновники). Агент тратит средства на поддержание своей жизни (на увеличение энергии). Кроме того, разные типы агентов могут тратить накопления на различные цели, характерные для этих типов, например на налоговые выплаты или на заработную плату:
FUNDS+(n)^FUNDSfeed{n).
Увеличение накоплений происходит за счет разных источников, которые зависят от типа агента, например, увеличение накоплений агентов-чиновников происходит за счет поступаемых нало-
гов, увеличение накоплений агентов-собственников - за счет продажи производимой продукции. Уровень накоплений не ограничен.
Запас ресурсов (STOCK) - количество ресурсов, имеющихся у агента. Способы пополнения запаса зависят от типа агента. Например, агент-рабочий может пополнить запас, добывая ресурс из среды, агент-собственник - получая ресурсы от своих рабочих или покупая их. Уменьшение запаса происходит, когда агент продает или отдает другим агентам имеющиеся у него ресурсы. Максимальное количество ресурсов, которое может иметь агент, зависит от типа агента. Например, агент-собственник может хранить при себе ресурсов в несколько раз больше, чем агент-рабочий: STOCK{n)<Smax.
Запас продуктов (PRODUCTS) - количество продуктов, имеющихся у агента. Способы пополнения запаса зависят от типа агента. Например, агент-рабочий может пополнить запас, перерабатывая сырье в продукт, агент-собственник - получая продукты от своих рабочих. Уменьшение запаса происходит, когда агент продает или отдает другим агентам имеющиеся у него продукты. Максимальное количество продуктов, которое может иметь агент, зависит от типа агента. Например, агент-собственник может хранить при себе продуктов в несколько раз больше, чем агент-рабочий: PROD UCTS{n)<Pmax.
Свойства агентов
Положение агента в пространстве описывается свойством COORDINATES. Агенты могут перемещаться из одной точки пространства в другую либо по собственному желанию, либо по указанию других агентов. При перемещении агент тратит энергию, пропорциональную перемещению:
ENERGYpath=PATH*Epath.
В случае перемещения по собственному желанию агент проходит за один временной шаг расстояние (считаем, что из энергии уже вычли энергию на поддержание жизни)
PA TH=int(ENERGY^PA THnorm).
При перемещении по указанию агент проходит за один временной шаг расстояние
PA TH=int(ENERGYx OBEDIENCExPA THnorm).
При выполнении соотношения PATHnormx xEpath<1 затраченная энергия всегда меньше энергии агента (с учетом того, что часть ее уже потрачена на поддержание жизни агента).
Численность (CREW SIZE) - свойство агента, определяющее количество людей, представляемых одним агентом.
Агент также может анализировать окружающую среду. Свойство VIEW описывает расстояние, на которое видит агент. При этом агент тратит некоторое количество энергии Eview (одинаковое для агентов одного типа).
Подконтрольная территория (CONTROL AREA) - свойство, определяющее территорию, находящуюся под контролем агента. Для агента-рабочего является неактивным.
Агенты-р абочие
Данные агенты могут быть свободными (работают на себя) и несвободными (работают на собственника). Агенты могут добывать или перерабатывать ресурс. Причем агент не может делать оба действия в один шаг.
Агенты-рабочие могут добывать ресурс, находящийся в среде, RESOURCE^STOCK.
Количество добываемого ресурса зависит от уровня энергии агента, от количества ресурса в точке, где располагается агент, от доступности ресурса и от уровня послушания агента. Добывая ресурс, агент тратит энергию. Количество затраченной энергии зависит от сложности добычи и от количества добытого ресурса (STOCKext), для добычи единицы ресурса при минимальной сложности добычи тратится Epiece. При этом зафиксирована норма (Snorm), то есть количество ресурса, которое добывает агент с фиксированным набором атрибутов ((ENERGY, OBEDIENCE)=(1, 1)).
Предлагается использовать линейную зависимость от энергии и послушания, обратно пропорциональную сложности добычи. Потраченная энергия пропорциональна количеству ресурса и сложности добычи. Будем считать, что от ENERGY уже отняли количество E^, необходимое для поддержания жизни агента:
'RESOURCE _ DEPTH, ENERGY x OBEDIENCE x ' x/ (EXTRACTION _DIFFICULTY) x Snorm, Sm„
ENERGYext=STOCKextx y-f(EXTRA CTION _DIFFICULTY) *Epiece.
Отметим, что при выполнении соотношения
S x E . <
norm piece
STOCK „ = min
<1 max f (EXT _ DIF) x fe (EXT _ DIF) I
V EXT _ DIF J
затраченная энергия всегда меньше энергии агента (с учетом того, что часть ее уже потрачена на поддержание жизни агента).
Функции f и fe могут иметь вид, изображенный на рисунке 1. Кроме того, исходя из смысла величин Snorm и Eunit, если сложность добычи минимальна, значения этих функций должны быть равны единице: fe(easy)=1, fs(easy)=1.
Агенты-рабочие могут перерабатывать ресурсы в продукты: STOCK^PRODUCTS.
Количество ресурса, которое может переработать агент, зависит от энергии агента и от его уровня послушания. Количество произведенного продукта пропорционально потраченному ресурсу. Перерабатывая ресурс, агент тратит энергию.
Л
¥
■4-..
easy
normal
hard
very hard
Примечание: функцииf-------, f - • • • • • •
Рис. 1. Пример изображения функций
Количество затраченной энергии зависит от количества произведенных предметов, на один предмет агент тратит энергию Eunit. При этом зафиксирована норма (Srate), то есть количество ресурса, которое добывает агент с зафиксированным набором атрибутов ((ENERGY, OBEDIENCE)=(1, 1)). Из единицы ресурса агент может произвести Ppiece предметов.
Предлагается использовать линейную зависимость от энергии и послушания. Потраченная энергия пропорциональна количеству произведенных предметов. Будем считать, что от ENERGY уже отняли количество Elife, необходимое для поддержания жизни агента:
Г STOCK,
STOCKproc = min
ENERGY x OBEDIENCE x Sra
P„.
PRODUCTSproc=PpieceXSTOCKproc,
ENERGYProc=PRODUCTSpmcxEUnit.
Отметим, что при выполнении соотношения SratexEunit<1 затраченная энергия всегда меньше энергии агента (с учетом того, что некоторую ее часть уже потратили на поддержание жизни агента).
Свободный агент-рабочий добытые ресурсы и произведенные товары продает на рынке, получая за них некоторую плату в зависимости от проданного количества, несвободный агент-рабочий отдает их контролирующему его агенту-собственнику в обмен на заработную плату:
STOCK- ^ stock^, PRODUCTS_ ^ PRODUCTSmarket, FUNDS+ ^ FUNDS market,, STOCK- ^ STOCKwage, PRODUCTS ^ PRODUCTS ,
- wage >
FUNDS^ ^ FUNDS ,,.
Кроме того, свободные рабочие должны выплачивать определенный налог чиновнику. По мнению авторов, за рабочих, контролируемых собственником, налоги выплачивает сам собственник: FUNDS_<^FUNDStax.
В зависимости от физического состояния агента может изменяться и уровень его послушания. Если уровень энергии падает ниже определенной величины, уровень послушания снижается. Если же, наоборот, уровень энергии достаточно высокий, уровень послушания возрастает (см. рис. 2): ENERGY<Edesp^OBEDIENCE I, ENERGY Eenth ^OBEDIENCE t.
Атрибут A UTHORITY является пассивным для агентов-рабочих. Несмотря на это агенты могут повышать или понижать уровень своего авторитета. Например, если количество добытых ресурсов больше среднего количества в некоторой окрестности, авторитет растет - принцип «лучшего работника». В другом случае количество накоплений можно сравнивать со средним по территории - принцип «самого успешного»:
Лs = stock (n) - stock > suh,
^ a uthority (n +1 =
= min {authority (n) + gs (Л s ),l},
auth >
Лs = stock (n) - stock < -s ^ a uthority (n +1 =
max {a uthority (n) - gs (Л, ), 0},
Ap = PRODUCTS (n) - PRODUCTS > Pauth ^ AUTHORITY (n +1 =
= min {AUTHORITY (n) + gp (AP ),l},
As = PRODUCTS(n) - PRODUCTS < -Pau ^ AUTHORITY(n +1 =
= max {A UTHORITY (n) - gp (AP), 0},
= FUNDS (n) - FUNDS > Fa
auth >
^ AUTHORITY (n +1 =
= min {AUTHORITY (n) + gF (A F), l},
As = FUNDS (n) - FUNDS < -Flmth, ^ AUTHORITY (n +1 =
= max {A UTHORITY (n) - gF (AF), 0}.
1
Можно рассматривать эти условия как по отдельности, так и в сочетании друг с другом. Отметим, что все величины 8аиЛ, РаиЛ, FauЛ положительны, как и функции gs, gp, gP. Возможный вид функций представлен графиком на рисунке 3 [1].
i i /
Гл Г
Ч * -
- Sauth 0 Sauth
Рис. 3. Примерный вид функций функции gs
Работник может перемещаться по территории по указанию чиновника или собственника, на которого он работает, а также в поисках лучшей жизни, то есть туда, где средний уровень энергии выше, чем у него, на некоторую величину.
Агенты-чиновники
Каждый чиновник управляет некоторой территорией и контролирует других агентов, находящихся на этой территории. Величина контролируемой территории зависит от уровня авторитета чиновника. Функция dc должна быть монотонно возрастающей и ограниченной: CONTROL _ AREA(n; i) =
d(COORDINATES (n;i), (x, y) < (x, y) < dC (A UTHORITY (n; i)),
л(х, y) г CONTROL_ AREA(n; j) if j Ф i
Кроме того, в некоторых моделях возможна иерархия чиновников. Один чиновник может контролировать других чиновников. В этом случае для представления связей можно использовать дерево подчинения. Чиновники, находящиеся на более высоких уровнях, могут не иметь привязки к определенной территории, но у чиновников, представляемых листьями дерева, всегда есть подконтрольная им территория.
Если работники на территории чиновника живут хорошо, авторитет чиновника растет. Можно считать, что уровень повышения или понижения авторитета зависит от среднего уровня послушания работников за некоторый промежуток времени (аналогично можно рассмотреть зависимости от среднего уровня энергии или накоплений) [2]. Увеличение и уменьшение уровня авторитета
происходит не на каждом шаге, а через некоторые интервалы времени:
^ A UTHORITY (n +1 = = min {A UTHORITY (n) + hO (YS ),l},
Ys = OBEDIENCE > O^
YS = OBEDIENCE < O ^ A UTHORITY in +1 =
s mis \ /
= max {A UTHORITY {n) - hO (YS ), 0},
0<Odisob<Omis<Ohap<Omar<l •
Функция h0 имеет вид, аналогичный функциям
gs, gg gF.
Если уровень авторитетности падает, часть территорий может выйти из-под контроля чиновника. Если авторитет позволяет контролировать большие территории, чиновник стремится захватить свободную местность или отобрать часть территории у чиновника с меньшим авторитетом. Также возможны модели, где чиновника назначают для управления территорией, тогда при повышении авторитета чиновника могут переводить на другие, большие территории, при снижении авторитета снимать с должности.
Чиновник собирает налоги с подконтрольных ему территорий - с собственников и со свободных работников (не работающих у собственника). Налоги могут представлять собой как фиксированную выплату, так и некоторый процент с заработанных средств. Чиновник может контролировать величину налогов в зависимости от состояния работников на подчиненной ему территории:
FUNDS+(П ^ ZFUNDStca(n;i),
HO
FUNDStœc{n; i)=r(*+<n; i), ENERGIE{n; i»,
*e(STOCK, PRODUCTS, FUNDS).
Накопления чиновника считаем государственными деньгами. Часть денег чиновник тратит на поддержание своей энергии, какую-то часть, возможно, присваивает себе. Вероятно, он отдает все накопления или их часть вышестоящему чиновнику. Деньги могут тратиться чиновником на поддержание населения, оказавшегося в трудной ситуации: FUNDS_(n) ^ £ FUNDShelp(n; i),
HO
FUNDShelp(n; i)=s(ENERGIE(n; i)).
Чиновник также может давать некоторые указания агентам, находящимся на его территории. Например, анализировать окружающую среду. Полученные данные он может использовать для определения территорий, где, например, наиболее выгодна добыча ресурсов, и отправлять туда агентов.
Взаимодействие агентов
Агенты могут взаимодействовать как внутри группы, так и между группами.
Рабочие могут общаться друг с другом, узнавать о состоянии своих соседей, условиях окру-
жающей среды и в дальнейшем на основе этой информации делать вывод о наиболее предпочтительном местонахождении.
Чиновник имеет возможность запрашивать у рабочих информацию о ресурсах в области их видимости. На основе полученной информации он может отдавать рабочим приказание двигаться к более насыщенному источнику ресурсов.
Чиновник имеет право взимать часть средств, заработанных рабочими за ход, в случае отсутствия у рабочих накоплений для поддержания жизни и энергии может выдавать им необходимое количество денег.
Чиновники могут взаимодействовать между собой. Например, когда на территории находится много ресурсов, но мало людей, чиновник может запросить у своего соседа-чиновника дополнительных работников. Если же, наоборот, мало ресурсов и много людей, он может попытаться найти свободные территории или передать людей другому чиновнику.
Появление новых агентов,
переход агентов из одной группы в другую
Если средний уровень жизни достаточно высок, количество агентов-рабочих может увеличиться. Уровень жизни может оцениваться по уровню энергии, послушания и количеству накоплений. Высокий уровень энергии означает хорошее физическое состояние агента, высокий уровень послушания - хорошее психологическое состояние (высокий уровень послушания говорит о том, что в течение длительного периода состояние агента было хорошим). Высокий уровень накоплений означает, что работники в данном месте не отдают все свои средства на налоги, есть некоторый излишек ресурса, то есть на данной территории может содержаться еще несколько агентов.
Для агентов-чиновников можно рассматривать модели, в которых новые агенты появляются только из класса рабочих, и модели, где чиновники могут появляться внутри своей группы [2]. Во втором случае необходимо уточнить, какие территории достаются новоиспеченному чиновнику. Можно считать, что некоторый чиновник с очень высоким уровнем авторитетности может (но необязательно) породить нового чиновника (его протеже). Тогда новому чиновнику достаются некоторые свободные территории, если они имеются, или часть территорий его покровителя. Кроме того, возможно образование иерархии внутри группы. Например, при появлении нескольких новых чиновников делится вся территория чиновника, породившего их, а он сам становится их главой.
Если уровень авторитетности агента-рабочего высок, работник может стать чиновником, то есть если АиТНОШТТ>Л^0, то с какой-то вероятно-
стью p работник может стать чиновником. Если поблизости есть свободная территория вне зоны влияния других чиновников, агент с достаточным уровнем авторитетности, став чиновником, займет ее. Кроме того, если авторитет агента выше авторитета чиновника на данной территории, он может отобрать часть территории. Можно также рассмотреть модель, где из нескольких подходящих кандидатов в чиновники выбирается один.
Программная реализация
Для реализации вышеприведенных моделей можно использовать несколько инструментов, таких как Swarm, RePast, NetLogo. Авторами был выбран RePast как наиболее оптимальный инструмент для социального моделирования. Основными критериями выбора стали актуальность и регулярная поддержка (разработка продукта), наличие хорошей и доступной документации, легкость в расширении, возможность подключения внешних инструментов (интеграция с БД, математическими пакетами и т.д.).
На данном этапе реализована одна из простых моделей. На сетке случайным образом распределяются ресурсы, а также агенты двух типов -рабочие и чиновники. У чиновников есть возможность управлять передвижениями и добычей ресурса рабочими. Рабочие добывают ресурс, исследуют окружающее пространство и отчисляют чиновникам-владельцам часть добытых и переработанных ресурсов. При высоком стремлении чиновников к обогащению происходит вымирание рабочих.
На рисунке 4 представлен график зависимости количества добытых ресурсов от времени. Такой график строится в реальном времени при моделировании, вследствие чего есть возможность не только наблюдать за передвижениями агентов, но и анализировать ситуацию.
Рис. 4. График зависимости количества добытых ресурсов от времени
В результате проведенных исследований построена система, являющаяся прототипом для моделирования различных социальных процессов в рамках исследуемой области, позволяющая учитывать динамические факторы, влияющие на социальный процесс.
Применение данного продукта представляется перспективным для анализа демографических процессов, построения моделей управления рисками, анализа социальных сетей.
Отметим две наиболее трудоемкие части социального моделирования: выбор показательного примера целевой группы для формирования базового набора данных и развитие обоснованного набора правил поведения и вероятностных характеристик, влияющих на поведение агентов. Если набор данных и правила поведения хорошо разработаны, моделирование, имитирующее социальные процессы, будет более надежным, реалистичным и заслуживающим доверия.
Более детализированные наборы данных, описывающих демографические показатели, правила поведения в группе и сеть социальных связей, могут быть полезными при дальнейшем построении и других аналогичных моделей.
Литература
1. Marsella S.C., Pynadath D.V., Read S.J., PsychSim: Agent-based modeling of social interactions and influence, Proc. of the 6th Intern. Conf. on Cognitive Modeling, Carnegie Mellon University, Pittsburgh, PA, 2004.
2. Малков С.Ю., Селунская Н.Б., Сергеев A.B. Социально-экономические и демократические процессы в аграрном обществе как объект математического моделирования: В сб.:
История и синергетика. Математическое моделирование социальной динамики. М.: КомКнига, 2005.
3. Копылова Н.С., Мурзин Ф.А. Моделирование механизмов социального влияния на основе мультиагентного подхода / КИИ-2008: тр. 11-й национальн. конф. по искусствен. интел. с междунар. участием (г. Дубна). М.: ЛЕНАНД, 2008. Т. 3. С. 226-234.
4. Копылова Н.С., Мурзин Ф.А. Моделирование механизмов социального влияния на основе мультиагентного подхода // Вопросы искусственного интеллекта, 2009. С. 173-183.
5. Белогубова М.В., Копылова Н.С. Моделирование механизмов социального влияния с помощью мультиагентного подхода / Студент и научно-технический прогресс: матер. XLVI междунар. науч. студ. конф. Новосибирск, 2008. С. 132133.
6. Белогубова М.В., Копылова Н.С. Моделирование социальных процессов на основе мультиагентного подхода / Студент и научно-технический прогресс: матер. XLVI между-нар. науч. студ. конф. Новосибирск, 2010. С. 194.
References
1. Marsella S.C., Pynadath D.V., Read S.J., Proc. of the 6th Int. Conf. on Cognitive Modeling, Carnegie Mellon University, Pittsburgh, PA, 2004.
2. Malkov S.Yu., Selunskaya N.B., Sergeev A.B., Istoriya i sinergetika. Matematicheskoe modelirovanie sotsialnoy dinamiki [History and synergetics. Mathematical modeling of social dynamics], Moscow, Kom Kniga, 2005.
3. Kopylova N.S., Murzin F.A., KII-2008: tr. 11-y natsi-onaln. konf. po iskusstven. intel. s mezhdunar. uchastiem [KII-2008: proc. of 11th national conf. on artificial intelligence with int. participants], Мoscow, LENAND, 2008, Vol. 3, pp. 226-234.
4. Kopylova N.S., Murzin F.A., Voprosy iskusstvennogo intellekta [Artificial intelligence issues], 2009, pp. 173-183.
5. Belogubova M.V., Kopylova N.S., Student i nauchno-tekhnicheskiy progress: mater. XLVI mezhdunar. nauch. studencheskoy konf. [A student and technological advances: proc. of XLVI int. scientific conf.], Novosibirsk, 2008, pp. 132-133.
6. Belogubova M.V., Kopylova N.S., Student i nauchno-tekhnicheskiy progress: mater. XLVI mezhdunar. nauch. studencheskoy konf. [A student and technological advances: proc. of XLVI int. scientific conf.], Novosibirsk, 2010, pp. 194.
УДК 519.6
ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ БИОНИЧЕСКИХ АЛГОРИТМОВ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ
О.Е. Семенкина, м.н.с.; О.Э. Семенкина, д.т.н., профессор (Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, просп. им. газ. «Красноярский рабочий», 31, г. Красноярск, 660014, Россия, oleese@mail. ru, semenkina. olga@mail. ru)
Для решения задачи коммивояжера предлагаются самонастраивающиеся бионические алгоритмы. Самонастройка алгоритмов обеспечивается за счет стохастического выбора настроек и/или параметров в ходе решения задачи в соответствии с распределениями вероятностей применения этих операторов. Распределения вероятностей модифицируются на каждом шаге алгоритма в соответствии с успешностью применения операторов (параметров), определяемой значением пригодности индивидов (решений), построенных с их помощью. Эффективность предложенных алгоритмов сравнивается с известными бионическими алгоритмами - обычным генетическим алгоритмом, муравьиным алгоритмом и алгоритмом умных капель, а также с локальным поиском (эвристикой Лина-Кернигана). На тестовых задачах большой размерности демонстрируется полезность предложенного подхода.
Ключевые слова: комбинаторная оптимизация, генетический алгоритм, муравьиный алгоритм, алгоритм умных капель, эвристика Лина-Кернигана, адаптивность.