Автор работы: Пользователь скрыл имя, 22 Февраля 2011 в 12:15, курсовая работа
Цель курсовой работы изучить некоторые методы приближённого решения матричных игр, обосновать их алгоритмы, и, по возможности, реализовать на языке программирования.
Введение 2
Теория игр. 3
КЛАССИФИКАЦИЯ ИГР. 3
ГЛАВА 1. МАТРИЧНЫЕ ИГРЫ. 4
§ 1. РЕШЕНИЕ МАТРИЧНЫХ ИГР В ЧИСТЫХ СТРАТЕГИЯХ. 4
§ 2. СМЕШАННОЕ РАСШИРЕНИЕ МАТРИЧНОЙ ИГРЫ. 7
§ 3. СВОЙСТВА РЕШЕНИЙ МАТРИЧНЫХ ИГР. 8
§ 4. ИГРЫ ПОРЯДКА 2 х 2. 12
§5. СВЕДЕНИЕ МАТРИЧНОЙ ИГРЫ К ЗАДАЧЕ 13
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 13
Глава 2. КООПЕРАТИВНЫЕ ИГРЫ 16
§ 1. ПЕРЕЧИСЛЕНИЕ ХАРАКТЕРИСТИЧЕСКИХ ФУНКЦИЙ 20
С МАЛЫМ ЧИСЛОМ ИГРОКОВ. 20
Заключение 33
Список использованной литературы 34
Содержание
Математическая теория игр способна не только указать оптимальный путь к решению некоторых проблем, но и прогнозировать их исход. Матричные игры серьёзно изучаются специалистами, так как они довольно просты и к ним могут быть сведены игры общего вида. Поэтому теория матричных игр хорошо развита, существуют различные методы поиска решения игр.
Но в большинстве случаев решение матричных игр представляет собой трудный и громоздкий процесс. Есть примеры, когда даже для матриц размера 3´3, процесс поиска решения довольно трудоёмкий. Кроме того, выигрыши игроков в каждой ситуации не всегда определяются точными измерениями. В процессе сбора данных об изучаемом явлении, анализа этих данных и введения при построении модели различных предположений накапливаются ошибки. Они же могут выражаться числами в матрице выигрышей. Поэтому точность в определении значения игры и оптимальных стратегий игроков оправдана не всегда. А также, следует заметить, что погрешность в оценке игроком своего выигрыша не может привести к практически серьёзным последствиям и небольшое отклонение игрока от оптимальной стратегии не влечёт за собой существенного изменения в его выигрыше. Поэтому возникает потребность в разработке численных методов решения матричных игр. В настоящее время в теории игр известны несколько способов приближенного решения матричных игр.
Цель курсовой работы изучить некоторые методы приближённого решения матричных игр, обосновать их алгоритмы, и, по возможности, реализовать на языке программирования.
Классификацию игр можно проводить: по количеству игроков, количеству стратегий, характеру взаимодействия игроков, характеру выигрыша, количеству ходов, состоянию информации и т.д.
В зависимости от количества игроков различают игры двух и n игроков. Первые из них наиболее изучены. Игры трёх и более игроков менее исследованы из-за возникающих принципиальных трудностей и технических возможностей получения решения. Чем больше игроков - тем больше проблем.
По количеству стратегий игры делятся на конечные и бесконечные. Если в игре все игроки имеют конечное число возможных стратегий, то она называется конечной. Если же хотя бы один из игроков имеет бесконечное количество возможных стратегий игра называется бесконечной.
По характеру взаимодействия игры делятся на:
В кооперативных играх коалиции наперёд определены.
По характеру выигрышей игры делятся на: игры с нулевой суммой (общий капитал всех игроков не меняется, а перераспределяется между игроками; сумма выигрышей всех игроков равна нулю) и игры с ненулевой суммой.
По виду функций выигрыша игры делятся на: матричные, биматричные, непрерывные, выпуклые, сепарабельные, типа дуэлей и др.
Матричная игра – это конечная игра двух игроков с нулевой суммой, в которой задаётся выигрыш игрока 1 в виде матрицы (строка матрицы соответствует номеру применяемой стратегии игрока 2, столбец – номеру применяемой стратегии игрока 2; на пересечении строки и столбца матрицы находится выигрыш игрока 1, соответствующий применяемым стратегиям).
Для матричных игр доказано, что любая из них имеет решение и оно может быть легко найдено путём сведения игры к задаче линейного программирования.
Биматричная игра – это конечная игра двух игроков с ненулевой суммой, в которой выигрыши каждого игрока задаются матрицами отдельно для соответствующего игрока (в каждой матрице строка соответствует стратегии игрока 1, столбец – стратегии игрока 2, на пересечении строки и столбца в первой матрице находится выигрыш игрока 1, во второй матрице – выигрыш игрока 2.)
Для
биматричных игр также
Непрерывной считается игра, в которой функция выигрышей каждого игрока является непрерывной в зависимости от стратегий. Доказано, что игры этого класса имеют решения, однако не разработано практически приемлемых методов их нахождения.
Если
функция выигрышей является выпуклой,
то такая игра называется выпуклой.
Для них разработаны приемлемые методы
решения, состоящие в отыскании чистой
оптимальной стратегии (определённого
числа) для одного игрока и вероятностей
применения чистых оптимальных стратегий
другого игрока. Такая задача решается
сравнительно легко.
Матричная игра двух игроков с нулевой суммой может рассматриваться как следующая абстрактная игра двух игроков.
Первый игрок имеет m стратегий i = 1,2,...,m, второй имеет n стратегий j = 1,2,...,n. Каждой паре стратегий (i,j) поставлено в соответствие число аij, выражающее выигрыш игрока 1 за счёт игрока 2, если первый игрок примет свою i-ю стратегию, а 2 – свою j-ю стратегию.
Каждый из игроков делает один ход: игрок 1 выбирает свою i-ю стратегию (i= ), 2 – свою j-ю стратегию (j= ), после чего игрок 1 получает выигрыш аij за счёт игрока 2 (если аij< 0, то это значит, что игрок 1 платит второму сумму | аij | ). На этом игра заканчивается.
Каждая стратегия игрока i= ; j = часто называется чистой стратегией.
Если
рассмотреть матрицу
А
=
то проведение каждой партии матричной игры с матрицей А сводится к выбору игроком 1 i-й строки, а игроком 2 j-го столбца и получения игроком 1 (за счёт игрока 2) выигрыша аij.
Главным в исследовании игр является понятие оптимальных стратегий игроков. В это понятие интуитивно вкладывается такой смысл: стратегия игрока является оптимальной, если применение этой стратегии обеспечивает ему наибольший гарантированный выигрыш при всевозможных стратегиях другого игрока. Исходя из этих позиций, игрок 1 исследует матрицу выигрышей А следующим образом: для каждого значения i (i = ) определяется минимальное значение выигрыша в зависимости от применяемых стратегий игрока 2
т.е. определяется минимальный выигрыш для игрока 1 при условии, что он примет свою i-ю чистую стратегию, затем из этих минимальных выигрышей отыскивается такая стратегия i = iо, при которой этот минимальный выигрыш будет максимальным, т.е. находится
Определение. Число , определённое по формуле (1) называется нижней чистой ценой игры и показывает, какой минимальный выигрыш может гарантировать себе игрок 1, применяя свои чистые стратегии при всевозможных действиях игрока 2.
Игрок
2 при оптимальном своём
т.е. определяется max выигрыш игрока 1, при условии, что игрок 2 применит свою j-ю чистую стратегию, затем игрок 2 отыскивает такую свою j = j1 стратегию, при которой игрок 1 получит min выигрыш, т.е. находит
Определение. Число , определяемое по формуле (2), называется чистой верхней ценой игры и показывает, какой максимальный выигрыш за счёт своих стратегий может себе гарантировать игрок 1.
Другими словами, применяя свои чистые стратегии игрок 1 может обеспечить себе выигрыш не меньше , а игрок 2 за счёт применения своих чистых стратегий может не допустить выигрыш игрока 1 больше, чем .
Определение. Если в игре с матрицей А = , то говорят, что эта игра имеет седловую точку в чистых стратегиях и чистую цену игры
u =
Седловая точка – это пара чистых стратегий (iо,jо) соответственно игроков 1 и 2, при которых достигается равенство = . В это понятие вложен следующий смысл: если один из игроков придерживается стратегии, соответствующей седловой точке, то другой игрок не сможет поступить лучше, чем придерживаться стратегии, соответствующей седловой точке. Математически это можно записать и иначе:
где i, j – любые чистые стратегии соответственно игроков 1 и 2; (iо,jо) – стратегии, образующие седловую точку.
Таким
образом, исходя из (3), седловой элемент
является минимальным в iо-й
строке и максимальным в jо-м столбце
в матрице А. Отыскание седловой точки
матрицы А происходит следующим образом:
в матрице А последовательно в каждой
строке находят минимальный элемент
и проверяют, является ли этот элемент
максимальным в своём столбце. Если
да, то он и есть седловой элемент, а пара
стратегий, ему соответствующая, образует
седловую точку. Пара чистых стратегий
(iо,jо) игроков
1 и 2, образующая седловую точку и седловой
элемент
, называется решением
игры. При этом iо
и jо называются оптимальными
чистыми стратегиями
соответственно игроков 1 и 2.
Пример 1
Седловой точкой является пара (iо = 3; jо = 1), при которой u = = = 2.
Заметим, что хотя выигрыш в ситуации (3;3) также равен 2 = = , она не является седловой точкой, т.к. этот выигрыш не является максимальным среди выигрышей третьего столбца.
Пример
2
Из
анализа матрицы выигрышей видно,
что
, т.е. данная матрица не имеет седловой
точки. Если игрок 1 выбирает свою чистую
максиминную стратегию i
= 2, то игрок 2, выбрав свою минимаксную
j = 2, проиграет только 20. В этом случае
игроку 1 выгодно выбрать стратегию i =
1, т.е. отклониться от своей чистой максиминной
стратегии и выиграть 30. Тогда игроку 2
будет выгодно выбрать стратегию j
= 1, т.е. отклониться от своей чистой минимаксной
стратегии и проиграть 10. В свою очередь
игрок 1 должен выбрать свою 2-ю стратегию,
чтобы выиграть 40, а игрок 2 ответит выбором
2-й стратегии и т.д.
Исследование в матричных играх начинается с нахождения её седловой точки в чистых стратегиях. Если матричная игра имеет седловую точку в чистых стратегиях, то нахождением этой седловой точки заканчивается исследование игры. Если же в игре нет седловой точки в чистых стратегиях, то можно найти нижнюю и верхнюю чистые цены этой игры, которые указывают, что игрок 1 не должен надеяться на выигрыш больший, чем верхняя цена игры, и может быть уверен в получении выигрыша не меньше нижней цены игры. Улучшение решений матричных игр следует искать в использовании секретности применения чистых стратегий и возможности многократного повторения игр в виде партии. Этот результат достигается путём применения чистых стратегий случайно, с определённой вероятностью.
Определение. Смешанной стратегией игрока называется полный набор вероятностей применения его чистых стратегий.
Таким образом, если игрок 1 имеет m чистых стратегий 1,2,...,m, то его смешанная стратегия x – это набор чисел x = (x1, ..., xm) удовлетворяющих соотношениям
xi ³
0 (i
= 1,m),