Вы находитесь на странице: 1из 16

Государственное бюджетное общеобразовательное учреждение

Лицей №64

Тема работы

Элементы теории игр как обобщение теории управления

Выполнила: Глухова Марина,


10 класс

Руководитель: Чуднов Александр Михайлович,


профессор кафедры автоматизированных
систем специального назначения

Санкт-Петербург
2019 год
Оглавление
Введение ................................................................................................................... 3
Основные положения теории оптимального управления ................................... 3
Основные положения теории игр .......................................................................... 6
Приложение в прикладных задачах .................................................................... 11
Заключение ............................................................................................................ 16
Литература: ............................................................................................................ 16

2
Введение
Теория игр является областью математики, играющей важную роль в
решении многих прикладных и фундаментальных задач из разных областей.
Она помогает найти алгоритмы, позволяющие выбрать лучший способ
поведения в зависимости от других участников в конфликтных условиях. При
разработке технических систем специалистам приходится принимать во
внимание наличие среды, поведение которой зависит от поведения системы и
не соответствует ее целям. Задачи теории игр возникают, когда необходимо
определить принцип рационального поведения объекта, взаимодействующего
с другими объектами, цели которых не соответствуют целям разрабатываемой
системы. В наше время существенно возрастает роль этих задач в связи с
развитием автоматизированных средств управления и появлением новых
конфликтных условий. Актуальность темы обусловлена потребностью
построения эффективных алгоритмов для работы систем и стратегий
субъектов в условиях конфликта. Также теория игр может быть применена для
изучения поведения человека в различных ситуациях. В данном проекте будет
рассматриваться игра только 2-х лиц.
Исследовательская часть работы направлена на обобщение и
распространение методов теории управления на задачи теории игр. В
практической части приводятся программы, содержащие оптимальные
стратегии для конфликтной игры двух участников, построенные с помощью
динамического программирования.
Проблема обусловлена необходимостью создания рациональных
способов решения конфликтов и отсутствием в достаточной степени
алгоритмов для ряда прикладных задач.
Цель проекта – разработать теоретико-игровые алгоритмы для
отдельных прикладных задач и написать программы, иллюстрирующие их
работу. В данном проекте алгоритмы разработаны на основе методов
динамического программирования и поставлены следующие задачи:
 Изучить основные понятия теории управления и теории игр
 Обосновать возможность их применения при решении широкого
класса задач, связанных с разработкой систем и стратегий поведения
взаимодействующих объектов
 Рассмотреть методы теории управления, которые могут быть
использованы в задачах теории игр
 Исследовать применимость разработанных методов в прикладных
задачах различных сфер деятельности
 Разработать программы, подтверждающие реализуемость и
работоспособность построенных оптимальных алгоритмов на практике

Основные положения теории оптимального управления


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

3
предыдущих интервалах времени. Управляющий объект на основе
наблюдаемого процесса формирует воздействие на управляемый предмет.
Задача оптимального управления состоит в нахождении рациональной
стратегии управления объектом исходя из предыдущего поведения. Ее
постановка включает в качестве компонентов область допустимых стратегий
управления и критерии оптимальности, заданные на данной области.
Критерии оптимальности – функция, заданная на множестве всех возможных
процессов поведения системы, то есть процессов изменения состояния
системы во времени, принимающая значения в множестве вещественных
чисел.
Формализация и решение задачи оптимального управления
основывается на математической модели управляемого объекта,
описывающей его поведение в зависимости от управляющих воздействий, а
также от воздействий среды функционирования. Модель системы управления
– объект, которым заменяется процесс для отображения исследуемой системы
или разработки новой. Моделирование – замещение исходного объекта
моделью и проведение с ней экспериментов для получения информации об
исходном объекте через исследование ее свойств.
Постановку задачи оптимального управления можно
проиллюстрировать на рисунке 1.
𝑠 𝑡 – состояние системы;
𝜉 𝑡 – воздействие внешней
среды;
ℎ 𝑡 - наблюдение состояния
системы подсистемой принятия
решений;
𝑥 𝑡 - управление (управляющий
процесс);
𝑢 𝑡 - реализованное управление.
Рисунок 1 – постановка задачи оптимального управления
В данной модели структура системы управления состоит из
управляемого объекта S, объекта H, который передает информацию о
состоянии предмета S, объекта X, управляющего объектом S, и объекта U,
реализующего управления объектом S. Также объект Q оценивает, насколько
рационально действует объект S [4].
Стратегия – оператор, формирующий воздействия на предмет в
зависимости от наблюдений состояния объекта, поступающих из канала
наблюдения H.
Оптимальное управление может осуществляться в детерминированных
или стохастических условиях. В детерминированной среде условия, в которых
принимаются решения, известны полностью. В стохастической или случайной
среде известно множество возможных вариантов условий и их вероятностное
распределение [1, c. 7].
Многие задачи теории управления могут быть решены с помощью
принципа оптимальности Беллмана, в соответствии с которым на каждом шаге

