Решение игры в смешанных стратегиях

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ 

ХИБИНСКИЙ ТЕХНИЧЕСКИЙ КОЛЛЕДЖ 
 
 
 
 

  Отделение очное 

  Специальность 220105 "Программное обеспечение вычислительной техники и

автоматизированных  систем"  
 
 
 
 
 
 
 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 

К КУРСОВОМУ ПРОЕКТУ 
 

 ПО ДИСЦИПЛИНЕ: Математические методы 

НА ТЕМУ: Решение игры в смешанных стратегиях 
 
 
 
 
 
 

Студента    Дроздова А. В.   группы 3 ПВТ 

Руководитель  проекта  Веревкина Г.Е. 
 
 
 
 
 

Кировск

2008

содержание

 

ВВЕДЕНИЕ

   Возникновение математических методов относят  к годам Второй Мировой Войны. При генеральных штабах существовали группы математиков, военных специалистов, которые занимались планированием  военных действий. Каждое действие называется операцией поэтому «математические методы» можно назвать «исследование операции». Построение модели каждой такой операции выполнялось совместным участием специалистов различного профиля.

   Математические  методы как наука возникла из необходимости  систематизировать решения и обосновывать его, которое необходимо принимать в различных сферах (в научных и практических) деятельности человека.

   Математические  методы базируются на теоретических  занятиях по математике, системном  анализе и программировании.

   Системный анализ создает методологию подхода к исследованию объектов любой природы.

   Математика  – это аналитический инструмент решения различных задач.

   Программирование  – это технический инструмент при решении задач.

   Модель  – это материально и мысленно представляемый объект, который в процессе познания замещает объект.

   Цель  курсового проекта это решить поставленную задачу.

   Задачи  курсового проектирования заключаются  в нахождении оптимальности стратегии  игры двух игроков, проверки решения  расчетов на бумаге с расчетами на компьютере, поиск литературы для своей темы. Задача носит прикладной характер так как может применятся в военном деле, в спортивных мероприятиях.

 

ОБЩАЯ ЧАСТЬ

1.1 Математическое моделирование

 ЭВМ прочно вошла в нашу жизнь, и практически  нет такой области человеческой деятельности, где не применялась бы ЭВМ. ЭВМ сейчас широко используется в процессе создания и исследования новых машин, новых технологических процессов и поиске их оптимальных вариантов; при решении экономических задач, при решении задач планирования и управления производством на различных уровнях. Создание же крупных объектов в ракетотехнике, авиастроении, судостроении, а также проектирование плотин, мостов, и др. вообще невозможно без применения ЭВМ.

 Для использования ЭВМ при решении  прикладных задач, прежде всего прикладная задача должна быть "переведена" на формальный математический язык, т.е. для реального объекта, процесса или системы должна быть построена его математическая модель.

 Слово "Модель" происходит от латинского modus (копия, образ, очертание). Моделирование - это замещение некоторого объекта А другим объектом Б. Замещаемый объект А называется оригиналом или объектом моделирования, а замещающий Б - моделью. Другими словами, модель - это объект-заменитель объекта-оригинала, обеспечивающий изучение некоторых свойств оригинала.

 Целью моделирования являются получение, обработка, представление и использование  информации об объектах, которые взаимодействуют  между собой и внешней средой; а модель здесь выступает как  средство познания свойств и закономерности поведения объекта.

 Математическое моделирование - это средство изучения реального объекта, процесса или системы путем их замены математической моделью, более удобной для экспериментального исследования с помощью ЭВМ.

 Математическое моделирование — процесс построения и изучения математических моделей реальных процессов и явлений. Все естественные и общественные науки, использующие математический аппарат, по сути занимаются математическим моделированием: заменяют реальный объект его моделью и затем изучают последнюю. Как и в случае любого моделирования, математическая модель не описывает полностью изучаемое явление, и вопросы о применимости полученных таким образом результатов являются весьма содержательными. Математическая модель — это упрощенное описание реальности с помощью математических понятий.

 Математическая  модель выражает существенные черты  объекта или процесса языком уравнений и других математических средств. Собственно говоря, сама математика обязана своим существованием тому, что она пытается отразить, т.е. промоделировать, на своем специфическом языке закономерности окружающего мира.

 При математическом моделировании исследование объекта осуществляется посредством модели, сформулированной на языке математики с использованием тех или иных математических методов.

 Путь  математического моделирования  в наше время гораздо более  всеобъемлющ, нежели моделирования натурного. Огромный толчок развитию математического моделирования дало появление ЭВМ, хотя сам метод зародился одновременно с математикой тысячи лет назад.

 Математическое  моделирование как таковое отнюдь не всегда требует компьютерной поддержки. Каждый специалист, профессионально занимающийся математическим моделированием, делает все возможное для аналитического исследования модели. Аналитические решения (т.е. представленные формулами, выражающими результаты исследования через исходные данные) обычно удобнее и информативнее численных. Возможности аналитических методов решения сложных математических задач, однако, очень ограниченны и, как правило, эти методы гораздо сложнее численных.

 Математическая модель является приближенным представлением реальных объектов, процессов или систем, выраженным в математических терминах и сохраняющим существенные черты оригинала. Математические модели в количественной форме, с помощью логико-математических конструкций, описывают основные свойства объекта, процесса или системы, его параметры, внутренние и внешние связи

