К этому классу относятся задачи анализа систем с противодействием (конкуренцией), также игровых по сути, но с одной особенностью — "правила игры" не постоянны в одном единственном пункте — цены за то, что продается.
При небольшом числе участников торгов вполне пригодны описанные выше приемы теории игр, но когда число участников велико и, что еще хуже, заранее неизвестно, — приходится использовать несколько иные методы моделирования ситуаций в торгах.
Наиболее часто встречаются два вида торгов:
· закрытые торги, в которых два или более участников независимо друг от друга предлагают цены (ставки) за тот или иной объект; при этом участник имеет право лишь на одну ставку, а ведущий торги принимает высшую (или низшую) из предложенных;
· открытые торги или аукционы, когда два или более участников подымают цены до тех пор, пока новой надбавки уже не предлагается.
Рассмотрим вначале простейший пример закрытых торгов. Пусть мы (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.
Пусть мы знаем "толщину кошелька" конкурента и, поскольку ищем оптимальную стратегию для себя, нам безразлично — знает ли он то же о наших финансовых возможностях.
Задача наша заключается в том, что мы должны знать — когда надо прекратить подымать цену за первый объект. Эту задачу не решить, если мы не определим цель своего участия в аукционе (системный подход, напомним, требует этого).
Здесь возможны варианты:
· мы хотим иметь максимальный доход;
· мы стремимся минимизировать доход конкурента;
· мы желаем максимизировать разницу в доходах — свой побольше, а конкурента поменьше.
Наиболее интересен третий вариант ситуации — найти нашу стратегию, обеспечивающую
DA — DB = Max. {3-19}
Поскольку объектов всего два, то все решается в процессе торгов за первый объект. Будем рассматривать свой ход в ответ на очередное предложение цены X за этот объект со стороны конкурента.
Мы можем использовать две стратегии поступить двумя способами:
· стремиться уступить первый объект конкуренту — за наибольшую цену, надеясь купить второй;
· стремиться купить первый объект — за минимальную цену, уступив конкуренту второй.
Visual C++ для начинающихСодержание раздела