Если теперь попробовать смоделировать поведение конкурента, то для него:
· при стратегии C1 максимальный (max) проигрыш составит 1000 гривен;
· при стратегии C2 максимальный (max) проигрыш составит 2000 гривен.
Значит, наш конкурент, если он будет рассуждать здраво, выберет стратегию C1, поскольку именно она обеспечивает наименьший (min) из наибольших (max) проигрышей. Такую стратегию и называют стратегией MiniMax.
Легко заметить, что это одно и то же — вы делаете ход S3 в расчете на ответ C1, а ваш конкурент — ход C1 в расчете на S3.
Поэтому такие стратегии называют минимаксными — мы надеемся на минимум максимальных убытков или, что одно и то же, на максимум минимальной прибыли.
В двух рассмотренных примерах оптимальные стратегии "противников" совпадали, принято говорить — они соответствовали седловой точке матрицы игры.
Метод минимакса отличается от стандартного пути логических рассуждений таким важным показателем как алгоритмичность. В самом деле, можно доказать, что если седловая точка существует, то она находится на пересечении некоторой строки S и некоторого столбца C. Если число в этой точке самое большое для данной строки и, одновременно, самое малое в данном столбце, то это и есть седловая точка.
Конечно, далеко не все игры обладают седловой точкой, но если она есть, то поиск ее при числе строк и столбцов в несколько десятков (а то и сотен) по стандартному логическому плану — дело практически безнадежное без использования компьютерных технологий.
Но, даже при использовании компьютера, писать программу для реализации всех возможных If ... Then придется на специальных языках программирования (например — язык Prolog). Эти языки велико-лепны для решения логических задач, но практически непригодны для обычных вычислений. Если же использовать метод минимакса, то весь алгоритм поиска седловой точки займет на языке Pascal или C++ не более 5...10 строк программы.
Рассмотрим еще один простой пример игры, но уже без седловой точки.
C1 | C2 | |
S1 | -3000 | +7000 |
S2 | +6000 | +1000 |
Таблица 3.8
Задача в этом случае для нас (и для нашего разумного конкурента) будет заключаться в смене стратегий, в надежде найти такую их комбинацию, при которой математическое ожидание выигрыша или средний выигрыш за некоторое число ходов будет максимальным.
Пусть мы приняли решение половину ходов в игре делать с использованием S1, а другую половину — с S2. Конечно, мы не можем знать, какую из своих двух стратегий будет применять конкурент, и поэтому придется рассматривать два крайних случая его поведения.
Если наш конкурент все время будет применять C1, то для нас выигрыш составит 0.5·(-3000)+0.5·(+6000) = 1500 гривен.
Если же он все время будет применять C2, то на выигрыш составит 0.5·(+7000)+0.5·(+1000) = 4000 гривен.
Ну, это уже повод для размышлений, для анализа. В конце концов, можно прикинуть, а что мы будем иметь в случае применения конкурентом также смешанной стратегии? Ответ уже готов — мы будем иметь выигрыш не менее 1500 гривен, поскольку выполненные выше расчеты охватили все варианты смешанных стратегий конкурента.
Поставим вопрос в более общем виде — а существует ли наилучшая смешанная стратегия (комбинация S1 и S2) для нас в условиях применения смешанных стратегий (комбинации C1 и C2) со стороны конкурента? Математическая теория игр позволяет ответить на этот вопрос утвердительно — оптимальная смешанная стратегия всегда существует, но она может гарантировать минимум математического ожидания выигрыша. Методы поиска таких стратегий хорошо разработаны и отражены в литературе.
Таким образом, мы снова оказались в роли ЛПР — системный подход не может дать рецепта для безусловного получения выигрыша.
Нам и только нам, решать — воспользоваться ли рекомендацией и применить оптимальную стратегию игры, но при этом считаться с риском возможного проигрыша (выигрыш окажется гарантированным лишь при очень большом числе ходов).
Завершим рассмотрение последнего примера демонстрацией поиска наилучшей смешанной стратегии.
Пусть мы применяем стратегию S1 с частотой e, а стратегию S2 с частотой (1 - e).
Тогда мы будем иметь выигрыш
W(C1) = e · (-3000) + (1-e) · (+6000) = 6000 - 9000·e
при применении конкурентом стратегии C1
или будем иметь выигрыш
W(C2) = e · (+7000) + (1-e) · (+1000) = 1000 + 6000·e
при применении конкурентом стратегии C2.
Теория игр позволяет найти наилучшую стратегию для нас из условия W(C1) = W(C2); {3 - 16}
что приводит к наилучшему значению e=1/3 и математическому ожиданию выигрыша величиной в (-3000)·(1/3)+(+6000)·(2/3)=3000 гривен.
К этому классу относятся задачи анализа систем с противодействием (конкуренцией), также игровых по сути, но с одной особенностью — "правила игры" не постоянны в одном единственном пункте — цены за то, что продается.
При небольшом числе участников торгов вполне пригодны описанные выше приемы теории игр, но когда число участников велико и, что еще хуже, заранее неизвестно, — приходится использовать несколько иные методы моделирования ситуаций в торгах.
Наиболее часто встречаются два вида торгов:
· закрытые торги, в которых два или более участников независимо друг от друга предлагают цены (ставки) за тот или иной объект; при этом участник имеет право лишь на одну ставку, а ведущий торги принимает высшую (или низшую) из предложенных;
· открытые торги или аукционы, когда два или более участников подымают цены до тех пор, пока новой надбавки уже не предлагается.
Рассмотрим вначале простейший пример закрытых торгов. Пусть мы (A) и наш конкурент (B) участвуем в закрытых торгах по двум объектам суммарной стоимости C1 + C2.
Мы располагаем свободной суммой S и нам известно, что точно такой же суммой располагает наш конкурент. При этом S< C1 + C2, то есть купить оба объекта без торгов не удастся.
Мы должны назначить свои цены A1, A2 за первый и второй объекты в тайне от конкурента, который предложит за них же свои цены B1, B2. После оглашения цен объект достанется предложившему большую цену, а если они совпали — по жребию. Предположим, что и мы и наш конкурент владеем методом выбора наилучшей стратегии (имеем соответствующее образование).
Так вот — можно доказать, что при равных свободных суммах с нашей и с противоположной стороны существует одна, оптимальная для обеих сторон стратегия назначения цен.
Сущность ее (скажем, для нас) определяется из следующих рассуждений. Если нам удастся купить первый объект, то наш доход составит (C1 - A1) или же, при покупке второго, мы будем иметь доход (C2 - A2). Значит, в среднем мы можем ожидать прибыль
d = 0.5·(C1 + C2 — A1 — A2) = 0.5·(C1 + C2 — S). {3 - 17}
Таким образом, нам выгоднее всего назначить цены
A1 = C1 — d = 0.5 · (C1 — C2 + S);
A2 = C2 — d = 0.5 · (C2 — C1 + S). {3 - 18}
Если же одна из них по расчету окажется отрицательной — выставим ее нулевой и вложим все деньги в цену за другой объект.
Но и наш конкурент, имея ту же свободную сумму и рассуждая точно так же, назначит за объекты точно такие же цены. Как говорится, боевая ничья! Ну, если конкурент не владеет профессиональными
знаниями? Что ж, тем хуже для него — мы будем иметь доход больше, чем конкурент.
Конкретный пример. Сумма свободных средств составляет по 10000 гривен у каждого, цена первого объекта равна 7500, второго 10000 гривен.
Назначим цену за первый объект в 0.5·(7500-10000+10000)=3750 гривен, а за второй 0.5·(10000-7500+10000) = 6250 гривен.
Наш доход при выигрыше первого или второго объекта составит 3750 гривен. Такой же доход ожидает и конкурента, если он выбрал такую же, оптимальную стратегию. Но, если он так не поступил и назначил цену за первый объект 3500, а за второй 6000 гривен (пытаясь сэкономить!), то в таком случае мы можем выиграть торги по двум объектам сразу и будем иметь доход уже в 7500 гривен — приобретая имущество общей стоимостью в 17500 за цену в 10000 гривен!
Конечно, если стартовые суммы участников торгов неодинаковы, число объектов велико и велико число участников, то задача поиска оптимальной стратегии становится более сложной, но все же имеет аналитическое решение.
Рассмотрим теперь второй вид задачи — об открытых торгах (аукционах). Пусть все те же два объекта (с теми же стоимостями) продаются с аукциона, в котором участвуем мы и наш конкурент.
В отличие от первой задачи свободные суммы различны и составляют SA и SB , причем каждая из них меньше (C1 + C2) и, кроме того, отношение нашей суммы к сумме конкурента более 0.5, но менее 2.
Пусть мы знаем "толщину кошелька" конкурента и, поскольку ищем оптимальную стратегию для себя, нам безразлично — знает ли он то же о наших финансовых возможностях.