4
оптимизируется управление только этого шага. Управление объектом будет
оптимальным, когда выигрыш на данном шаге вместе с выигрышем на
последующих шагах станет максимальным. Смысл принципа оптимальности
Беллмана соответствует интуитивному пониманию разумных действий «Если
не использовать рационально то, что имеется сейчас, то и в дальнейшем не
удастся наилучшим образом использовать то, что могли бы иметь» [2].
Динамическое программирование – это метод решения состоящих из
многошаговых процессов задач на нахождение оптимальных стратегий. В
задачах динамического программирования для каждого этапа находятся
наиболее рациональные решения для оптимального развития всего процесса в
целом.
Принцип динамического программирования, сформулированный
Беллманом, состоит в разложении исходной сложной задачи на совокупность
(последовательность) нескольких более простых задач. Его можно просто
пояснить на примере нахождения маршрута кратчайшей длины в графе с
помощью алгоритма Беллмана-Дейкстры. Рассмотрим пример нахождения
кратчайшего маршрута на графе.

Рисунок 2 – граф
В данной задаче требуется найти самый короткий маршрут из пункта 1
в пункт 10. Для этого нужно сначала найти расстояния от пункта 1 до пунктов,
соединенных с первым. Затем от этих пунктов найти расстояния до
соединенных с ними. Так следует продолжать до тех пор, пока не будет
найдено кратчайшее расстояние до нужного пункта. Оптимальный маршрут и
метод решения представлены на схеме внизу.

Рисунок 3 – поиск оптимального пути на графе

5
Построить оптимальный алгоритм управления динамической системы
можно с помощью принципа Беллмана следующим образом:
Пусть 𝑡 = 𝑇 − 1, где 𝑇 – последний момент времени (когда окончен
процесс), 𝑡 – момент времени на данном шаге, тогда на последнем шаге (в
момент 𝑇 − 1) прирост эффективности (𝑄) составит 𝑄𝑇−1,𝑇 (ℎ𝑇−1 , 𝑥𝑇−1 ), где
ℎ – наблюдение в данное время, 𝑥 – управляющее действие на объект.
В момент времени 𝑡 = 𝑇 − 1 нам известно состояние системы ℎ 𝑇−1 , так
как оно не зависит от управления, поэтому задача состоит в нахождении
максимального 𝑥𝑇−1 на последнем шаге.
При оптимальном управлении на шаге 𝑡 = 𝑇 − 1 получим максимальное
значение показателя эффективности функционирования 𝑄, которое в
состоянии системы ℎ 𝑇−1 , может достигнуть

𝑄𝑇−1,𝑇 (ℎ 𝑇−1 ) = max 𝑄𝑇−1,𝑇 (ℎ 𝑇−1 , 𝑥𝑇−1 ),
𝑥𝑇−1

