Приведення матричної гри до завдання лінійного програмування


       Гра m*n в загальному випадку не має наочної геометричної інтерпретації. Її рішення достатнє трудомістко при великих m і n, проте принципових труднощів не має, оскільки може бути зведено до рішення задачі лінійного програмування. Покажемо це. Нехай гра m * n задана платіжною матрицею p = (aij ), i = 1, 2 ..., m; j = 1, 2 ..., n. Гравець А володіє стратегіями A1, A2 ..., Am, гравець В - стратегіями B1, B2 ..., Bm . Необхідно визначити оптимальні стратегії S*a = ( p*1, p*2 ..., p*m ) і S*b = ( q*1, q*2 ..., q*n ), де p*i, q*j - вірогідність застосування відповідних чистих стратегій Ai, Bj, p*1 + p*2 +...+ p*m =1, q*1 + q*2 +...+ q*n = 1.
       Оптимальна стратегія S*a задовольняє наступній вимозі. Вона забезпечує гравцеві А середній виграш, не менший, ніж ціна гри v, при будь-якій стратегії гравця В і виграш, рівний ціні гри v, при оптимальній стратегії гравця B. Без обмеження спільності вважаємо v > 0: цього можна добитися, зробивши всі елементи aij ? 0. Якщо гравець А застосовує змішану стратегію S*a = ( p*1, p*2 ..., p*m ) проти будь-якої чистої стратегії Bj гравця В, то він отримує середній виграш, або математичне очікування виграшу aj = a1j p1 + a2j p2 +...+ am j pm, про = 1, 2 ..., n (тобто елементи j-го стовпця платіжної матриці почленно умножаються на відповідну вірогідність стратегій A1, A2 ..., Am і результати складаються).
       Для оптимальній стратегії S*a всі середні виграші не менше ціни гри v, тому отримуємо систему нерівностей:
      

(3.11)

       Кожна з нерівностей можна розділити на число v > 0. Введемо нові змінні:
x1 = p1/v, x2 = p2/v , ..., pm/v (3.12)

       Тоді система (11) прийме вигляд:
      
(3.13)

       Мета гравця А - максимізувати свій гарантований виграш, тобто ціну гри v. Розділивши на v ? 0 рівність p1 + p2 + ...+ pm = 1, отримуємо, що змінні x1 (i = 1, 2 ..., m) задовольняють умові: x1 + x2 + ...+ xm = 1/v. Максимізація ціни гри v еквівалентна мінімізації величини 1/v, тому завдання може бути сформульована таким чином: визначити значення змінних xi > 0, i = 1, 2 ..., m, так, щоб вони задовольняли лінійним обмеженням (13) і при цьому лінійна функція
Z = x1 + x2 + ...+ xm, (3.14)
зверталася в мінімум.
Це завдання лінійного програмування. Вирішуючи задачу (3.13) -(3.14), отримуємо оптимальне рішення p*1 + p*2 + ...+ p*m і оптимальну стратегію SA .
      Для визначення оптимальної стратегиі S*b = (q*1 + q*2 + ...+ q*n) слід врахувати, що гравець В прагне мінімізувати гарантований виграш, тобто знайти . Змінні q1, q2 ..., qn задовольняють нерівностям:
(3.15)

які виходять з того, що середній програш гравця В не перевершує ціни гри, яку б чисту стратегію не застосовував, гравець А.
      Якщо позначити
yj = qj/v, j = 1, 2, ..., n, (3.16)

то отримаємо систему нерівностей:
(3.17)

      Змінні yj (1, 2 ..., n) задовольняють умові .
      Гра звелася до наступного завдання Визначити значення змінних yj > 0, j = 1, 2 ..., n, які задовольняють системі нерівностей (3.17) і максимізували лінійну функцію
Z' = y1 + y2 + ...+ yn, (3.18)

      Рішення задачі лінійного програмування (3.16), (3.17) визначає оптимальну стратегію S*b = (q*1 + q*2 + ...+ q*n) . При цьому ціна гри
v = 1 / max, Z' = 1 / min Z (3.19)

      Склавши розширені матриці для завдань (3.13), (3.14) і (3.17), (3.18), переконуємося, що одна матриця вийшла з іншої транспонуванням:
      

      Таким чином, завдання лінійного програмування (3.13), (3.14) і (3.17), (3.18) є взаємно-подвійними. Очевидно, при визначенні оптимальних стратегій в конкретних завданнях слід вибрати ту з взаємно-подвійних завдань, решеніє якій менш трудомістко, а рішення іншої задачі знайти за допомогою теорем подвійності. Приведемо приклади економічних завдань, які описуються ігровими моделями т х п і можуть бути вирішені методами лінійного програмування.

       При вирішенні довільної кінцевої гри розміру m*n рекомендується дотримуватися наступної схеми:
  1. Виключити з платіжної матриці свідомо невигідні стратегії в порівнянні з іншими стратегіями. Такими стратегіями для гравця А (гравця В) є ті, яким відповідають рядки (стовпці) з елементами, свідомо меншими (великими) в порівнянні з елементами інших рядків (стовпців).
  2. .Визначити верхню і нижню ціни гри і перевірити, чи має гра сідлову точку. Якщо сідлова точка є, то відповідні нею стратегії гравців будуть оптимальними, а ціна співпадає з верхньою (ніжней) ціною.
  3. Якщо сідлова точка відсутня, то рішення слід шукати в змішаних стратегіях. Для ігор розміру m ? n рекомендується сімплексний метод, для ігор розміру 2*2, 2*n, n*2 можливе геометричне рішення.

      На практиці реалізація оптимального рішення у змішаних стратегіях може відбуватися декількома шляхами. Перший полягає у фізичному змішенні чистих стратегій Ai - в пропорціях, заданих вірогідністю pi .
      Інший шлях - при багатократному повторенні гри - в кожній партії чисті стратегії застосовуються у вигляді випадкової послідовності, причому кожна з них - з частотою, рівній її імовірності в оптимальному рішенні.