Теорія ігор онлайн калькулятор з покроковим розв'язком

Коментарі рішення
Без опису (тільки відповідь)

a

b

c

d

x

y

z

AC

i

ab
x2
xn

Randomize

Формат чисел
313131313135151515151552188552198585858586
Округлити до
Знаків після коми
10
=Розв'язати

  Про калькулятор теорії ігор

Розв'яжіть матричні ігри за теорією ігор онлайн — мінімакс, максимін, змішані стратегії через лінійне програмування, з детальним покроковим розв'язком. з повним, детальним, покроковим описом розв'язань, що розв'язує задачі лінійного програмування розміром до 20×20 з коефіцієнтами таких типів: десяткові числа та дроби.

Щоб почати обчислення, спочатку необхідно ввести розміри задачі у поля вводу у верхній частині екрана, а також вибрати потрібну операцію з бічного меню.

Нижче знаходиться вікно вводу, де за допомогою клавіатури потрібно ввести коефіцієнти, обмеження та значення правих частин. Тут також розташована панель керування вводом, яка спрощує роботу із задачами ЛП і містить такі елементи керування:

  • Перший елемент дозволяє розгорнути вікно вводу. Це може бути особливо корисно, коли таблиця не вміщається повністю на екрані. Якщо таблиця все ще не повністю видна після розгортання вікна, можна змінити масштаб за допомогою кнопок + / -;
  • Другий елемент копіює поточні вхідні дані задачі до буфера пам'яті. Це може бути корисно, коли ви часто розв'язуєте ту саму задачу ЛП або потрібно переносити дані між операціями;
  • Останній елемент вставляє раніше скопійовані вхідні дані, що дозволяє відновити дані задачі лише кількома кліками замість повторного введення вручну;

Далі внизу знаходиться панель інструментів, яка дозволяє налаштувати калькулятор та спростити роботу з ним. Вона візуально розділена на три частини, кожна з яких відповідає за таку функціональність:

  • Перша частина дозволяє вибрати формат чисел при відображенні результату розв'язання. Також можна вимкнути покрокові коментарі, якщо ви вже розумієте метод і потребуєте лише перевірки власних обчислень, або приховати покрокове розв'язання повністю, якщо потрібна лише кінцева відповідь;
  • Друга частина містить кнопки для зміни розмірів таблиці вводу, очищення окремих коефіцієнтів або всього вводу, а також головну кнопку зі знаком рівності, що переводить на екран розв'язання. Всі ці кнопки продубльовані клавіатурними скороченнями. Наведіть курсор на кнопку, щоб побачити відповідну клавішу у підказці. Також можна використовувати клавіші зі стрілками для переміщення курсора між полями вводу;
  • Остання частина дозволяє вибрати кількість знаків після коми для округлення нецілих результатів. Попередній перегляд показує, як виглядатимуть округлені значення;

  Що таке матрична гра (теорія ігор)?

Матрична гра — це скінченна двогравцева гра з нульовою сумою, де гравець 1 обирає рядок, а гравець 2 одночасно обирає стовпець платіжної матриці; гравець 1 отримує відповідний елемент, а гравець 2 його виплачує. Теорема мінімаксу гарантує, що кожна скінченна гра з нульовою сумою має ціну — суму, яку гравець 1 може гарантувати незалежно від стратегії гравця 2, — досягнуту або в чистих стратегіях (сідлова точка), або в змішаних стратегіях (розподіли ймовірностей по рядках і стовпцях).

  Як знайти розв'язок у чистих стратегіях (сідлова точка)?

Для кожного рядка знайдіть мінімум рядка (найгірша виплата, яку гравець 1 може гарантувати, обравши цей рядок). Для кожного стовпця знайдіть максимум стовпця (найгірше, що може гарантувати гравець 2, обравши цей стовпець). Якщо максимум мінімумів рядків дорівнює мінімуму максимумів стовпців, то в цьому елементі існує сідлова точка; ціна гри дорівнює цьому спільному числу, і обидва гравці повинні використовувати відповідну чисту стратегію.

  Як знайти розв'язок у змішаних стратегіях?

Якщо сідлової точки немає, обидва гравці повинні рандомізувати. Задача зводиться до задачі лінійного програмування: зсунути платіжну матрицю на константу, щоб усі елементи стали додатними, після чого оптимальна змішана стратегія гравця 1 розв'язує стандартну ЗЛП, змінними якої є (нормалізовані) ймовірності стратегій. Наш калькулятор розв'язує внутрішню ЗЛП симплекс-методом на транспонованій платіжній матриці (міняючи ролі гравців) і відновлює змішані стратегії обох гравців з прямого та двоїстого розв'язків відповідно.

  Приклад розв'язання матричної гри

