Опубликован: 18.04.2007 | Уровень: для всех | Доступ: свободно | ВУЗ: Кабардино-Балкарский государственный университет
Лекция 15:

Элементы теории игр и исследование операций

< Лекция 14 || Лекция 15: 12
Аннотация: Рассматриваются основные понятия, задачи и подходы к решению этих задач в теории игр и основы исследования операции.
Ключевые слова: теория игр, стратегия игры, функция выигрыша, игрока, матричная игра, игра с нулевой суммой, матрица, стратегия игрока, полезность, минимаксной стратегией, MP@ML, максимум, минимум, максминная стратегия, динамическое программирование, управления, обыкновенное дифференциальное уравнение, линейное уравнение, разделяемая переменная, отношение, прибыль, отрезок, параметр, целевая функция, выражение, запись, функционального уравнения Беллмана, равенство, значение, управляющие, рекуррентного соотношения, экстремум функции, алгебраические, функция, деятельность, ситуационный анализ, принятия решений, принятие решения, полезностью решения, альтернативные, имитационные модели, теоретический метод, процедура принятия решения, Классификация задач принятия решений, распределение вероятности, статистическая гипотеза, проблемами принятия решений, недостатка информации, мера, релевантность, модель задач, ЛПР, критерий эффективности, алгоритм, процедура принятия решений, анализ проблемы и среды, постановка задачи, критерии выбора, выбор, адаптация, разработка, метода решения задачи, метода оценки решения, решение задачи, экспертные оценки, анализ и интерпретация результатов, множества, критерий оптимальности, система принятия решений, ранжирование

Элементы теории игр и исследование операций

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

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

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

  1. числу n участвующих в игре игроков;
  2. взаимоотношению игроков в процессе игры;
  3. количеству стратегий игры;
  4. результату игры (сумме выигрыша, проигрыша);
  5. виду критерия (функции) выигрышей и др.

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

X(m\times n) =
  \begin{Vmatrix}
    x_{11} & x_{12} & \dotsc & x_{1n} \cr
    x_{21} & x_{22} & \dotsc & x_{2n} \cr
    \hdotsfor{4} \cr
    x_{m1} & x_{m2} & \dotsc & x_{mn} \cr
  \end{Vmatrix}
где m - число стратегий игрока номер 1, n - число стратегий игрока номер 2, xij - полезность или выигрыш игрока 1 в любой ситуации (i,j), когда игрок 1 придерживается стратегии номер i, а игрок номер 2 - стратегии номер j. Если игрок 1 выберет стратегию номер k\in \{1, 2, \dotsc, m\}, то игрок 2 должен выбрать стратегию номер j\in \{1, 2,\dotsc, n\} так, чтобы выигрыш игрока 1 был не меньше минимального из всех возможных в этом случае xkj. Поэтому игрок 1 будет выбирать свою стратегию k так, чтобы этот минимальный выигрыш был бы наибольшим, то есть чтобы выполнялось (максминное) условие вида
m_k = \min_j \{x_{kj}\} = \max_i \min_j \{x_{ij}\}.

При этой стратегии игрок 1 при любом поведении игрока 2 обеспечивает себе выигрыш не меньше, чем m, то есть выполнено условие: x_{kj}\ge m_k для всех j=1,2,..., n. Аналогично можно построить (минимаксную) стратегию игрока номер 2:

M_p=\max _i \{x_{jp}\} = \min _j max _i \{x_{ij}\}.

При любых действиях игрока 1, игрок 2 проигрывает ему не более Mp, то есть выполнено условие: x_{ip}\le M_p для всех i=1, 2, ..., m. Задача первого игрока - максимизировать свой выигрыш, а задача второго - минимизировать свой проигрыш, и наоборот. Эти задачи взаимосвязаны (двойственны по отношению друг к другу).

Пример. Дана матрица игры вида

X(2\times 4) =
  \begin{Vmatrix}
  2 & 7 & 6 & 10 \cr
  8 & 4 & 9 & 5
  \end{Vmatrix}