обозначим 𝑄 как максимальное значение.
Пусть теперь t = T − 2, тогда ожидаемый прирост 𝑄 на последних двух
шагах при управлении 𝑥𝑇−2 будет равен сумме прироста на шаге t = T − 2 и
максимальному приросту на шаге t = T − 1 , т. е
𝑄𝑇−2,𝑇 (ℎ 𝑇−2 , 𝑥𝑇−2 ) = 𝑄𝑇−2,𝑇−1 (ℎ 𝑇−2 , 𝑥𝑇−2 ) + max 𝑄𝑇−1,𝑇 (ℎ 𝑇−1 , 𝑥𝑇−1 ).
𝑥𝑇−1
Тогда максимальное значение 𝑄 на последних двух шагах составит
∗ (ℎ 𝑇−2 , ) = max{𝑄𝑇−2,𝑇−1 (ℎ 𝑇−2 , 𝑥𝑇−2 ) + 𝑄∗ 𝑇−1,𝑇 (ℎ𝑇−1 , 𝑥𝑇−1 )}.
𝑄𝑇−2,𝑇
𝑥𝑇−2
Продолжая далее и заменив T − i = t, получим способ определения
оптимального управления на каждом шаге t функционирования системы
∗ (ℎ )
𝑄𝑡,𝑇 𝑡 = max{𝑄𝑡,𝑡+1 (ℎ𝑡 , 𝑥𝑡 ) + 𝑄𝑡+1,𝑡+2 (ℎ𝑡+1 , 𝑥𝑡+1 )} [4].
𝑥𝑡
Ниже приведен рисунок, иллюстрирующий принцип Беллмана. Его
критерий оптимальности управления создал метод для построения
оптимального алгоритма в виде полученной рекуррентной процедуры. Такой
способ помогает найти оптимальный маршрут быстрее, так как не требует
проверки каждого пути отдельно.

Рисунок 4 – принцип Беллмана

Основные положения теории игр


Теория игр – это раздел математики, в котором исследуются возможные
принятия решений в конфликте, где каждая сторона стремится воздействовать

6
на развитие в своих собственных интересах. При этом теорию игр можно
рассматривать как обобщение теории управления и с учетом этого
распространить методы теории управления для выработки рациональных
стратегий поведения в конфликтных (или неиндифферентных) условиях.
Принимающий решение субъект располагает информацией о множестве
возможных ситуаций, в одной из которых он в действительности находится, о
множестве решений, которые он может принять, и о количественной мере
выигрыша, который он мог бы получить, выбрав в данной ситуации данную
стратегию [1, c. 7].
В конфликтных ситуациях «сталкиваются интересы двух (или более)
сторон, преследующих разные (иногда противоположные) цели, причем
выигрыш каждой стороны зависит от того, как себя поведут другие. Каждая
сторона предъявляет к управлению свои требования и, как правило, эти
требования противоречивы». Игра - математическая модель конфликта [3, c.
174].
Игра n лиц определяется:
1. множеством стратегий игроков: 𝒳𝑖 , 𝑖 = 1, … , 𝑛, где 𝑖 – различные
игроки;
2. множеством ситуаций 𝒳 = 𝒳1 × 𝒳2 × … × 𝒳𝑛 , образованных
стратегиями 𝑋𝑖 ∈ 𝒳 𝑖 , 𝑖 = 1, … , 𝑛 (𝒳 – совокупность последовательностей вида
(𝑥1 , 𝑥2 , … , 𝑥𝑛 ), где 𝑥𝑖 – элементы множеств, 𝑥1 ∈ 𝒳1 , … , 𝑥𝑛 ∈ 𝒳𝑛 );
3. Функциями 𝑄𝑖 , где 𝒳 → ℝ, 𝑖 = 1, … , 𝑛, которые определяют
выигрыш 𝑖­го игрока в ситуации 𝑋 = (𝑋1 , 𝑋2 , … 𝑋𝑛 ) ∈ 𝒳, в зависимости от
выбора игроками стратегий 𝑋1 , 𝑋2 , … . 𝑋𝑛 . То есть при выборе игроками
стратегий 𝑋1 , 𝑋2 , … . 𝑋𝑛 каждый из них получит выигрыш 𝑄𝑖 = 𝑄𝑖 (𝑋) =
𝑄𝑖 (𝑋1 , 𝑋2 , … . 𝑋𝑛 ).
Игра 𝑛 лиц (𝒢) с множеством ситуаций 𝒳и функциями выигрыша 𝑄𝑖
обозначается набором 𝒢 = < 𝒳; 𝑄𝑖 (𝑋); 𝑖 = 1, … , 𝑛 >. Возникает вопрос, какие
стратегии являются оптимальными игре 𝒢.
Американский математик Джон Нэш придумал концепцию решения
игры. Равновесие Нэша – ситуация, в которой два или более игрока участвуют
со своей стратегией, где ни один участник не сможет увеличить выигрыш,
изменив только свою стратегию при сохранении ее другими. В равновесной
ситуации 𝑋 ∗ = (𝑋1∗ , 𝑋2∗ , … . 𝑋𝑛∗ ) выполняются условия 𝑄𝑖 (𝑋1∗ , 𝑋2∗ , … . 𝑋𝑖 , … . 𝑋𝑛∗ ) ≤
𝑄𝑖 (𝑋1∗ , 𝑋2∗ , … . 𝑋𝑖∗ , … . 𝑋𝑛∗ ) при всех 𝑖 = 1, … , 𝑛. То есть если участник изменит
свою стратегию, его выигрыш только может уменьшиться. В равновесной
ситуации стратегии не выгодно менять ни одному игроку. Не все игры
обладают ситуациями равновесия.
Для примера рассмотрим биматричную игру двух лиц, в которой 𝒳1 =
𝒳2 = {1,2} (т. е. у каждого игрока есть одинаковые два варианта стратегий №1
и №2). Функции выигрыша заданы матрицами
𝑄 (1,1) 𝑄1 (1,2) 0 4 𝑄 (1,1) 𝑄2 (1,2) 6 0
𝑄1 = ( 1 )=( ). 𝑄2 = ( 2 )=( ).
𝑄1 (2,1) 𝑄1 (2,2) 5 1 𝑄2 (2,1) 𝑄2 (2,2) 1 3