B1B2B3min
A12432t1
A23141t2
A34322t3
max444
Нижня ціна гри (максимін)
α = 2
Верхня ціна гри (мінімакс)
β = 4
α ≠ β — сідлової точки немає. Розв'яжемо матричну гру шляхом зведення до задачі лінійного програмування.
F(x) = x1+x2+x3 → min
F(x) = x1+x2+x3+0x4+0x5+0x6+Mx7+Mx8+Mx9 → min
2x1+3x2+4x31
2x1+3x2+4x3-x4+x7 = 1
4x1+x2+3x31
4x1+x2+3x3-x5+x8 = 1
3x1+4x2+2x31
3x1+4x2+2x3-x6+x9 = 1

Попередній етап починається з необхідності позбутися від'ємних значень у правій частині обмежень. Для цього відповідні обмеження множаться на -1. Після цієї маніпуляції знак нерівності змінюється на протилежний.

Далі необхідно позбутися нерівностей, для чого вводимо компенсуючі змінні в ліву частину нерівностей. Якщо нерівність виду ≤, то компенсуюча змінна має знак +, якщо нерівність виду ≥, то компенсуюча змінна має знак -. Компенсуючі змінні входять до цільової функції задачі з нульовим коефіцієнтом.

Тепер у системі обмежень необхідно знайти достатню кількість базисних змінних. Кожне обмеження повинно мати одну базисну змінну. Базисна — це змінна, яка має коефіцієнт 1 при ній та зустрічається лише в одному обмеженні. Якщо в деякому обмеженні базисних змінних немає, то ми додаємо їх штучно, і штучні змінні входять до цільової функції з коефіцієнтом -M, якщо цільова функція прямує до max, і M, якщо цільова функція прямує до min.

Опис
2
Ітерація 1
BCbPx1x2x3x4x5x6x7x8x9Q
111000MMM
x7M1234-10010012
x8M14130-1001014
x9M134200-100113
min3M9M-18M-19M-1-M-M-M000

Елементи стовпця базису (B)

Переносимо до таблиці базисні елементи, які були визначені на попередньому етапі:

B1 = x7;

B2 = x8;

B3 = x9;

Елементи стовпця Cb

Кожна клітинка цього стовпця дорівнює коефіцієнту, який відповідає базисній змінній у відповідному рядку.

Cb1 = M;

Cb2 = M;

Cb3 = M;

Значення вільних змінних і стовпця P

На цьому етапі обчислень не потрібно, просто переносимо значення з попереднього етапу до відповідних клітинок таблиці:

P1 = 1;

P2 = 1;

P3 = 1;

x1,1 = 2;

x1,2 = 3;

x1,3 = 4;

x1,4 = -1;

x1,5 = 0;

x1,6 = 0;

x1,7 = 1;

x1,8 = 0;

x1,9 = 0;

x2,1 = 4;

x2,2 = 1;

x2,3 = 3;

x2,4 = 0;

x2,5 = -1;

x2,6 = 0;

x2,7 = 0;

x2,8 = 1;

x2,9 = 0;

x3,1 = 3;

x3,2 = 4;

x3,3 = 2;

x3,4 = 0;

x3,5 = 0;

x3,6 = -1;

x3,7 = 0;

x3,8 = 0;

x3,9 = 1;

Значення цільової функції

Обчислюємо значення цільової функції шляхом поелементного множення стовпця Cb на стовпець P та підсумовування результатів добутків.

MinP = (Cb1 * P1) + (Cb2 * P2) + (Cb3 * P3) = (M * 1) + (M * 1) + (M * 1) = 3M;

Оцінки керованих змінних

Обчислюємо оцінки для кожної керованої змінної шляхом поелементного множення значень зі стовпця змінної на значення зі стовпця Cb, підсумовування результатів добутків та віднімання коефіцієнта цільової функції з їх суми для цієї змінної.

Minx1 = ((Cb1 * x1,1) + (Cb2 * x2,1) + (Cb3 * x3,1)) - kx1 = ((M * 2) + (M * 4) + (M * 3)) - 1 = 9M-1;

Minx2 = ((Cb1 * x1,2) + (Cb2 * x2,2) + (Cb3 * x3,2)) - kx2 = ((M * 3) + (M * 1) + (M * 4)) - 1 = 8M-1;

Minx3 = ((Cb1 * x1,3) + (Cb2 * x2,3) + (Cb3 * x3,3)) - kx3 = ((M * 4) + (M * 3) + (M * 2)) - 1 = 9M-1;

