Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_omm (2).doc
Скачиваний:
11
Добавлен:
19.12.2018
Размер:
1.25 Mб
Скачать

48. Сведение матричных игр к задаче линейного программирования.

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

Цель игрока А: . В такой постановке получили задачу линейного программирования с переменными , причем все переменные неотрицательны ( как вероятность, считаем n > 0). Значит, эту задачу можно решить симплексным методом.

На практике задачу еще упрощают. Все неравенства можно разделить на n > 0 и ввести новые переменные . С учетом равенства рассматривают функцию . Т.к. , то . Получаем задачу линейного программирования (для игрока А):

Найти значения переменных , которые удовлетворяют системе ограничений:

и обращают в минимум целевую функцию:

Как было отмечено, решается задача симплексным методом.

Аналогично, составляется задача линейного программирования для игрока В (двойственная по отношению к задаче для игрока А):

Найти значения переменных , которые удовлетворяют системе ограничений:

и обращают в минимум целевую функцию:

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

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

49. Понятие о динамическом программировании.

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

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

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

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

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

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

Типовой алгоритм решения задач методом динамического программирования:

  1. Описать строение оптимальных решений.

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

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

  4. Пользуясь полученной информацией, построить оптимальное решение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]