7
Из матриц мы видим, что в каждая из 4-х ситуаций не является выгодной
для всех игроков. При нахождении в ситуации (1,1) первому игроку
целесообразно использовать стратегию №2, т. е. перейти в ситуацию (2,1) и
тем самым увеличить свой выигрыш. В то же время в ситуации (2,1) второму
игроку не выгодно оставаться, в его интересах использовать стратегию №2,
перейти в ситуацию (2,2), в которой опять же не выгодно оставаться первому
игроку.
При отсутствии в игре равновесных ситуаций скорее всего некорректно
представлена конфликтная ситуация. Действительно, множества вариантов
ситуаций для сторон 𝒳1 = 𝒳2 = {1,2} являются весьма узкими, поскольку эти
действия могут выбираться с использованием элемента случайности, что
расширяет множества стратегий участников конфликта и увеличивает их
шансы на выигрыш, так как при выборе вариантов по определенному правилу
другой участник после определенного количества ходов сможет его угадать и
в зависимости от него использовать оптимальную для себя стратегию.
Таким образом, вместо игры 𝒢 = < 𝒳; 𝑄𝑖 (𝑋), 𝑖 = 1, … , 𝑛 > имеет смысл
рассмотреть игру 𝒢 ∼ = < 𝒳 ∼ ; 𝑄𝑖∼ (𝑋), 𝑖 = 1, … , 𝑛 >, в которой стратегии
игроков 𝒳𝑖∼ определены вероятностными распределениями на множествах 𝒳𝑖
стратегий игроков в исходной игре 𝒢, то есть известно, с какой вероятностью
принимается какое значение. При этом стратегии 𝑋𝑖∼ ∈ 𝒳𝑖∼ называются
рандомизированными или смешанными (построенными на основе
смешанного расширения стратегий 𝑋𝑖 ∈ 𝒳𝑖 ), а игра 𝒢 ∼ - смешанным
расширением игры 𝒢. Если стратегии 𝑋𝑖 не имеют вероятностных
распределений, то они называются чистыми, детерминированными или
нерандомизированными.
В рассмотренном выше примере биматричной игры смешанные
стратегии игроков могут быть заданы вероятностями. Пусть 𝑝1 – вероятность
выбора первой стратегии первым игроком, 𝑝2 – вторым, тогда
Pr{𝑋1 = 1} = 𝑝1 , Pr{𝑋1 = 2} = 1 − 𝑝1 ;
Pr{𝑋2 = 1} = 𝑝2 , Pr{𝑋2 = 2} = 1 − 𝑝2 .
Тогда в игре 𝒢 ∼ = < 𝒳 ∼ ; 𝑄1 (𝑋1 ), 𝑄2 (𝑋2 ) > стратегии игроков имеют вид
𝑋1 = (𝑝1 , 1 − 𝑝1 ), 𝑋2 = (𝑝2 , 1 − 𝑝2 ), а средние значения выигрыша игроков
представляются соотношениями:
𝑄1∼ (𝑋1 , 𝑋2 ) = 𝑝1 𝑝2 𝑄1 (1,1) + 𝑝1 (1 − 𝑝2 )𝑄1 (1,2) + (1 − 𝑝1 )𝑝2 𝑄1 (2,1)
+ (1 − 𝑝1 )(1 − 𝑝2 )𝑄1 (2,2).
∼ (𝑋
𝑄2 1 , 𝑋2 ) = 𝑝1 𝑝2 𝑄2 (1,1) + 𝑝1 (1 − 𝑝2 )𝑄2 (1,2) + (1 − 𝑝1 )𝑝2 𝑄2 (2,1)
+ (1 − 𝑝1 )(1 − 𝑝2 )𝑄2 (2,2).
В биматричной игре всегда имеется равновесная ситуация в смешанных
стратегиях игроков.
Игра называется игрой с нулевой суммой, если сумма выигрышей всех
игроков равна нулю (каждый игрок выигрывает только за счет других). Один
из важных частных случаев – антагонистическая игра – парная игра с нулевой
суммой или со строгим соперничеством, где выигрыш одного игрока равен
проигрышу другого, т. е.