Все модели можно разделить на два класса:

  1. вещественные,
  2. идеальные.

В свою очередь вещественные модели можно разделить на:

  1. натурные,
  2. физические,
  3. математические.

Идеальные модели можно разделить на:

  1. наглядные,
  2. знаковые,
  3. математические.

 Вещественные  натурные модели - это реальные объекты, процессы и системы, над которыми выполняются эксперименты научные, технические и производственные.

 Вещественные физические модели - это макеты, муляжи, воспроизводящие физические свойства оригиналов (кинематические, динамические, гидравлические, тепловые, электрические, световые модели).

 Вещественные математические - это аналоговые, структурные, геометрические, графические, цифровые и кибернетические модели.

 Идеальные наглядные модели - это схемы, карты, чертежи, графики, графы, аналоги, структурные  и геометрические модели.

 Идеальные знаковые модели - это символы, алфавит, языки программирования, упорядоченная запись, топологическая запись, сетевое представление.

 Идеальные математические модели - это аналитические, функциональные, имитационные, комбинированные модели.

 В приведенной  классификации некоторые модели имеют двойное толкование (например - аналоговые). Все модели, кроме натурных, можно объединить в один класс мысленных моделей, т.к. они являются продуктом абстрактного мышления человека.

1.2 Элементы теории игры

 В общем  случае решение игры представляет довольно трудную задачу, причем сложность задачи и объем необходимых для решения вычислений резко возрастает с увеличением . Однако это трудности не носят принципиального характера и связаны только с очень большим объемом расчетов, который в ряде случаев может оказаться практически невыполнимым. Принципиальная сторона метода отыскания решения остается при любом одной и той же.

 Проиллюстрируем это на примере игры . Дадим ей геометрическую интерпретацию — уже пространственную. Три наши стратегии , изобразим тремя точками на плоскости ; первая лежит в начале координат (рис.1). вторая и третья — на осях Ох и Оу на расстояниях 1 от начала.

 

 рис 1.

 Через точки  проводятся оси I-I, II-II и III-III, перпендикулярные к плоскости . На оси I-I откладываются выигрыши при стратегии на осях II-II и III-III — выигрыши при стратегиях . Каждая стратегия противника изобразится плоскостью, отсекающей на осях I-I, II-II и III-III, отрезки, равные выигрышам

 при соответствующих стратегия и стратегия . Построив, таким образом, все стратегии противника, мы получим семейство плоскостей над треугольником (рис2) .

 

 рис 2 

 Для этого семейства также можно  построить нижнюю границу выигрыша, как мы это делали в случае, и найти на этой границе точку N с максимальной высотой нал плоскостью . Эта высота и будет ценой игры .

 Частоты стратегий в оптимальной стратегии будут определяться координатами (x, у) точки N, а именно:

 Однако  такое геометрическое построение даже для случая нелегко осуществимо и требует большой затраты времени и усилий воображения. В общем же случае игры оно переносится в - мерное пространство и теряет всякую наглядность, хотя употребление геометрической терминологии в ряде случаев может оказаться полезным. При решении игр на практике удобнее пользоваться не геометрическими аналогиями, а расчетными аналитическими методами, тем более, что для решения задачи на вычислительных машинах эти методы единственно пригодны.

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

 Здесь мы вкратце остановимся на одном  расчетном методе решения игр  — на так называемом методе «линейного программирования».

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

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

 

 где (некоторые из чисел и могут быть равными нулю).

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

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

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

 

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

  (1)

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

 

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

  (2)

 где — неотрицательные числа. Так как величины удовлетворяют условию

  (3)

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

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

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

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

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

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

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

  (4)

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

 

 Легко убедиться, что поставленная выше задача теории игр является частным случаем  задачи линейного программирование при 

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

  (5)

 Форма Ф , которую нужно обратить в минимум, равна

 

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

1.3 Симплекс метод (минимум)

 Симплекс  метод - универсальный метод для  решения линейной системы уравнений  или неравенств и линейного функционала.

 Общая идея симплексного метода (метода последовательного улучшения плана) для решения ЗЛП (задачи линейного программирования) состоит

  • умение находить начальный опорный план;
  • наличие признака оптимальности опорного плана;
  • умение переходить к нехудшему опорному плану.

 Пусть ЗЛП представлена системой ограничений  в каноническом виде:

.

 Говорят, что ограничение ЗЛП имеет  предпочтительный вид, если при неотрицательной  правой части  левая часть ограничений содержит переменную, входящую с коэффициентом, равным единице, а в остальные ограничения равенства - с коэффициентом, равным нулю.

 Пусть система ограничений имеет вид

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

 

,

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

 

