русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Приведение матричной игры к задаче линейного программирования


Дата добавления: 2015-07-09; просмотров: 1489; Нарушение авторских прав


 

 

Общая постановка задачи о нахождении решения игры m´n. Пусть дана игра m´n с m стратегиями А1, А2,..., Аm игрока А и n стратегиями В1, В2,..., Вn игрока В и задана платежная матрица .

Требуется найти решение игры, т.е. две оптимальные смешанные стратегии игроков А и В:

 

где p1 +... +pm = 1, q1 + ... + qn = 1 (некоторые из чисел рi и qj могут быть равными нулю.

Наша оптимальная стратегия SA* должна обеспечивать нам выигрыш, не меньший n, при любом поведении противника, и выигрыш, равный n, при его оптимальном поведении (стратегия SB*). Аналогично стратегия SB* должна обеспечивать противнику проигрыш, не больший n, при любом нашем поведении, и равный v, при нашем оптимальном Поведении (стратегия SA*).

Величина цены игры n в данном случае нам неизвестна; будем считать, что она равна некоторому положительному числу. Полагая так, мы не нарушаем общности рассуждений; для того чтобы было v>0, достаточно, чтобы все элементы матрицы были неотрицательными. Этого всегда можно добиться, прибавляя к элементам достаточно большую положительную величину L; при этом цена игры увеличится на L, а решение не изменится.

Пусть мы выбрали свою оптимальную стратегию SA*. Тогда наш передний выигрыш при стратегии Вj противника будет равен:

 

aj= p1 a1j + p2 a2j + …+ pm amj.

 

Наша оптимальная стратегия SA* обладает тем свойством, что при любом поведении противника обеспечивает выигрыш, не меньший чем v; следовательно, любое из чисел аj не может быть меньше v. Получаем ряд условий:

 

(5.2)

 

Разделим неравенства (5.2) на положительную величину v и обозначим:

 

 

Тогда условия (5.2) запишутся в виде:

 

(5.3)

 

где x1, x2,…, xm — неотрицательные числа. Так как р1, р2, + ... +рm =1, то величины x1, x2,… xm удовлетворяют условию:



 

(5.4)

 

Мы хотим сделать свой гарантированный выигрыш максимально возможным; очевидно, при этом правая часть равенства (5.4) принимает минимальное значение.

Таким образом, задача нахождения решения игры сводится к следующей математической задаче: определить неотрицательные величины x1, x2,…, xm, удовлетворяющие условиям (5.3) так, чтобы, их сумма

была минимальной.

Обычно при решении задач, связанных с нахождением экстремальных значений (максимумов и минимумов), функцию дифференцируют и приравнивают производные нулю. Но такой прием в данном случае бесполезен, так как функция Ф, которую нужно обратить в минимум, линейна, и ее производные по всем аргументам равны единице, т.е. нигде не обращаются в нуль. Следовательно, максимум функции достигается где-то на границе области изменения аргументов, которая определяется требованием неотрицательности аргументов и условиями (5.3). Прием нахождения экстремальных значений при помощи дифференцирования непригоден и в тех случаях, когда для решения игры определяется максимум нижней (или минимум верхней) границы выигрыша, как мы, например, делали при решении игр 2´n. Действительно, нижняя граница составлена из участков прямых линий, и максимум достигается не в точке, где производная равна нулю (такой точки вообще нет), а на границе интервала или в точке пересечения прямолинейных участков.

Для решения подобных задач применяется специальный аппарат линейного программирования.

Задача линейного программирования ставится следующим образом.

Дана система линейных уравнений:

 

(5.5)

 

Требуется найти неотрицательные значения величин x1, x2,…, xm, удовлетворяющие условиям (5.5) и вместе с тем обращающие в минимум заданную однородную линейную функцию величин x1, x2,…, xm, (линейную форму):

 

 

Поставленная выше задача теории игр является частным случаем задачи линейного программирования при с1= с2=…= сm=1.

Спервого взгляда может показаться, что условия (5.3) не эквивалентны условиям (5.5), так как вместо знаков равенства они содержат знаки неравенства. Однако от знаков неравенства легко избавиться, вводя новые фиктивные неотрицательные переменные z1, z2,…, zn и записывая условия (5.3) в виде:

 

(5.5)

 

Линейная форма Ф, которую нужно обратить в минимум, равна:

 

 

Аппарат линейного программирования позволяет путем сравнительно небольшого числа последовательных проб подобрать величины удовлетворяющие поставленным требованиям. Для большей ясности рассмотрим применение этого аппарата прямо на материале решения конкретных игр.

Пример 1. Требуется найти решение игры 3´3, с матрицей:

 

А В B1 B2 B3
A1 –3
A2 –3 –5
A3 –5

 

Чтобы сделать все аij неотрицательными, прибавим ко всем элементам матрицы L = 5. Получим матрицу:

 

А В B1 B2 B3
A1
A2
A3

 

При этом цена игры увеличится на 5, а решение не изменится. Определим оптимальную стратегию SA*. Условия (5.3) имеют вид:

 

(5.7)

 

где

Чтобы избавиться от знаков неравенства, введем фиктивные переменные z1, z2,…, zn; условия (5.7) запишутся в виде:

 

(5.8)

 

Линейная форма Ф имеет вид:

 

 

и должна быть сделана как можно меньше.

Если все три стратегии В являются "полезными", то все три фиктивные переменные x1, x2, x3 обратятся в нуль (т.е. выигрыш, равный цене игры n, будет достигаться при каждой стратегии Вj). Но мы пока не имеем оснований утверждать, что все три стратегии являются "полезными". Чтобы проверить это, попытаемся выразить форму Ф через фиктивные переменные z1, z2, z3 и посмотрим, добьемся ли мы, полагая их равными нулю, минимума формы Для этого разрешим уравнения (5.8) относительно переменных x1, x2, x3 (т.е. выразим x1, x2, x3 через фиктивные переменные z1, z2, z3):

 

(5.9)

 

Складывая x1, x2, x3, получим:

(5.10)

 

В выражении (5.10) коэффициенты при всех z положительны, значит, любое увеличение z1, z2, z3 сверх нуля может привести только к увеличению формы Ф, а мы хотим, чтобы она была минимальна. Следовательно, значениями z1, z2, z3 обращающими форму (5.10) в минимум, являются:

z1=z2=z3=0.

 

Подставляя их в формулу (5.10), находим минимальное значение формы Ф:

 

откуда цена игры:

n=5.

Подставляя нулевые значения z1, z2, z3 в формулы (5.9), находим:

 

или, умножая их на n,

 

 

Таким образом, оптимальная стратегия А найдена:

 

 

т.е. мы должны в одной четверти всех случаев писать цифру 1, в половине случаев 2 и в остальной четверти случаев 3.

Зная цену игры n = 5, можно уже известными способами найти оптимальную стратегию противника:

 

Для этого воспользуемся нашими любыми двумя "полезными" стратегиями (например, А2 и А3) и напишем уравнения:

 

 

откуда Оптимальная стратегия противника будет такой же, как наша:

 

Теперь вернемся к первоначальной (не преобразованной) игре.

Для этого нужно только от цены игры n = 5 отнять величину L = 5, прибавленную к элементам матрицы. Получим цену исходной игры: n0 = 0. Следовательно, оптимальные стратегии обеих сторон обеспечивают средний выигрыш, равный нулю; игра в одинаковой мере выгодна или невыгодна для обеих сторон.

 

 



<== предыдущая лекция | следующая лекция ==>
Методы решения простейших игровых задач | Моделирование экономических ситуаций в терминах


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.377 сек.