Игровая задача распределения ресурсов
Славнова Алена Вячеславовна
Аннотация - В основе данной работы лежит непрерывная задача, предложенная в одной из работ Э.Г. Давыдова, исследуется и решается ее дискретный вариант. Разрабатывается алгоритм нахождения точек с целочисленными координатами, близкими к вершинам симплекса, а также алгоритм решения дискретной антагонистической игры.
Ключевые слова - распределение ресурсов; матричные игры; антагонистические игры; выпуклая оболочка; целочисленные решения; доминирование стратегий.
1.Введение
Распределение и использование ограниченных ресурсов часто встречает организованное противодействие конкурента, преследующего
противоположные цели. Исследование игровой модели обслуживания объектов и нахождение оптимальной стратегии игроков в непрерывном и дискретном случае -основная задача данной работы. За основу берется ситуация, предложенная Э.Г. Давыдовым, и проводится решение задачи с двумя ограничениями в п-мерном случае.
2. Постановка задачи
Рассмотрим следующую ситуацию. Имеются два игрока и ; объектов, часть из которых может быть обслужена игроками. У первого игрока в распоряжении п способов обслуживания. Кроме того, в распоряжении первого игрока имеется бюджет величины > 0 . В рамках этого бюджета он может обслужить объекты любым из своих способов. При этом стоимость обслуживания одного объекта : -м способом
равна
Пі > 0.: = 1. ...,п
. Таким образом, чтобы не выйти за рамки своего бюджета, он должен принимать такие решения, чтобы выполнялось неравенство
Славнова А.В., магистр 2 курса, факультет ВМК МГУ им. М.В. Ломоносова, кафедра исследования операций. Работа представляет собой результат магистерской диссертации
Второй игрок имеет в распоряжении т способов обслуживания объектов. В распоряжении второго игрока имеется бюджет величины В > О Стоимость обслуживания одного объекта } -м способом равна - . Если игрок решил использовать свой бюджет для
обслуживания ^ -м способом У) объектов, } = ,
то он затратит на реализацию этого решения средства бюджет, величина которого
4 .
Чтобы не выйти за рамки своего бюджета, игрок должен принимать только следующее решение:
ЇЧ
- 8-
Если некоторый объект обслуживается 1 -м способом первого игрока и ." -м способом второго игрока, то на этом объекте первый игрок выигрывает
величину" . Если первый игрок обслуживает некоторый объект ' -м способом, а второй игрок его не обслуживает, то выигрыш первого игрока на этом объекте равен^";. Если некоторый объект обслуживается І -м способом второго игрока, а первым игроком не обслуживается, то
выигрыш первого игрока на этом объекте равен^І. Если некоторый объект не обслуживается ни одним из игроков, то будем предполагать, что на этом объекте никто ничего не выигрывает. Кроме того, будем предполагать, что при любом допустимом решении ни первый, ни второй игроки не могут обслуживать более чем ; объектов.
Из таких предположений получаем следующие системы неравенств:
г ч т
< А,
[=1 І=І
т
2> * ь
;=1
> 0, I = 1, ...,11, V. У} * <М = 1 -т.
Естественно предположить, что вероятность встречи г-го способа обслуживания первого игрока с I -м способом обслуживания второго игрока равна
11 '
Вероятность того, что некоторый объект будет обслуживаться ^ -м способом первого игрока, а вторым игроком не обслуживается вовсе, равна
Вероятность того, что некоторый объект обслуживается / -м способом второго игрока, а первым игроком не обслуживается вовсе, равна
В качестве критерия эффективности операции принимаем математическое ожидание выигрыша первого игрока. Считаем, что первый игрок стремится
максимизировать свой выигрыш, а второй игрок -минимизировать выигрыш первого игрока.
Если первый игрок распределил свой бюджет в
а второй игрок
Если нападение атакует ^ -м способом объект, который не обороняется противником, то оно выигрывает
величину , причем не обязательно меньшей , так как в число способов нападения могут входить сравнительно недорогие фиктивные способы,
направленные на дезориентацию обороны противника. Если этими способами обслуживаются свободные от защиты объекты, то нападение выигрывает стоимость фиктивного способа. В противном случае защита проигрывает величину, равную разности между стоимостью обороны объекта и стоимостью фиктивного способа нападения.
Если некоторый объект защищается ■" -м способом обороны и на него не нападает первый игрок, то выигрыш
первого игрока равен^ . Величина 1 не обязательно отрицательна, так как оборона затрачивает на обслуживание этого объекта некоторые средства, а они не наносят ущерба противнику в виде уничтоженных
средств нападения. Величины - стоимости
обслуживания -м и ^м способом одного объекта первым и вторым игроком соответственно. Константы ^ и ^ -
бюджеты сторон, а *1 и У} - количества объектов, обслуживаемых способами обслуживания первого и второго игроков соответственно.[1]
3. Непрерывный случай
соответствии с вектором - в соответствии с вектором ожидаемый выигрыш равен
то
Будем искать вершины образованных системами:
многогранников,
№гСг. у) =
21 +^ ~
Функцию*^'}’) рассматриваем в качестве
платежной функции игры. Так как области изменения векторов X и у выпуклы, а игра билинейна, то игра имеет седловую точку.
Эта игра имеет следующую интерпретацию. Первый игрок - нападающий, а второй игрок защищается от нападения. У первого игрока имеется п способов нападения на; одинаковых объектов, принадлежащих защите. Защита располагает т способами обороны своих объектов. Если нападающий атакует некоторый объект : -
С
м способом, то нападение выигрывает величину . В эту величину могут входить ущерб, нанесенный объекту, стоимость средства нападения, стоимость средства
защиты. Величина не обязательно положительна,
поскольку защита может уничтожить средство нападения, а объект остается целым.
Воспользуемся следующими теоремами:
Теорема 1. Всякая непрерывная квазивыпуклая функция / , определенная на выпуклом компакте '•из- , достигает на-'- максимума в некоторой
крайней точке множества .[2]
Определение 1. Пусть " - замкнутое выпуклое
множество в
называется крайней точкой множества , если не существует таких точек
* * У из % и такого числа * Е (О* 1) _ что ж* = Хх + (1 —,
.[2]
Теорема 2. Пусть У е Ї . Для того, чтобы У была крайней точкой многогранного множества У, необходимо и достаточно, чтобы точка У* была единственным решением ее граничной системы.[2]
Определение 2Множество У = {у є £т|(и^ у) > С;,} = 1---г}.
Получаемое пересечение конечного числа полупространств, называется, многогранным.
Многогранник - это ограниченное многогранное множество. Крайние точки многогранного множества называются вершинами.[2]
Координаты вершин многогранника имеют не более двух ненулевых компонент. В зависимости от значений параметров в системе возможны три варианта решений:
линейного программирования. Использование линейного программирования для решения матричной игры -наиболее эффективный прием, позволяющий
использовать алгоритм симплекс-метода.
4.Случай целочисленного решения задачи
Теперь рассмотрим решение систем (3) и (4) в целых числах.
її
і-1
, т
£ В,
X *} -и
■ '
Разобьем задачу на два этапа. В первом этапе будем искать целочисленные решения системы с одним ограничением.
( і"" < ’ V?! > 0. і = 1. , п
ся
I) Если рассматривать первое уравнение системы
как неравенство, а второе как равенство и
А В
с; < ~,Ъ; <
I * I тогда решение:
(3) и для (4)
II) Если первое уравнение равенство, а
А В
О; > -Г, Ь, > у
второе - неравенство и I * А , тогда решение:
для (3) и
для (4)
III) Если оба неравенства и
А В
а. < — < а-. Ь- < — < Ь-
1 I 1 г I 1, то
*Т0.;) = Дс@0. (в^ I - А)/{аЦ - СЦ1 ),0....0. ( 1а - «Я
для (3) и ^ Пусть
для (4)
Будем считать числа Ай[.! = 1, ,..,п целыми. Действительно, если они рациональные, то неравенства можно домножить на общий знаменатель.
Для исследования разрешимости уравнения
= А
в целых неотрицательных числах нам потребуется 1. Пусть НОД(аі'аі)=1 і
Лемма 1 < < и1
. Тогда ^ ^ , где
А = й1йг-й1 уравнение в1*1 + = ^
разрешимо в целых неотрицательных числах [3]
^ - наибольшее из чисел
>Сtт Рр(зс?1Й 40и* С Ч5сЬх- ■, цШ${Жх1..
симплекса существуют целые точки. Для каждого ребра
Подставляя найденные значения в
функцию'л С*<з0, формируем матричную игру, решение которой можно свести к паре двойственных задач
ЕИйН
симплекса строим на нем крайние
(-- - множество крайних точек
выпуклой оболочки), имеющие соответственно
максимальные г-ю и _/-ю компоненты. При х1/
компонента I равна наименьшему числу
удовлетворяющему
и л-у'/
а 1 «і .
сравнению
М
все симплексы гА
. Аналогично определяется точка а Лі = А — й[(Л; + 1) Просматриваем
близкие к
і ■ .1 ■: !
симплекса -Уі . Если ^ 5 , то по
Хл
вершинам
аналогии с предыдущим строим на ребрах симплекса Ллі Л’ “с с
точки из
Хл
и симплексы, близкие к вершинам
симплекса ллі. Если А £ А , то перебором находим все целые решения симплекса.[4]
Теперь введем еще одно ограничение в систему. Оно добавит новые точки и отсечет лишние.
2_1аіхі - а* [=і
л
-*■
лі а о.* = і.
Находим решение системы с двумя ограничениями для непрерывного случая. Целочисленное решение получим путем округления координат найденных точек до целых в большую и меньшую сторону. Для минимизации потерь оптимальных решения, добавим во множество решений точки с координатами,
отличающимися от целочисленных решений непрерывной задачи на 11 .
Без каких-либо потерь мы можем включить в дальнейшее решение задачи только те точки, которые составляют выпуклую оболочку.
Теорема 3 (Теорема Каратеодори) Пусть * -
Ет дСРтКИ
его выпуклая
некоторое множество оболочка. Тогда каждая точка
множества™™^} может быть представлена как выпуклая комбинация, содержащая не более чем т + 1 точек множества - .
Воспользовавшись теоремой, запишем условие, с помощью которого можем исключить точки, не составляющие выпуклую комбинацию с другими:
1с— 1
1 > х*,к = 1......
4-і
I
Аі = 1, Я; > О,
га
Аналогично решая систему (4) для второго игрока при помощи равенства (2) можем сформировать матрицу платежной функции из точек, удовлетворяющих ограничениям каждой системы.
Сформировав матричную игру, при помощи симплекс-метода не трудно найти решение поставленной задачи в смешанных стратегиях.
5.Пример
Рассмотрим пример. В распоряжении первого игрока находится 3 способа обслуживания со стоимостью 5, 3 и 2. Имеется бюджет равный 179, и количество объектов - 40. Составим систему:
I
5^! 4- З.ї3 +- 2хя < 11 9 + г, < 40 £ 0, і = 1,.,, 3
Будем искать целочисленные решения задачи. Для начала оставим только первое ограничение .
Минимальный коэффициент нашего неравенства равен 2-ум, что дает нам право искать крайние целые точки не более чем на двух слоях. Действительно, в противном случае, решения на других слоях можно получить, уменьшая переменную с минимальным коэффициентом на какое-либо целое число.
При помощи алгоритма получаем точки с координатами:
(34, 3, 0), (34, 1, 3), (35, 0, 2), (1, 58, 0), (0, 57, 4), (0, 59, 1), (1, 0, 87), (0, 1, 88), (35, 1, 0), (34, 2, 1), (34, 0, 4), (2, 56, 0), (1, 57, 1), (0, 58, 2), (0, 0, 89)
Переходим к следующему этапу: решение
непрерывной задачи с двумя ограничениями. Результат запишем в виде матрицы
Округлением координат до целых в большую и меньшую сторону, а также изменением целых координат
на , получим матрицу целочисленных решений -- . Добавим к ней ранее найденные точки и оставим только те, которые удовлетворяют обоим условиям ограничений в задаче. Мы получили матрицу -- достаточно большой размерности. Воспользовавшись теоремой Каратеодори и условиями (7) и (8), избавимся от точек, доминируемых выпуклой комбинацией остальных. Итоговая матрица
примет вид
0
1 О О
40 0
39 39 0
0 39
1 39
0 40
0
11 29 .0 30
10 29
10 29 ^3 0 32>
0
1 о
Рассмотрим второго игрока, для которого систему ограничений зададим следующим образом:
1)1 + 29+ 17)з 4- < 158
VI + Уж + + у* £ 40 ,
Решая аналогичным образом, получаем матрицу решений:
Введем величины:
/12 2 5 -3\
,= 2 1 -+ 12 \6 -11+ ъ)
-ш
Формируем матричную игру используя (2) и решаем задачу линейного программирования. Решением конкретного примера в смешанных стратегиях будет:
э=^0, 0, 0. 0. 0, 0,
262400 451400\
-------,0, О, о, ----=1.
81803Z
г 173200 180200\
|= (О, 0, 0, 0.___—, 0. 0.0, 0, 0, 0, 0.0.0, -------1
318037
272679/
Значение матричной игры 713800
6. Заключение
На примере игровой модели обслуживания объектов мы исследовали и решили задачу с двумя ограничениями в непрерывном и дискретном случае, а также разработали алгоритм нахождения целочисленного решения задачи с двумя ограничениями
Библиография
1. Давыдов, Э.Г. Исследование операций - М.: Высшая Школа, 1990. - 383 с.
2. Васин А.А. Исследование операций / А.А.Васин, П.С.Краснощеков, В.В. Морозов. - М.: Издательский центр «Академия», 2008. - 464с.
3. Green, T.M. Linear Diophantine equations with nonnegative parameters and solutions // Fibonacci Quarterly. V.6, No.2. 1968. P.177 - 184
4. Морозов В.В., Шалбузов К.Д. О решении дискретной игры распределения ресурсов //Вестн. Моск. ун-та, сер. 15. Вычисл. матем. и матем. киберн. 2014. № 2. С. 10-16.
-2 1 4)
Resources allocation game on defense several object
Slavnova Alyona Vyacheslavovna
Abstract - This paper based on E.G. Davydov's continuous task. It is investigated and solved discrete version. Has been developed an algorithm for finding points with integer coordinates, close to the vertices of the simplex, and developed the algorithm for solving the discrete zero-sum game.
Keywords - the allocation of resources; matrix games; zero-sum games; convex hull; integral solutions; dominance strategies.