8
𝑄1 (𝑋) + 𝑄2 (𝑋) = 0. Теория антагонистических игр – наиболее развитый
раздел теории игр [3, c. 177].
Таким образом, антагонистическая игра на множествах стратегий 𝒳, 𝒴
игроков может быть задана тройкой:
𝒢 =< 𝒳, 𝒴; 𝑄(⋅) >,
где: 𝑋 ∈ 𝒳, 𝑌 ∈ 𝒴, 𝑄(⋅) = 𝑄(𝑋, 𝑌) - функция выигрыша первого игрока
(проигрыша второго игрока). Антагонистическая матричная игра имеет
равновесную ситуацию в смешанных стратегиях. В антагонистических играх
равновесная ситуация является седловой точкой функции 𝑄(𝑋, 𝑌) . В седловой
точке выбор стратегии одного участника из расчета наихудшего для себя
поведения противника равен выбору стратегии противника [2].
Примером простейшей антагонистической игры является игра, в
которой каждый игрок имеет по две чистых стратегии 𝒳 = 𝒴 = {1,2}
𝒢 =< {1,2} × {1,2}; 𝑄(⋅) >,
а функция 𝑄(⋅) определена матрицей
𝑄(1,1) 𝑄(1,2) 𝑣11 𝑣12
𝑄=( ) = (𝑣 ),
𝑄(2,1) 𝑄(2,2) 21 𝑣22
где 𝑣 – вероятность выбора игроками данной ситуации.
Наличие или отсутствие равновесных ситуаций в такой игре установить
весьма просто.
Для данной игры, где в матрице определен выигрыш первого игрока и
проигрыш второго,
0 2
𝑄=( )
1 4
точка 𝑋 = 2, 𝑌 = 1 является равновесной ситуацией, из которой
выходить игрокам не выгодно.
Эта ситуация легко находится на основе принципа доминирования
стратегий. Действительно, 1-му игроку всегда лучше придерживаться второй
стратегии, так как в любом столбце выигрыш во второй строке больше, а 2-му
игроку при всех действиях 1-го игрока целесообразно применять первую
стратегию.
Если равновесная ситуация в чистых стратегиях отсутствует, то она в
матричных играх её можно посчитать с помощью теории вероятности. Пусть
Pr{𝑋 = 1} = 𝑝, Pr{𝑌 = 1} = 𝑞 .
Как мы уже знаем, в смешанных стратегиях выигрыш определяется
функцией
𝑄(𝑝, 𝑞) = 𝑝𝑞𝑣11 + 𝑝(1 − 𝑞)𝑣12 + (1 − 𝑝)𝑞𝑣21 + (1 − 𝑝)(1 − 𝑞)𝑣22 =
= 𝑞(𝑝𝑣11 − 𝑝𝑣12 + (1 − 𝑝)𝑣21 − (1 − 𝑝)𝑣22 ) + 𝒑𝒗𝟏𝟐 + (𝟏 − 𝒑)𝒗𝟐𝟐.
Выигрыш выделенной части не зависит от другого игрока. Чтобы иметь
равновесную ситуацию, нужно приравнять коэффициент после 𝑞 к 0, тогда
выигрыш игрока 𝑝 не будет зависеть от другого.
𝑝𝑣11 − 𝑝𝑣12 + (1 − 𝑝)𝑣21 − (1 − 𝑝)𝑣22 = 0 , где 0 ≤ 𝑝 ≤ 1.
Выразим 𝑝:
𝑣22 −𝑣21
𝑝∗ = .
𝑣11 −𝑣12 −𝑣21 +𝑣22