.

 В целевую  функцию дополнительные переменные вводятся с коэффициентами, равными нулю .

 Пусть далее система ограничений имеет  вид

 

 Сведём  её к эквивалентной вычитанием дополнительных переменных   из левых частей неравенств системы. Получим систему

 

 Однако  теперь система ограничений не имеет предпочтительного вида, так как дополнительные переменные входят в левую часть (при ) с коэффициентами, равными –1. Поэтому, вообще говоря, базисный план не является допустимым. В этом случае вводится так называемый искусственный базис. К левым частям ограничений-равенств, не имеющих предпочтительного вида, добавляют искусственные переменные . В целевую функцию переменные , вводят с коэффициентом М в случае решения задачи на минимум и с коэффициентом -М для задачи на максимум, где М - большое положительное число. Полученная задача называется М-задачей, соответствующей исходной. Она всегда имеет предпочтительный вид.

 Пусть исходная ЗЛП имеет вид 

        (1)

      (2)

             (3)

 причём  ни одно из ограничений не имеет предпочтительной переменной. М-задача запишется так:

       (4)

             (5)

    , ,         (6)

 Задача (4)-(6) имеет предпочтительный план. Её начальный опорный план имеет  вид

 

 Если  некоторые из уравнений (2) имеют предпочтительный вид, то в них не следует вводить искусственные переменные.

Теорема. Если в оптимальном плане 

           (7)

 М-задачи (4)-(6) все искусственные переменные , то план является оптимальным планом исходной задачи (1)-(3).

 Для того чтобы решить задачу с ограничениями, не имеющими предпочтительного вида, вводят искусственный базис и  решают расширенную М-задачу, которая  имеет начальный опорный план

 Решение исходной задачи симплексным методом  путем введения искусственных переменных называется симплексным методом с искусственным базисом.

 Если  в результате применения симплексного метода к расширенной задаче получен  оптимальный план, в котором все искусственные переменные , то его первые n компоненты дают оптимальный план исходной задачи.

 Теорема. Если в оптимальном плане М-задачи хотя бы одна из искусственных переменных отлична от нуля, то исходная задача не имеет допустимых планов, т. е. ее условия несовместны.

 Признаки  оптимальности.

 Теорема. Пусть исходная задача решается на максимум. Если для некоторого опорного плана все оценки неотрицательны, то такой план оптимален.

 Теорема. Если исходная задача решается на минимум и для некоторого опорного плана все оценки неположительны, то такой план оптимален.

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

  1. Ограничения вида «0»- ресурсные ограничения. Справа находится то что мы используем на производстве, слева - то что получаем. При таких ограничения вводят дополнительные переменные с коэффициентом «+1», образующие единичный базис. В целевую функцию эти переменные войдут с коэффициентом «0».
  2. Ограничения вида «=». Часто бывает, что несмотря на то что ограничения имеют вид равенства, единичный базис не выделяется или трудно выделяется. В этом случае вводятся искусственные переменные для создания единичного базиса - Yi. В систему ограничений они входят с коэффициентом «1». а в целевую функцию с коэффициентом «M», стремящимся к бесконечности (при Fmin - «+M», при Fmax - «-M»).
  3. Ограничения вида «0» - Плановые ограничения. Дополнительные переменные (X), несущие определенный экономический смысл - перерасход ресурсов или перевыполнение плана, перепроизводство, добавляются с коэффициентом «-1», в целевую функцию - с коэффициентом «0». А искусственные переменные (Y) как в предыдущем случае.

1.4 Алгоритм решения задач теории игр

 Обозначим некоторые определения.

 Седловой  точкой называется Аij, которая является наименьшим элементом в своей строке и наибольшим элементом в столбце.

 Доминирующая  строка – все элементы этой строки не превосходят соответствующих  элементов другой строки.

 Доминирующий  столбец – все элементы не меньше соответствующих элементов какого-либо другого столбца.

 Доминирующие  столбцы и строки можно удалить из матрицы. 

 Алгоритм  решения

  1. Проверить наличие седловой точки. Если есть седловая точка, то пишем ответ, если нет - продолжаем решение дальше
  2. Удаляем доминирующие строки доминирующие столбцы. Их може6т быть несколько. На их место в оптимальной стратегии соответствующие компоненты будут равны 0
  3. Решаем матричную игру (линейное программирование, графическое решение, приближенное решение)

    В своей  задаче я решаю матричную игру линейным программированием. (Симплекс метод)

    Алгоритм  решения симплекс методом (на максимум):

  1. Привести задачу линейного программирования к каноническому виду.
  2. Найти начальное опорное решение с базисом из единичных векторов и коэффициенты разложений векторов условий по базису опорного решения. Если опорное решение отсутствует, задача не имеет решения ввиду несовместности системы ограничений.
  3. Вычислить оценки разложений векторов условий по базису опорного решения и заполнить симплексную таблицу.
  4. Если выполняется признак единственности оптимального решения, то решение задачи заканчивается.
  5. Если выполняется условие существования множества оптимальных решений, то путем простого перебора найти все оптимальные решения.
  6. Если имеют место условия неограниченности целевой функции, то задача не имеет решения.
  7. Если пункты 4—6 алгоритма не выполняются, найти новое опорное решение и перейти к пункту 3.

 

2 СПЕЦИАЛЬНАЯ ЧАСТЬ (РАСЧЕТНАЯ)

2.1 Исходные данные