логические игры с противником

16
Логические игры с противником Санкт- Петербург 2014

Upload: -

Post on 20-Aug-2015

228 views

Category:

Education


0 download

TRANSCRIPT

Page 1: логические игры с противником

Логические игры с противником

Санкт-Петербург2014

Page 2: логические игры с противником

Игры для двух противниковСреди многих видов настольных игр имеются такие, которые

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

Page 3: логические игры с противником

Игры для двух противников

Если игрок выиграл – выигрыш положительное число x, если проиграл – выигрыш отрицательное число –x.

X + (-X) = 0Сумма выигрышей обоих игроков

равна нулю.Поэтому такие игры называют

играми с нулевой суммой, или антагонистическими играми.

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

Page 4: логические игры с противником

Оптимальная стратегия

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

Page 5: логические игры с противником

Дерево игры

Чтобы выполнить анализ игры и найти минимаксную стратегию, можно построить схему, называемую деревом игры (дерево обычно растет сверху вниз или слева направо). Кружки – состояния игры, линии – переходы из одного состояния в другое в зависимости от текущего хода одного из игроков. Вверху или слева – начальное состояние. Если при переходе в некоторое состояние игра заканчивается, то это состояние называется конечным, из него дальше нет никаких переходов. Если есть все конечные состояния, то такое дерево игры будет полным. Последовательность от начального состояния до конечного называется партией (вариантом) игры.

Page 6: логические игры с противником

КамниДва игрока, Петя и Ваня, играют в следующую игру. Перед игроками

лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 22. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 22 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 21.

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

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

Page 7: логические игры с противником

1. а) Укажите все такие значения числа S, при которых Петя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающий ход для каждого указанного значения S.

б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.

2. Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём

Петя не может выиграть за один ход, иПетя может выиграть своим вторым ходом, независимо от того, как будет

ходить Ваня. Для каждого указанного значения S опишите выигрышную стратегию Пети.

3. Укажите значение S, при котором: у Вани есть выигрышная стратегия, позволяющая ему выиграть первым

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

первым ходом.Для указанного значения S опишите выигрышную стратегию Вани.

Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах – количество камней в куче.

Page 8: логические игры с противником

Решениечасть 1а) Петя может выиграть за один ход.

При S≥22 игра завершается. Петя может: добавить в кучу один камень (+1), увеличить количество камней в куче в два раза (*2). Рассмотрим каждый вариант:

(+1):S= 22−1=21(*2): S=22\2=11 =>S [11;21]∈11*2=2212*2=24 (>22)...21*2=42 (>22)Получим следующие стратегии: при S [11;20] надо удвоить количество камней∈при S=21 надо добавить один камень или удвоить количество камней

Page 9: логические игры с противником

б) Ваня может выиграть за один ход при любом ходе Пети.Используем решение предыдущей задачи. Ваня может выиграть при S≥11.

Но Ваня ходит 2-м, а Петя 1-м.Нам нужно подобрать S.11 можно получить следующим образом: 10+1Построим дерево решений для S=10:

Получили, S=10.Стратегия будет такой:

Page 10: логические игры с противником

часть 2Петя не может выиграть 1-м ходом, он может выграть за 2 хода при любом

ходе Вани:Используем решение задачи части 1 (б).Дерево решений имеет вид:

Нам нужно подобрать S. 10 можно получить следующим образом:

9+15*2

Page 11: логические игры с противником

Получаем следующие деревья решений при S=5 и S=9:

Page 12: логические игры с противником

Красным крестом обозначена проигрышная ветка для Пети. При S=5 такая ветка приведет к тому, что никто не выиграет. При s=9 такая ветка приведет к тому, что Выиграет Ваня первым ходом, получая 36. В решении проигрышные стратегии указывать не нужно. Здесь они приведены для наглядности.

Получим следующие выигрышные стратегии:

Получили, S=5 и S=9.

Page 13: логические игры с противником

часть 3Ваня может выиграть за 1 или 2 хода при любых ходах Пети. Ваня не

может гарантированно выйграть 1-м ходом.Используем решение части 2. Стратегии, приведенные выше гарантируют

выйгрыш 2-м ходом. Нам нужно подобрать S. 5 можно получить следующим образом: 4+19 можно получить следующим образом: 8+1Построим деревья решений. Дерево для S=4:

Из дерева видно, что Ваня не сможет выиграть 1-м ходом, т.к. 9<22 и 16<22 (правая ветка дерева, ветки 4→8→9 и 4→8→16), поэтому s=4 не подходит.

Page 14: логические игры с противником

Дерево для S=8:

Из дерева видно, что Ваня сможет выиграть 1-м ходом, 32>22 (ветка 8→16→32).

Получили, S=8.

Page 15: логические игры с противником

Стратегия будет такой:

Page 16: логические игры с противником

Использованные материалы:

• Костюк Ю.Л. Основы разработки алгоритмов: учебное пособие/ Ю.Л. Костюк, И.Л. Фукс. – М.: БИНОМ. Лаборатория знаний. 2010. – 286 с.

• http://infoegehelp.ru/index.php?option=com_content&view=article&id=463&Itemid=77