9
Аналогично из условия
𝑞𝑣11 + (1 − 𝑞)𝑣12 − 𝑞𝑣21 − (1 − 𝑞)𝑣22 = 0, 0 ≤ 𝑞 ≤ 1,
∗ 𝑣22 −𝑣12
𝑞 = .
𝑣11 −𝑣12 −𝑣21 +𝑣22
Рассмотрим игру с матрицей 𝑄, в которой отсутствуют чистые
равновесные стратегии.
0 4
𝑄=( )
6 1
Смешанные стратегии находятся по полученным выше формула.
Выигрыш в равновесной ситуации для каждого игрока можно найти при
подстановке чисел матрицы:
1−6 5
𝑝∗ = = ;
0−4−6+1 9
∗ 1−4 3 1
𝑞 = = = .
0−4−6+1 9 3
При этом
5 10 4 8 40+24+8 2
𝑄(𝑝∗ , 𝑞 ∗ ) = 0+ 4+ 6+ 1= =2 ;
27 27 27 27 27 3
∗ 5 5 5 4 4 4 24 −20+24−4 2
𝑄(𝑝 , 𝑞) = 0𝑞 + 4 − 4𝑞 + 6𝑞 + 1 − 1𝑞 = + q=2 ;
9 9 9 9 9 9 9 9 3
∗) 1 2 1 1 2 2 24 8−6−2 2
𝑄(𝑝, 𝑞 = 0𝑝 + 4𝑝 + 6 − 6𝑝 + 1 − 1𝑝 = + q=2 .
3 3 3 3 3 3 9 3 3
То есть при отступлении одного игрока от равновесной ситуации
выигрыш не изменяется.
В игре трех и более лиц равновесные ситуации могут отсутствовать, что
зачастую свидетельствует о некорректности представления такой игрой
практической ситуации. С другой стороны, некоторые игры трех и более лиц
могут иметь более одной равновесных ситуаций, которые к тому же могут
быть не эквивалентными по распределению выигрыша (проигрыша) [4].
В наиболее общем случае взаимодействие участников
антагонистического конфликта может быть представлена изображенной ниже
обобщенной моделью взаимодействия динамических систем. Стратегии в
процессе игры становятся известными друг другу, их задача – определить
равновесную ситуации по Нэшу.

Рисунок 5 – взаимодействие участников антагонистического конфликта


Данная модель состоит из элементов: S – управляемого объекта, X –
системы принятия решений на управление, H – канала наблюдения, U – канала

10
управления, Y – системы принятия решений на подавление сигнала, R – канала
разведки и V – канала подавления.

Приложение в прикладных задачах


Программы, описанные в этой главе для решения задач теории игр,
основаны на распространение методов динамического программирования.
Для примера решения теоретико-игровой задачи методами
динамического программирования рассмотрим антагонистическую
позиционную игру с полной информацией (где каждый игрок видит
сложившуюся ситуацию) Ним-типа. Правила игры просты: имеются 3 ряда, в
каждом лежит определенное количество палочек: в первом – 3, во втором – 5,
в третьем – 7. За один ход можно взять любое количество палочек, но только
из одного ряда. Проигрывает тот, кто берет последнюю.
Для нахождения выигрышных ходов рассмотрим игру с конца.
Необходимо установить определенный набор комбинаций, придя в которые
игрок всегда проигрывает, а компьютер побеждает. В любой ситуации игры
компьютер сможет создать одну из комбинаций.
По правилам игры, участник проигрывает, если берет последнюю
палочку.
Чтобы компьютеру создать такую ситуацию, в игре должно остаться
либо 𝑛-е количество палочек в одном ряду «0 𝑛 0», либо одна палочка в одном
и 𝑛-е количество палочек в другом ряду «1 𝑛 0».
Начнем с варианта, где 𝑛 = 2, то есть в одном из рядах лежат две
палочки, а еще в одном их нет. Найдем каким образом игрок может создать
эту ситуацию.
Вариант №1 не подходит для игрока, так как он может взять две палочки
из первого ряда и оставить компьютер в проигрыше. Это частный случай «1 𝑛
0».

Рисунок 6 – №1
Другой вариант (№2), где в двух рядах по две палочки является одной из
проигрышных комбинаций. Сколько угодно палочек игрок не возьмет, он
придет в одну из ранее рассмотренных ситуаций.

11
Рисунок 7 – №2
Теперь возьмем 𝑛 = 3. Если в другой ряд поместить одну палочку, то
опять же получится ситуация «1 𝑛 0». В варианте №3 игрок возьмет одну
палочку из второго ряда, что приведет к варианту №2.

Рисунок 8 – №3
Проигрышной комбинацией является вариант №4, потому что игрок при
любом ходе придёт ни к одной и проигрышных. Таким образом, можно
сказать, что ситуация для игрока вида «𝑥 𝑥 0», где 𝑥 > 1, приведет к победе
компьютера.

Рисунок 9 – №4
Дальше найдем, каким образом можно получить представленные ранее
ситуации. Вариант №5 представляет из себя проигрышную комбинацию, при
любых действиях игрока получится «1 𝑛 0».

Рисунок 10 – №5
При добавке одной палочки на пустой ряд варианта №3 тоже получается
проигрышная комбинация (вариант №6), которая может в итоге сводится к
вариантам №2 или №5, разобранные ранее.

12
Рисунок 11 – №6
Для того, чтобы далее получать проигрышные комбинации, нужно к
предыдущим добавлять палочки более чем в один ряд, иначе игрок за один ход
сможет сам создать одну из этих ситуаций.

Рисунок 12 – №7
Вариант №7 не подходит, так как легко сводится к варианту №6. То же
самое можно сказать и о варианте №8.

Рисунок 13 – №8
Добавив ко второму ряду варианта №8 одну палочку, получим еще одну
проигрышную комбинацию (№9). Из нее могут следовать варианты «𝑥 𝑥 0»,
№5 или №6.

Рисунок 14 – №9
Далее прибавляем по одной палочке к первому и третьему рядам
варианта №9. Таким образом мы нашли еще одну проигрышную ситуацию для
игрока (вариант №10).

13
Рисунок 15 – №10
Чтобы получить остальные проигрышные ситуации, остается только
прибавить по одной палочке в любые два ряда. Получим варианты №11, №12,
№13.

Рисунок 16 – №11, №12, №13


Компьютер может создать один из данных вариантов, походив первым,
взяв одну палочку из любого ряда. Следовательно, участник, который сделал
ход первым, при использовании оптимальной стратегии выигрывает.
Для наглядного представления найденного алгоритма мною была
создана программа на языке Java. В основе программы лежит оптимальный
алгоритм: вложены проигрышные ситуации игрока, которые для него должен
создать компьютер, делающий первый ход. То есть можно самому
попробовать поучаствовать в игре с компьютером, который всегда
выигрывает.
Работает программа достаточно просто: сначала она выводит ход
компьютера, с равной вероятностью взявшего палочку из одного ряда. Затем
предлагается пользователю ввести номер ряда и количество палочек. В
зависимости от хода устройство будет создавать одну из проигрышных
ситуаций для игрока.
Способ нахождения проигрышных ситуаций для игрока применим для
широкого числа задач. Кроме того, возможно создать программу, которая
найдет все такие ситуации для любого числа начальных элементов,
ограниченных лишь вычислительными способностями устройства.
Следующая задача основана на нахождении оптимального алгоритма в
заданных условиях с помощью теории игр. Пусть имеется тип объектов, для
которых нужно определить максимальную нагрузку, при которых они не
выходят их строя. В наличии имеется 𝑙 экземпляров объектов, 𝑘 –
максимальное число тестов. Проблема также состоит в нахождении

14
максимальной нагрузки ℎ, при которой можно протестировать объект с
нормированной шкалой 1.
Данная теоретико-игровой задача заключается в решении рекуррентной
последовательности более простых задач. Разработка оптимальных
алгоритмов сводится к игре с «природой», которая каждый раз представляет
наихудшее условие для сформулированной проблемы. Построенный алгоритм
будет гарантировать нахождение нужной нагрузки за заданное число шагов.
Наиболее просто понимается задача на языке бросания предметов.
Нужно проверить, с какой максимальной высоты он не разбивается, но
количество попыток ограничено, допустим, из-за дорогой стоимости. В
программу, созданную мной для решения данной задачи, пользователь вводит
2 числа: количество попыток и тестируемых предметов. Сначала она выводит
максимальную высоту, с которой можно проверить предмет, а затем
пошаговую инструкцию, с каких «этажей» пробовать. После каждой попытки
нужно ввести, разбился ли предмет, исходя из чего компьютер посчитает
следующий «этаж». Так продолжать до тех пор, пока не закончатся попытки
или не будет найдена максимальная нагрузка.
Для того, чтобы узнать порядок действия для большого числа
предметов, требуется начать с одного, потом для двух и так далее. При 𝑙 = 1,
ℎ = 𝑘, потому что единственный способ проверить – сначала этаж 1-й, далее
2-й, 3-й…
Рассмотрим ситуацию, где 𝑙 = 2. Требуется сначала кинуть предмет с
высоты 𝑘, потом с 𝑘 + (𝑘 − 1), затем 𝑘 + (𝑘 − 1) + (𝑘 − 2), пока 𝑘 − 𝑛 > 0. В
итоге ℎ = 𝑘 + (𝑘 − 1) + (𝑘 − 2) + ⋯ + 1. Такой порядок обосновывается тем,
что если предмет разбивается на 𝑘-м этаже, то задача сводится к нахождению
максимальной нагрузки при 𝑙 = 1 за 𝑘 − 1 попыток, ранее решенному.
Аналогичная ситуация получится при поломке предмета на следующих
тестируемых этажах.
Похожий принцип используется для большего количества предметов.
Теперь возьмем 𝑙 = 3. Первый этаж, с которого нужно сбросить предмет, на
один больше, чем этаж максимальной проверяемой нагрузки для 𝑙 = 2 при 𝑘 −
1 возможных попытках, так как если на первой проверке предмет разобьется,
то у нас будет такая ситуация. Так же нужно рассуждать для следующих
проверок при наличии трех предметов.
Подобным образом строится алгоритм нахождения максимальной
нагрузки при любом количестве предметов. Для систематизации данных ниже
представлена часть таблицы, с помощью которой написана программа. Первая
строка и последний столбец заполнены единицами. Затем каждая строка
заполняется, начиная с предпоследнего элемента, равного сумме элемента
этого же столбца предыдущей строки и последнего предыдущей строки и еще
1. Наглядно эти операции обозначены стрелками в таблице. В итоге должна
получится таблица с 𝑙 столбцами и 𝑘 строками.
Для каждого теста рассмотрим столбец, соответствующий номеру хода,
и строку – количество лампочек в наличии в данной ситуации. Если на этом
этаже предмет разбился, нужно добавить следующее число в рассматриваемой

15
строке. В противном случае требуется вычесть ранее прибавленное число и
увеличить номер этажа на величину, стоящую в предыдущей строке и в
следующем столбце.

Таблица 1 – алгоритм нахождения максимальной нагрузки при любом


количестве предметов

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

Литература:
1. Петросян Л. А., Н. А. Зенкевич, Е.А. Семина. Теория игр: Учеб.
пособие для ун-тов. М.: Высшая школа, Книжный дом «Университет», 1998.
2. Л. И. Лопатников. Экономико-математический словарь: Словарь
современной экономической науки. М.: Дело. 2003.
3. Вентцель Е.С. Исследование операций: задачи, принципы,
методология. М.: Наука, Главная редакция физико-математической
литературы, 1980.
4. Чуднов А.М. Лекции по дисциплине моделирования для
адъюнктов. – Л.: ВАС 2018.
5. Помехоустойчивость линий и сетей связи в условиях
оптимизированных помех. А.М. Чуднов. Под редакцией. А. П. Родимова. – Л.:
ВАС, 1986.

16