Определим максминную (то есть максимум из минимумов) и минимаксную (то есть минимум из максимумов) стратегии для этой матрицы игры. Максминная стратегия (m1,m2)=(2, 4). Максимальный проигрыш равен 4. Минимаксная стратегия (M1, M2, M3, M4)=(8, 7, 9, 10). Минимальный выигрыш будет равен 7 (единиц измерения выигрыша, например, 7 тысяч руб.).

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

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

Рассмотрим задачу управления прибылью X(t) (в руб., например) некоторого предприятия, которая может быть описана обыкновенным дифференциальным уравнением следующего вида:

\frac {dX}{dt} = aX-bX^2,
где a>0 - постоянный коэффициент роста прибыли, b>0 - постоянный коэффициент снижения прибыли. Это известное логистическое уравнение. Его решение имеет вид
X(t) = \frac {aX_0\exp (at)}{a+bX_0 (\exp(at)-1)},
где X0=X(t0) - величина прибыли в начальный момент времени t=t0.

(Оно вычисляется, например, заменой вида X=1/Y и последующим решением получаемого линейного уравнения; можно также разделить переменные и проинтегрировать уравнение как уравнение с разделяющимися переменными).

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

Легко видеть, что

\lim\limits_{n\to \infty} X(t) = \frac ab,
то есть величина прибыли не возрастает беспредельно, а всегда ограничена.

Отношение \frac {a}{b} - это максимальная прибыльность предприятия, прибыль "насыщения".

В связи с этим возникает следующая задача: определить величины получаемой на каждом временном шаге (на некоторой временной сетке) прибыли при условии, чтобы за предыдущий фиксированный отрезок времени [0,T], они были бы максимальны.

Разобьем отрезок [0,T] на n равных частей с шагом h=T/n. Будем считать, что величина прибыли на шаге i (i=1,2,...,n) равна Gi=uiXi, где числовой параметр u_i\in [0,1] выбирается на каждом шаге. Это возможные проценты прибыли (от прибыли, в долях) для заданного состояния Xi. Обычно так и бывает на практике.

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

J(X,u) = \sum^{n-1}_{i=0} U_iX_i + X_n,
где величина прибыли на шаге i+1 определятся рекуррентными уравнениями вида
X_{i+1} = \frac {a(1-u_i)X_i \exp(ah)}{a+b(1-u_i) X_i(\exp(ah)-1)}, \qquad
 i=0{,}1,\dotsc,n-1
и ограничениями вида X_i \le f(t_i), где
f(t_1) = \frac {aX_0 \exp(at_i)}{a+bX_0(\exp(at_i)-1)}; \quad
  u_i\in [0,1], \quad X(t_0)=X_0.

Отметим, что целевая функция представляет собой сумму (то есть является аддитивной), а состояние Xi+1, в которое перешла система, зависит от данного состояния Xi и Ui, но не зависит от того, каким образом система перешла в состояние Xi, то есть выполняется условие отсутствия последствия. Выполнение этих двух условий (гипотез) гарантирует нам справедливость известного принципа оптимальности Беллмана для данной задачи, и, следовательно, для его решения мы можем воспользоваться классическим методом динамического программирования. Изложим его суть применительно к рассматриваемой задаче.

Введем следующие обозначения: Pn - сумма прибыли за n шагов, Sn - максимальный доход, получаемый за n шагов при переходе системы из начального состояния X0 в конечное состояние Xn, u=(u0, u1, ... , un) ; Sn-k - максимальный доход, получаемый при переходе из любого состояния Xk в конечное состояние Xn на оставшихся n-k шагах. Тогда можно записать следующее условие:

S_{n-k} = \max _{u\in [0{,}1]} [S_{n-k-1} + P_{k+1}] , \quad
  k=0{,}1,2,\dotsc, n-1.

Это выражение представляет собой математическую запись принципа оптимальности и носит название основного функционального уравнения Беллмана.

Можно записать, что P=Pn-1+Xn, где Xn, согласно формуле выше, определяется так:

X_n = \frac {a(1-u_{n-1}X_{n-1} \exp(ah)}{a+b(1-u_{n-1}) X_{n-1}
(\exp(ah)-1)}.

Если система уже находится в состоянии Xn-1, то единственная возможность, которая есть в нашем распоряжении, - это так выбрать Un-1 на n-1 шаге (то есть для перехода к состоянию Xn ), чтобы максимизировать функцию вида

X_{n-1}u_{n-1} +
  \frac {a(1-u_{n-1}X_{n-1} \exp(ah)}{a+b(1-u_{n-1}) X_{n-1} (\exp(ah)-1)}.

Введем следующее обозначение:

S_{n-1} (X_{n-1}) = \max_{u_{n-1}} \bigl[X_{n-1}u_{n-1} +
  \frac {a(1-u_{n-1}X_{n-1} \exp(ah)}{a+b(1-u_{n-1}) X_{n-1} (\exp(ah)-1)}.
  \bigr].

Это равенство определяет некоторую функцию состояния Xn-1. Величина, равная P= Pn-2 + Sn-1 (Xn-1) задает то максимальное значение функции P, которое может быть достигнуто, если бы система прошла оптимально через точки X0, X1,..., Xn-1.

Решим описанным способом поставленную задачу. Как сказано выше, для этого надо построить последовательность функций S_n, S_{n-1},\dotsc, S_0 и найти управляющие параметры Un-1, Un-2, ..., U0. Для этого используются рекуррентные соотношения вида

S_i(X_i) = \max _{U_i}[X_iU_i +S_{i+1} (f(X_i, U_i))],
при i=1, 2, ..., n-1 ; при этом Sn=Xn.

Итак, пусть S_n=X_n. Теперь находим Sn-1:

S_{n-1}(X_{n-1}) = \max_{u_{n-1}}  \Bigl[X_{n-1}u_{n-1} +
  \frac {a(1-u_{n-1}X_{n-1} \exp(ah)}{a+b(1-u_{n-1}) X_{n-1} (\exp(ah)-1)}.
  \Bigr].

Для нахождения максимума функции Sn-1(Xn-1) по переменной U_{n-1}\in [0;1] находим производную выражения, находящегося в скобках функции по неизвестной Un-1 и приравниваем ее к нулю (вспомним необходимое условие экстремума функции одной переменной):

X_{n-1} + \frac {-aX_{n-1}\exp(a+b(1-u_{n-1})X_{n-1}(\exp(ah)-1))}
  {(a+b(1-u_{n-1})X_{n-1}(\exp(ah)-1))^2} + \\[3pt]
  + \frac {bX_{n-1}(\exp(ah)-1) a(1-u_{n-1})\exp(ah) }
  {(a+b(1-u_{n-1}) X_{n-1} (\exp(ah)-1))^2 } =0.

После упрощения этого выражения (приведение подобных членов и простые алгебраические преобразования) получаем

X_{n-1} - \frac {aX_{n-1}\exp(ah)}{a+b(1-u_{n-1}) X_{n-1} (\exp(ah) -1) }
=0.

Отсюда получаем соотношение вида

a+b(1-u_{n-1}) X_{n-1} (\exp(ah)-1) = a\exp (ah/2).

Из этого уравнения находим неизвестный параметр управления Un-1, при котором функция Sn-1(Xn-1) принимает максимальное значение. Это значение равно U_{n-1} = 1- \frac {a}{bX_{n-1}(\exp(ah/2)+1}.

Аналогично можно найти все остальные неизвестные параметры Un-2, ..., U0. Тогда задача полностью решена.

< Лекция 14 || Лекция 15: 12
Оксана Лебедева
Оксана Лебедева

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

Марат Марат
Марат Марат

в лекции ​8 на второй странице в конце, вторая производная у меня получается 4/x3 ....

Александр Колесник
Александр Колесник
Россия, Редкино, МБОУ №3, 2013
Татьяна Талалуева
Татьяна Талалуева
Россия, г. Зеленоград