Minx4 = ((Cb1 * x1,4) + (Cb2 * x2,4) + (Cb3 * x3,4)) - kx4 = ((M * -1) + (M * 0) + (M * 0)) - 0 = -M;

Minx5 = ((Cb1 * x1,5) + (Cb2 * x2,5) + (Cb3 * x3,5)) - kx5 = ((M * 0) + (M * -1) + (M * 0)) - 0 = -M;

Minx6 = ((Cb1 * x1,6) + (Cb2 * x2,6) + (Cb3 * x3,6)) - kx6 = ((M * 0) + (M * 0) + (M * -1)) - 0 = -M;

Minx7 = ((Cb1 * x1,7) + (Cb2 * x2,7) + (Cb3 * x3,7)) - kx7 = ((M * 1) + (M * 0) + (M * 0)) - M = 0;

Minx8 = ((Cb1 * x1,8) + (Cb2 * x2,8) + (Cb3 * x3,8)) - kx8 = ((M * 0) + (M * 1) + (M * 0)) - M = 0;

Minx9 = ((Cb1 * x1,9) + (Cb2 * x2,9) + (Cb3 * x3,9)) - kx9 = ((M * 0) + (M * 0) + (M * 1)) - M = 0;

Елементи стовпця Q

Оскільки серед оцінок керованих змінних є додатні значення, поточна таблиця ще не має оптимального розв'язку. Тому до базису вводимо змінну з найбільшою додатною оцінкою.

Кількість змінних у базисі завжди стала, тому необхідно вибрати, яку змінну виводити з базису, для чого обчислюємо Q.

Елементи стовпця Q обчислюються шляхом ділення значень зі стовпця P на значення зі стовпця, що відповідає змінній, яка вводиться до базису:

Q1 = P1x1,1 = 12 = 12;

Q2 = P2x2,1 = 14 = 14;

Q3 = P3x3,1 = 13 = 13;

Виводимо з базису змінну з найменшим додатним значенням Q.

На перетині рядка, що відповідає змінній, яка виводиться з базису, і стовпця, що відповідає змінній, яка вводиться до базису, знаходиться розв'язуючий елемент.

Цей елемент дозволить нам обчислити елементи таблиці наступної ітерації.

Опис
3
Ітерація 2
BCbPx1x2x3x4x5x6x7x8x9Q
111000MMM
x7M120212212-11201-12015
x1114114340-14001401
x9M140314-14034-10-341113
min34M+140534M-34214M-14-M114M-14-M0-214M+140

Елементи стовпця базису (B)

За результатами обчислень попередньої ітерації виводимо змінну з базису x8 та ставимо на її місце x1. Всі інші клітинки залишаються незмінними.

Елементи стовпця Cb

Кожна клітинка цього стовпця дорівнює коефіцієнту, який відповідає базисній змінній у відповідному рядку.

Cb1 = M;

Cb2 = 1;

Cb3 = M;

Значення вільних змінних і стовпця P

(Дані з попередньої ітерації беруться як вхідні дані)

Заповнюємо нулями всі клітинки, що відповідають змінній, яка щойно введена до базису:

(Розв'язуючий елемент залишається незмінним)

x1,1 = 0;

x3,1 = 0;

Переносимо рядок з розв'язуючим елементом із попередньої таблиці до поточної, поелементно поділивши його значення на розв'язуючий елемент:

x2,1 = x2,1x2,1 = 44 = 1;

x2,2 = x2,2x2,1 = 14 = 14;

x2,3 = x2,3x2,1 = 34 = 34;

x2,4 = x2,4x2,1 = 04 = 0;

x2,5 = x2,5x2,1 = -14 = -14;

x2,6 = x2,6x2,1 = 04 = 0;

x2,7 = x2,7x2,1 = 04 = 0;

x2,8 = x2,8x2,1 = 14 = 14;

x2,9 = x2,9x2,1 = 04 = 0;

P2 = P2x2,1 = 14 = 14;

Решта порожніх клітинок, крім рядка оцінок та стовпця Q, обчислюються методом прямокутника відносно розв'язуючого елемента:

x1,2 = (x1,2 * x2,1) - (x1,1 * x2,2)x2,1 = (3 * 4) - (2 * 1)4 = 212;

x1,3 = (x1,3 * x2,1) - (x1,1 * x2,3)x2,1 = (4 * 4) - (2 * 3)4 = 212;

x1,4 = (x1,4 * x2,1) - (x1,1 * x2,4)x2,1 = (-1 * 4) - (2 * 0)4 = -1;

x1,5 = (x1,5 * x2,1) - (x1,1 * x2,5)x2,1 = (0 * 4) - (2 * -1)4 = 12;

x1,6 = (x1,6 * x2,1) - (x1,1 * x2,6)x2,1 = (0 * 4) - (2 * 0)4 = 0;

x1,7 = (x1,7 * x2,1) - (x1,1 * x2,7)x2,1 = (1 * 4) - (2 * 0)4 = 1;

x1,8 = (x1,8 * x2,1) - (x1,1 * x2,8)x2,1 = (0 * 4) - (2 * 1)4 = -12;

x1,9 = (x1,9 * x2,1) - (x1,1 * x2,9)x2,1 = (0 * 4) - (2 * 0)4 = 0;

P1 = (P1 * x2,1) - (x1,1 * P2)x2,1 = (1 * 4) - (2 * 1)4 = 12;

x3,2 = (x3,2 * x2,1) - (x3,1 * x2,2)x2,1 = (4 * 4) - (3 * 1)4 = 314;

x3,3 = (x3,3 * x2,1) - (x3,1 * x2,3)x2,1 = (2 * 4) - (3 * 3)4 = -14;

x3,4 = (x3,4 * x2,1) - (x3,1 * x2,4)x2,1 = (0 * 4) - (3 * 0)4 = 0;

x3,5 = (x3,5 * x2,1) - (x3,1 * x2,5)x2,1 = (0 * 4) - (3 * -1)4 = 34;

x3,6 = (x3,6 * x2,1) - (x3,1 * x2,6)x2,1 = (-1 * 4) - (3 * 0)4 = -1;

x3,7 = (x3,7 * x2,1) - (x3,1 * x2,7)x2,1 = (0 * 4) - (3 * 0)4 = 0;

x3,8 = (x3,8 * x2,1) - (x3,1 * x2,8)x2,1 = (0 * 4) - (3 * 1)4 = -34;

x3,9 = (x3,9 * x2,1) - (x3,1 * x2,9)x2,1 = (1 * 4) - (3 * 0)4 = 1;

P3 = (P3 * x2,1) - (x3,1 * P2)x2,1 = (1 * 4) - (3 * 1)4 = 14;

Значення цільової функції

Обчислюємо значення цільової функції шляхом поелементного множення стовпця Cb на стовпець P та підсумовування результатів добутків.

MinP = (Cb1 * P1) + (Cb2 * P2) + (Cb3 * P3) = (M * 12) + (1 * 14) + (M * 14) = 34M+14;

Оцінки керованих змінних

Обчислюємо оцінки для кожної керованої змінної шляхом поелементного множення значень зі стовпця змінної на значення зі стовпця Cb, підсумовування результатів добутків та віднімання коефіцієнта цільової функції з їх суми для цієї змінної.

Minx1 = ((Cb1 * x1,1) + (Cb2 * x2,1) + (Cb3 * x3,1)) - kx1 = ((M * 0) + (1 * 1) + (M * 0)) - 1 = 0;

Minx2 = ((Cb1 * x1,2) + (Cb2 * x2,2) + (Cb3 * x3,2)) - kx2 = ((M * 212) + (1 * 14) + (M * 314)) - 1 = 534M-34;

Minx3 = ((Cb1 * x1,3) + (Cb2 * x2,3) + (Cb3 * x3,3)) - kx3 = ((M * 212) + (1 * 34) + (M * -14)) - 1 = 214M-14;

Minx4 = ((Cb1 * x1,4) + (Cb2 * x2,4) + (Cb3 * x3,4)) - kx4 = ((M * -1) + (1 * 0) + (M * 0)) - 0 = -M;

Minx5 = ((Cb1 * x1,5) + (Cb2 * x2,5) + (Cb3 * x3,5)) - kx5 = ((M * 12) + (1 * -14) + (M * 34)) - 0 = 114M-14;

Minx6 = ((Cb1 * x1,6) + (Cb2 * x2,6) + (Cb3 * x3,6)) - kx6 = ((M * 0) + (1 * 0) + (M * -1)) - 0 = -M;

Minx7 = ((Cb1 * x1,7) + (Cb2 * x2,7) + (Cb3 * x3,7)) - kx7 = ((M * 1) + (1 * 0) + (M * 0)) - M = 0;

Minx8 = ((Cb1 * x1,8) + (Cb2 * x2,8) + (Cb3 * x3,8)) - kx8 = ((M * -12) + (1 * 14) + (M * -34)) - M = -214M+14;

Minx9 = ((Cb1 * x1,9) + (Cb2 * x2,9) + (Cb3 * x3,9)) - kx9 = ((M * 0) + (1 * 0) + (M * 1)) - M = 0;

Елементи стовпця Q

Оскільки серед оцінок керованих змінних є додатні значення, поточна таблиця ще не має оптимального розв'язку. Тому до базису вводимо змінну з найбільшою додатною оцінкою.

Кількість змінних у базисі завжди стала, тому необхідно вибрати, яку змінну виводити з базису, для чого обчислюємо Q.

Елементи стовпця Q обчислюються шляхом ділення значень зі стовпця P на значення зі стовпця, що відповідає змінній, яка вводиться до базису:

Q1 = P1x1,2 = 12212 = 15;

Q2 = P2x2,2 = 1414 = 1;

Q3 = P3x3,2 = 14314 = 113;

Виводимо з базису змінну з найменшим додатним значенням Q.

На перетині рядка, що відповідає змінній, яка виводиться з базису, і стовпця, що відповідає змінній, яка вводиться до базису, знаходиться розв'язуючий елемент.

Цей елемент дозволить нам обчислити елементи таблиці наступної ітерації.

Опис
4
Ітерація 3
BCbPx1x2x3x4x5x6x7x8x9Q
111000MMM
x7M413002913-1-11310131113-1013435
x113131010130-4131130413-113310
x2111301-1130313-4130-313413
min413M+413002913M-413-M-113M-1131013M-3130-1213M+113-11013M+313

Елементи стовпця базису (B)

За результатами обчислень попередньої ітерації виводимо змінну з базису x9 та ставимо на її місце x2. Всі інші клітинки залишаються незмінними.

Елементи стовпця Cb

Кожна клітинка цього стовпця дорівнює коефіцієнту, який відповідає базисній змінній у відповідному рядку.

Cb1 = M;

Cb2 = 1;

Cb3 = 1;

Значення вільних змінних і стовпця P

(Дані з попередньої ітерації беруться як вхідні дані)

Заповнюємо нулями всі клітинки, що відповідають змінній, яка щойно введена до базису:

(Розв'язуючий елемент залишається незмінним)

x1,2 = 0;

x2,2 = 0;

Переносимо рядок з розв'язуючим елементом із попередньої таблиці до поточної, поелементно поділивши його значення на розв'язуючий елемент:

x3,1 = x3,1x3,2 = 0314 = 0;

x3,2 = x3,2x3,2 = 314314 = 1;

x3,3 = x3,3x3,2 = -14314 = -113;

x3,4 = x3,4x3,2 = 0314 = 0;

x3,5 = x3,5x3,2 = 34314 = 313;

x3,6 = x3,6x3,2 = -1314 = -413;

x3,7 = x3,7x3,2 = 0314 = 0;

x3,8 = x3,8x3,2 = -34314 = -313;

x3,9 = x3,9x3,2 = 1314 = 413;

P3 = P3x3,2 = 14314 = 113;

Решта порожніх клітинок, крім рядка оцінок та стовпця Q, обчислюються методом прямокутника відносно розв'язуючого елемента:

x1,1 = (x1,1 * x3,2) - (x1,2 * x3,1)x3,2 = (0 * 314) - (212 * 0)314 = 0;

x1,3 = (x1,3 * x3,2) - (x1,2 * x3,3)x3,2 = (212 * 314) - (212 * -14)314 = 2913;

x1,4 = (x1,4 * x3,2) - (x1,2 * x3,4)x3,2 = (-1 * 314) - (212 * 0)314 = -1;

x1,5 = (x1,5 * x3,2) - (x1,2 * x3,5)x3,2 = (12 * 314) - (212 * 34)314 = -113;

x1,6 = (x1,6 * x3,2) - (x1,2 * x3,6)x3,2 = (0 * 314) - (212 * -1)314 = 1013;

x1,7 = (x1,7 * x3,2) - (x1,2 * x3,7)x3,2 = (1 * 314) - (212 * 0)314 = 1;

x1,8 = (x1,8 * x3,2) - (x1,2 * x3,8)x3,2 = (-12 * 314) - (212 * -34)314 = 113;

x1,9 = (x1,9 * x3,2) - (x1,2 * x3,9)x3,2 = (0 * 314) - (212 * 1)314 = -1013;

P1 = (P1 * x3,2) - (x1,2 * P3)x3,2 = (12 * 314) - (212 * 14)314 = 413;

x2,1 = (x2,1 * x3,2) - (x2,2 * x3,1)x3,2 = (1 * 314) - (14 * 0)314 = 1;

x2,3 = (x2,3 * x3,2) - (x2,2 * x3,3)x3,2 = (34 * 314) - (14 * -14)314 = 1013;

x2,4 = (x2,4 * x3,2) - (x2,2 * x3,4)x3,2 = (0 * 314) - (14 * 0)314 = 0;

x2,5 = (x2,5 * x3,2) - (x2,2 * x3,5)x3,2 = (-14 * 314) - (14 * 34)314 = -413;

x2,6 = (x2,6 * x3,2) - (x2,2 * x3,6)x3,2 = (0 * 314) - (14 * -1)314 = 113;

x2,7 = (x2,7 * x3,2) - (x2,2 * x3,7)x3,2 = (0 * 314) - (14 * 0)314 = 0;

x2,8 = (x2,8 * x3,2) - (x2,2 * x3,8)x3,2 = (14 * 314) - (14 * -34)314 = 413;

x2,9 = (x2,9 * x3,2) - (x2,2 * x3,9)x3,2 = (0 * 314) - (14 * 1)314 = -113;

P2 = (P2 * x3,2) - (x2,2 * P3)x3,2 = (14 * 314) - (14 * 14)314 = 313;

Значення цільової функції

Обчислюємо значення цільової функції шляхом поелементного множення стовпця Cb на стовпець P та підсумовування результатів добутків.

MinP = (Cb1 * P1) + (Cb2 * P2) + (Cb3 * P3) = (M * 413) + (1 * 313) + (1 * 113) = 413M+413;

Оцінки керованих змінних

Обчислюємо оцінки для кожної керованої змінної шляхом поелементного множення значень зі стовпця змінної на значення зі стовпця Cb, підсумовування результатів добутків та віднімання коефіцієнта цільової функції з їх суми для цієї змінної.

Minx1 = ((Cb1 * x1,1) + (Cb2 * x2,1) + (Cb3 * x3,1)) - kx1 = ((M * 0) + (1 * 1) + (1 * 0)) - 1 = 0;

Minx2 = ((Cb1 * x1,2) + (Cb2 * x2,2) + (Cb3 * x3,2)) - kx2 = ((M * 0) + (1 * 0) + (1 * 1)) - 1 = 0;

Minx3 = ((Cb1 * x1,3) + (Cb2 * x2,3) + (Cb3 * x3,3)) - kx3 = ((M * 2913) + (1 * 1013) + (1 * -113)) - 1 = 2913M-413;

Minx4 = ((Cb1 * x1,4) + (Cb2 * x2,4) + (Cb3 * x3,4)) - kx4 = ((M * -1) + (1 * 0) + (1 * 0)) - 0 = -M;

Minx5 = ((Cb1 * x1,5) + (Cb2 * x2,5) + (Cb3 * x3,5)) - kx5 = ((M * -113) + (1 * -413) + (1 * 313)) - 0 = -113M-113;

Minx6 = ((Cb1 * x1,6) + (Cb2 * x2,6) + (Cb3 * x3,6)) - kx6 = ((M * 1013) + (1 * 113) + (1 * -413)) - 0 = 1013M-313;

Minx7 = ((Cb1 * x1,7) + (Cb2 * x2,7) + (Cb3 * x3,7)) - kx7 = ((M * 1) + (1 * 0) + (1 * 0)) - M = 0;

Minx8 = ((Cb1 * x1,8) + (Cb2 * x2,8) + (Cb3 * x3,8)) - kx8 = ((M * 113) + (1 * 413) + (1 * -313)) - M = -1213M+113;

Minx9 = ((Cb1 * x1,9) + (Cb2 * x2,9) + (Cb3 * x3,9)) - kx9 = ((M * -1013) + (1 * -113) + (1 * 413)) - M = -11013M+313;

Елементи стовпця Q

Оскільки серед оцінок керованих змінних є додатні значення, поточна таблиця ще не має оптимального розв'язку. Тому до базису вводимо змінну з найбільшою додатною оцінкою.

Кількість змінних у базисі завжди стала, тому необхідно вибрати, яку змінну виводити з базису, для чого обчислюємо Q.

Елементи стовпця Q обчислюються шляхом ділення значень зі стовпця P на значення зі стовпця, що відповідає змінній, яка вводиться до базису:

Q1 = P1x1,3 = 4132913 = 435;

Q2 = P2x2,3 = 3131013 = 310;

Q3 = P3x3,3 = 113-113 = ;

Виводимо з базису змінну з найменшим додатним значенням Q.

На перетині рядка, що відповідає змінній, яка виводиться з базису, і стовпця, що відповідає змінній, яка вводиться до базису, знаходиться розв'язуючий елемент.

Цей елемент дозволить нам обчислити елементи таблиці наступної ітерації.

Опис
5
Ітерація 4
BCbPx1x2x3x4x5x6x7x8x9Q
111000MMM
x31435001-1335-135271335135-27
x111710027-27-17-272717
x21335010-135835-27135-83527
min1235000-435-335-17-M+435-M+335-M+17

Елементи стовпця базису (B)

За результатами обчислень попередньої ітерації виводимо змінну з базису x7 та ставимо на її місце x3. Всі інші клітинки залишаються незмінними.

Елементи стовпця Cb

Кожна клітинка цього стовпця дорівнює коефіцієнту, який відповідає базисній змінній у відповідному рядку.

Cb1 = 1;

Cb2 = 1;

Cb3 = 1;

Значення вільних змінних і стовпця P

(Дані з попередньої ітерації беруться як вхідні дані)

Заповнюємо нулями всі клітинки, що відповідають змінній, яка щойно введена до базису:

(Розв'язуючий елемент залишається незмінним)

x2,3 = 0;

x3,3 = 0;

Переносимо рядок з розв'язуючим елементом із попередньої таблиці до поточної, поелементно поділивши його значення на розв'язуючий елемент:

x1,1 = x1,1x1,3 = 02913 = 0;

x1,2 = x1,2x1,3 = 02913 = 0;

x1,3 = x1,3x1,3 = 29132913 = 1;

x1,4 = x1,4x1,3 = -12913 = -1335;

x1,5 = x1,5x1,3 = -1132913 = -135;

x1,6 = x1,6x1,3 = 10132913 = 27;

x1,7 = x1,7x1,3 = 12913 = 1335;

x1,8 = x1,8x1,3 = 1132913 = 135;

x1,9 = x1,9x1,3 = -10132913 = -27;

P1 = P1x1,3 = 4132913 = 435;

Решта порожніх клітинок, крім рядка оцінок та стовпця Q, обчислюються методом прямокутника відносно розв'язуючого елемента:

x2,1 = (x2,1 * x1,3) - (x2,3 * x1,1)x1,3 = (1 * 2913) - (1013 * 0)2913 = 1;

x2,2 = (x2,2 * x1,3) - (x2,3 * x1,2)x1,3 = (0 * 2913) - (1013 * 0)2913 = 0;

x2,4 = (x2,4 * x1,3) - (x2,3 * x1,4)x1,3 = (0 * 2913) - (1013 * -1)2913 = 27;

x2,5 = (x2,5 * x1,3) - (x2,3 * x1,5)x1,3 = (-413 * 2913) - (1013 * -113)2913 = -27;

x2,6 = (x2,6 * x1,3) - (x2,3 * x1,6)x1,3 = (113 * 2913) - (1013 * 1013)2913 = -17;

x2,7 = (x2,7 * x1,3) - (x2,3 * x1,7)x1,3 = (0 * 2913) - (1013 * 1)2913 = -27;

x2,8 = (x2,8 * x1,3) - (x2,3 * x1,8)x1,3 = (413 * 2913) - (1013 * 113)2913 = 27;

x2,9 = (x2,9 * x1,3) - (x2,3 * x1,9)x1,3 = (-113 * 2913) - (1013 * -1013)2913 = 17;

P2 = (P2 * x1,3) - (x2,3 * P1)x1,3 = (313 * 2913) - (1013 * 413)2913 = 17;

x3,1 = (x3,1 * x1,3) - (x3,3 * x1,1)x1,3 = (0 * 2913) - (-113 * 0)2913 = 0;

x3,2 = (x3,2 * x1,3) - (x3,3 * x1,2)x1,3 = (1 * 2913) - (-113 * 0)2913 = 1;

x3,4 = (x3,4 * x1,3) - (x3,3 * x1,4)x1,3 = (0 * 2913) - (-113 * -1)2913 = -135;

x3,5 = (x3,5 * x1,3) - (x3,3 * x1,5)x1,3 = (313 * 2913) - (-113 * -113)2913 = 835;

x3,6 = (x3,6 * x1,3) - (x3,3 * x1,6)x1,3 = (-413 * 2913) - (-113 * 1013)2913 = -27;

x3,7 = (x3,7 * x1,3) - (x3,3 * x1,7)x1,3 = (0 * 2913) - (-113 * 1)2913 = 135;

x3,8 = (x3,8 * x1,3) - (x3,3 * x1,8)x1,3 = (-313 * 2913) - (-113 * 113)2913 = -835;

x3,9 = (x3,9 * x1,3) - (x3,3 * x1,9)x1,3 = (413 * 2913) - (-113 * -1013)2913 = 27;

P3 = (P3 * x1,3) - (x3,3 * P1)x1,3 = (113 * 2913) - (-113 * 413)2913 = 335;

Значення цільової функції

Обчислюємо значення цільової функції шляхом поелементного множення стовпця Cb на стовпець P та підсумовування результатів добутків.

MinP = (Cb1 * P1) + (Cb2 * P2) + (Cb3 * P3) = (1 * 435) + (1 * 17) + (1 * 335) = 1235;

Оцінки керованих змінних

Обчислюємо оцінки для кожної керованої змінної шляхом поелементного множення значень зі стовпця змінної на значення зі стовпця Cb, підсумовування результатів добутків та віднімання коефіцієнта цільової функції з їх суми для цієї змінної.

Minx1 = ((Cb1 * x1,1) + (Cb2 * x2,1) + (Cb3 * x3,1)) - kx1 = ((1 * 0) + (1 * 1) + (1 * 0)) - 1 = 0;

Minx2 = ((Cb1 * x1,2) + (Cb2 * x2,2) + (Cb3 * x3,2)) - kx2 = ((1 * 0) + (1 * 0) + (1 * 1)) - 1 = 0;

Minx3 = ((Cb1 * x1,3) + (Cb2 * x2,3) + (Cb3 * x3,3)) - kx3 = ((1 * 1) + (1 * 0) + (1 * 0)) - 1 = 0;

Minx4 = ((Cb1 * x1,4) + (Cb2 * x2,4) + (Cb3 * x3,4)) - kx4 = ((1 * -1335) + (1 * 27) + (1 * -135)) - 0 = -435;

Minx5 = ((Cb1 * x1,5) + (Cb2 * x2,5) + (Cb3 * x3,5)) - kx5 = ((1 * -135) + (1 * -27) + (1 * 835)) - 0 = -335;

Minx6 = ((Cb1 * x1,6) + (Cb2 * x2,6) + (Cb3 * x3,6)) - kx6 = ((1 * 27) + (1 * -17) + (1 * -27)) - 0 = -17;

Minx7 = ((Cb1 * x1,7) + (Cb2 * x2,7) + (Cb3 * x3,7)) - kx7 = ((1 * 1335) + (1 * -27) + (1 * 135)) - M = -M+435;

Minx8 = ((Cb1 * x1,8) + (Cb2 * x2,8) + (Cb3 * x3,8)) - kx8 = ((1 * 135) + (1 * 27) + (1 * -835)) - M = -M+335;

Minx9 = ((Cb1 * x1,9) + (Cb2 * x2,9) + (Cb3 * x3,9)) - kx9 = ((1 * -27) + (1 * 17) + (1 * 27)) - M = -M+17;

Відповідь

Оскільки серед оцінок керованих змінних немає додатних значень, поточна таблиця має оптимальний розв'язок.

Значення цільової функції:

F* = 1235;

Змінні, що присутні в базисі, дорівнюють відповідним клітинкам стовпця P, всі інші змінні дорівнюють нулю:

x1 = 17;

x2 = 335;

x3 = 435;

Опис
Answer
v → max min
F* = 1235
X* = (17335435)
Стратегії гравця I3Стратегії гравця II3ТипМішана стратегія

  Часті запитання

Що розв'язує цей калькулятор теорії ігор?

Він розв'язує антагоністичні ігри двох гравців за платіжною матрицею, знаходячи ціну гри та оптимальну стратегію кожного гравця — чисту стратегію в сідловій точці або мішану стратегію, коли сідлової точки не існує.

Що таке сідлова точка?

Сідлова точка — це елемент, який є мінімумом свого рядка та максимумом свого стовпця. Якщо вона існує, гра має розв'язок у чистих стратегіях, а значення сідлової точки є ціною гри.

Як обчислюються мішані стратегії?

Коли сідлової точки немає, гру перетворюють на пару задач лінійного програмування та розв'язують симплекс-методом. Отримані ймовірності вказують кожному гравцеві, як часто грати кожен варіант, щоб у середньому гарантувати ціну гри.

Що означає «ціна гри»?

Це середній виграш, який перший гравець може забезпечити собі — а другий гравець може обмежити його до цього значення — за оптимальної гри. Додатне значення вигідне гравцеві за рядками, від'ємне — гравцеві за стовпцями.

  Джерела