Мультиагентное принятие решений Образование коалиций: ядро; вектор Шепли; представление о кооперативных играх; формирование структуры коалиции. Подготовила: Студентка 4 курса Михайлова Татьяна Николаевна Специальность: Прикладная информатика Кооперативная игра игра, в которой группы игроков — коалиции — могут объединять свои усилия для достижения оптимального решения. 2 Кооперативные игры повсюду в реальной жизни: встречаются • Экспедиция из n человек нашла в лесу сокровище. Два человека смогут вдвоем унести одну часть сокровища, но не более. Как разделятся участники экспедиции для того чтобы нести сокровище и как будет поделена находка между ними? • Совет учителей долен выбрать лучшего ученика в школе, чтобы наградить его призом. Выбор происходит путем голосования и награждается тот ученик, который набрал максимальное количество голосов. Причем, один из учителей – директор школы. Если ему не нравится предложение, он может аннулировать результаты голосования и тогда голосование происходит еще раз. Какие возможны коалиции внутри совета? • Трое друзей покупают пирог. Сколько заплатит каждый и какую долю пирога получит? 3 Коалиция - основная единица анализа в теории кооперативных игр. 4 Основные проблемы в кооперативных играх: • Формирование структуры коалиции • Командная работы • Разделения выигрыша между игроками 5 Математическое представление Пусть N - множество всех игроков, N ={1, 2, ..., n} K- любое его подмножество Если игроки из K договариваются между собой о совместных действиях и, таким образом, образуют одну коалицию, то число таких коалиций: 𝐶𝑛𝑟 = 2𝑛 − 1 Число всевозможных коалиций значительно растёт в зависимости от числа всех игроков в данной игре. Для исследования этих игр необходимо учитывать все возможные коалиции, и поэтому трудности исследований возрастают с ростом n. Образовав коалицию, множество игроков K действует как один игрок против остальных игроков, и выигрыш этой коалиции зависит от применяемых стратегий каждым из n игроков. 6 Формирование коалиции • Принимается решение, какие агенты участвуют в коалиции. После создания коалиций у любого агента возникает вопрос: к какой именно коалиции лучше присоединиться? К той, которая принесёт наибольший выигрыш. • Для определения выигрыша каждой коалиции используется характеристическая функция. 7 • Вариантов возможных коалиций много (а именно 2Ag, где Ag— количество всех агентов), а выигрыш для какой-то коалиции C будет некоторой характеристической величиной, зависящей от состава коалиции • Тогда кооперативная игра представляется парой: (Ag, v), где Ag— множество всех агентов, а v : 2Ag → R — это характеристическая функция игры • Подобная форма представления может быть применена для всех игр. В настоящее время существуют способы перевести любую игру из нормальной формы в характеристическую, но преобразование в обратную сторону возможно не во всех случаях. 8 Характеристическая функция Функция v, ставящая в соответствие каждой коалиции С наибольший получаемый ею выигрыш v(С), называется характеристической функцией игры . Примеры • «Ботинки». Пара ботинок (левый плюс правый) стоит 600 рублей. Один ботинок без пары не стоит ничего. У Лени есть левый ботинок, у Левы — еще один такой же левый, а у Паши — правый. Здесь N ={Леня,Лева,Паша}, v(Леня) = v(Лева) = v(Паша) = 0 (в одиночку никто не может получить 600 рублей); v(Леня,Лева) = 0 (у них нет правого); для любой другой коалиции S, v(S) = 600, т.к. есть и правый и левый ботинки. • «Носки». Левые и правые носки ничем не отличаются. Пара носков стоит 60 рублей. Один носок ничего не стоит. У Андрея — три носка, у Бориса — пять носков. Здесь N = {Андрей, Борис},v(Андрей) = 60, v(Борис) = 120, v(Андрей, Борис) = 240. 9 Характеристическая функция Свойство супераддитивности: Возможности объединенной коалиции не меньше, чем возможности нескольких непересекающихся коалиций, действующих независимо. Где T, S – любые непересекающиеся коалиции. 10 Представление характеристической функции 1. Графы Представление v в виде неорентированного графа на Ag, у которого роль весов выполняют 𝑤𝑖,𝑗 между узлами i, 𝑗 ∈ 𝐴𝑔. Тогда размер коалиции: v 𝐶 = 𝑤𝑖,𝑗 11 2. «Голосование» Weighted Voting Games Для каждого агента i ∈ 𝐴𝑔 задаются веса 𝑤𝑖 и определяется общая квота q. 1, если 𝑤𝑖 ≥ 𝑞 v 𝐶 = 0 во всех других случаях 12 3. Marginal Contribution Nets Характеристическая функция представляется в виде правил: Шаблон -> выгода Шаблоном называется группа агентов, правило же применяется к коалиции агентов С, если С является надмножеством агентов в шаблоне. Выгода коалиции: суммируются значения всех правил, которые были к ней применены. 13 14 Основным вопросом кооперативных игр является вопрос договоренности между агентами. Каким образом будет происходить сговор и как, в результате, будет разделен выигрыш между участниками? 15 Делёж Если обозначить через xi выигрыш i-го игрока, то должны удовлетворяться следующие условия: • условие индивидуальной рациональности xi ( i ), для i N т.е. любой игрок должен получить выигрыш в коалиции не меньше, чем он получил бы, не участвуя в ней (в противном случае он не будет участвовать в коалиции); • условие коллективной рациональности 𝒙𝒊 = 𝒗(𝑵) т.е. сумма выигрышей игроков должна соответствовать возможностям (если сумма выигрышей всех игроков меньше, чем (N), то игрокам незачем вступать в коалицию; если же потребовать, чтобы сумма выигрышей была больше, чем (N), то это значит, что игроки должны делить между собой сумму большую, чем у них есть). Вектор, удовлетворяющий условиям индивидуальной и коллективной рациональности, называется дележом. 16 Доминирование дележей Делёж x доминирует делёж y, если выполняются следующие условия: – 𝑥𝑖 > 𝑦𝑖 (условие единогласия) – 𝑥𝑖 ≤ 𝑣 𝐾 (условие реализуемости) 17 C-ядро • множество недоминируемых дележей в кооперативной игре • Г = <N, v> Теорема Для того, чтобы дележ 𝛼𝑖 принадлежал Сядру, необходимо и достаточно выполнения для всех S, принадлежащих N, следующего неравенства: 𝑣(𝑆) ≤ 𝑖∈𝑆 𝛼𝑖 , где S-коалиция, N-множество игроков 18 «Ботинки» Пара ботинок (левый плюс правый) стоит 600 рублей. Один ботинок без пары не стоит ничего. У Лени есть левый ботинок, у Левы — еще один такой же левый, а у Паши — правый. Здесь N ={Леня,Лева,Паша}, v(Леня) = v(Лева) = v(Паша) = 0 (в одиночку никто не может получить 600 рублей); v(Леня,Лева) = 0 (у них нет правого); для любой другой коалиции S, v(S) = 600, т.к. есть и правый и левый ботинки. Решение 𝑥𝑙1 + 𝑥𝑙2 + 𝑥𝑟 = 1, 𝑥𝑙1 + 𝑥𝑟 ≥ 1, 𝑥𝑙2 + 𝑥𝑟 ≥ 1. Единственное решение – это 𝑥𝑙1 = 𝑥𝑙2 = 0, 𝑥𝑟 = 1. 19 «Носки» Левые и правые носки ничем не отличаются. Пара носков стоит 60 рублей. Один носок ничего не стоит. У Андрея — три носка, у Бориса — пять носков. Здесь N = {Андрей, Борис},v(Андрей) = 60, v(Борис) = 120, v(Андрей, Борис) = 240. Решение 𝑥1 + 𝑥2 = 240, 𝑥1 ≥ 60, 𝑥2 ≥ 120 Решение: любой дележ вида: (𝑥1 , 240 − 𝑥1 ). Обладатель редкого ресурса получает всё 20 Недостатки С-ядра: • может быть пустым • может быть не единственным. Эти две проблемы решает другая концепция - вектор Шепли. 21 Вектор Шепли математическое ожидание вклада каждого игрока, если большая коалиция формируется в случайном порядке. • вектор Шепли всегда (по крайней мере, при конечном числе игроков) существует • Вектор Шепли всегда единственный. 22 Вектор Шепли — это вектор (𝜑1 , 𝜑2 , … , 𝜑𝑛 ) , где выигрыш i-го игрока определяется по принципу: 𝜑𝑖 = 𝐸(𝐴𝑑𝑑(𝑖)), где Add(i) –прибавка, которую вносит игрок, при добавлении к коалиции. 23 Пример «Ботинки». Пара ботинок (левый плюс правый) стоит 600 рублей. Один ботинок без пары не стоит ничего. У Лени есть левый ботинок, у Левы — еще один такой же левый, а у Паши — правый. Здесь N ={Леня, Лева, Паша}, v(Леня) = v(Лева) = v(Паша) = 0 (в одиночку никто не может получить 600 рублей); v(Леня, Лева) = 0 (у них нет правого); для любой другой коалиции S, v(S) = 600, т.к. есть и правый и левый ботинки. Решение Найдем 𝐸(𝐴𝑑𝑑(𝑟)). Если Паша входит первым, то его вклад равен нулю, иначе его вклад равен 600. 2 Значит 𝐸 𝐴𝑑𝑑 𝑖 = 3 600 = 400. Вклад Лени равен 600 только если первым вошел Паша, а вторым — Леня. 1 Значит 𝐸 𝐴𝑑𝑑 𝑙1 = 6 600 = 100. Аналогично для Левы. Вектор Шепли равен: (100, 100, 400). 24 Выводы • Игры, в которых допускаются совместные действия игроков и перераспределение выигрыша, можно формализовать как игры в форме характеристической функции • Основным понятием для корпоративной игры в форме характеристической функции является понятие дележа • Одним из принципов оптимального распределения максимального суммарного выигрыша между игроками в кооперативной игре является С-ядро, которое обладают рядом недостатков (множественность и возможная пустота) • Вектор Шепли предлагает единственный дележ в качестве решения любой кооперативной игры • Основным недостатком вектора Шепли является тот факт, что он не обязательно принадлежит С-ядру. Поэтому лучше строить такой делёж, который сохранял бы положительные свойства вектора Шепли и принадлежал бы С-ядру. 25 Спасибо за внимание! 26 Список дополнительно используемой литературы • Н. А. Зенкевич, Л. А. Петросян, Д. В. К. Янг «Динамические игры и их приложения в менеджменте» • Лекции «Теория игр», Коновалов А.П. • Лекции «Кооперативная теория игр» , Б. Демешев 27 Пример 1 • Игра 3-х лиц характеристической функцией вида: с • Находится С-ядро игры. Дележом будет вектор x = (x1, x2, x3), удовлетворяющий условиям: • 𝑥1 + 𝑥2 + 𝑥3 = 8 • 𝑥1 ≥ 1, 𝑥2 ≥ 0, 𝑥3 ≥ 1 28 Пример 1 Вершины многоугольника - дележи, в которых поочередно две компоненты принимают свои наименьшие возможные значения. 29 Пример 1 30 Пример 1 𝐾 = 1,2 ∶ 𝑥1 + 𝑥2 ≥ 4 => 𝑥3 ≤ 8 − 𝑥1 + 𝑥2 = 4 𝐾 = 1,3 ∶ 𝑥1 + 𝑥3 ≥ 3 => 𝑥2 ≤ 8 − 𝑥1 + 𝑥3 = 5 𝐾 = 2,3 ∶ 𝑥2 + 𝑥3 ≥ 5 => 𝑥1 ≤ 8 − 𝑥2 + 𝑥3 = 3 31 Пример 1 32 Пример 2 Торговцу картинами в руки попало редкое полотно, которое он оценивает самое меньшее в а1 долларов. Он хотел бы продать картину одному из двух своих знакомым галеристов, которые оценивают картину в а2 и а3 долларов соответственно, причём а1 < а2 < а3 . Если торговец ни с кем не договорится, то он останется при своих, то есть 𝑣 1 = 𝑎1 . Галеристы же ни по одному, ни даже вместе, никак картиной не завладеют. Поэтому 𝑣 2 = 𝑣 3 = 𝑣 2,3 = 0. Если же торговец договорится о продаже со вторым галеристом, то картина уйдет не меньше, чем за а3 долларов, аналогично при сделке с первым галеристом. Характеристическая функция игры: 33 Пример 2 • 𝐾 = 1,2 ∶ 𝑥1 + 𝑥2 ≥ 𝑎3 => 𝑥3 ≤ 𝑎3 − 𝑥1 + 𝑥2 = 𝑎3 − 𝑎2 • 𝐾 = 1,3 ∶ 𝑥1 + 𝑥3 ≥ 𝑎3 => 𝑥2 ≤ 𝑎3 − 𝑥1 + 𝑥3 = 0 • 𝐾 = 2,3 ∶ 𝑥2 + 𝑥3 ≥ 0 => 𝑥1 ≤ 𝑎3 − 𝑥2 + 𝑥3 = 𝑎3 34 Пример 2 Таким образом, второй галерист может купить картину за любую сумму 𝛼 при условии , что 𝛼1 ≤ 𝛼2 ≤ 𝛼3 . Торговец получает выигрыш 𝛼 , второй галерист – картину, а первый вообще не учавствует в дележе. Интересно, что если бы не было первого галериста, то второй мог бы рассчитывать купить картину и меньше, чем за а2 долларов, однако наличие соперника заставляет тратить больше 35