Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SB_13.doc
Скачиваний:
8
Добавлен:
11.05.2015
Размер:
962.05 Кб
Скачать
  1. Игры двух противников

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

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

Двое игроков имеют неограниченное число камней. По правилам игры игроки поочередно кладут по нескольку камней в общую кучу. За один ход можно положить один камень или удвоить число камней в куче. Первоначально в куче имеется 2 камня. Выигрывает тот игрок, после хода которого в куче окажется более 10 камней.

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

Удобнее начинать проверку с ходов, которые приводят к бóльшим изменениям кучи. Знаком «+» будем обозначать выигрышный ход игрока, а знаком «–» – проигрышный.

Начальное состояние кучи

1-й игрок

2-й игрок

1-й игрок

2-й игрок

1-й игрок

2

2*2=4

4*2=8

8*2=16 +

4+1=5

5*2=10

10*2=20 +

5+1=6

6*2=12 +

2+1=3

3*2=6

6*2=12 +

3+1=4

4*2=8

8*2=16 +

4+1=5

5*2=10

10*2=20 +

5+1=6

6*2=12 +

Понятно, что выигрышный ход игрока делает предыдущий ход противника проигрышным.

Начальное состояние кучи

1-й игрок

2-й игрок

1-й игрок

2-й игрок

1-й игрок

2

2*2=4

4*2=8

8*2=16 +

4+1=5

5*2=10

10*2=20 +

5+1=6

6*2=12 +

2+1=3

3*2=6

6*2=12 +

3+1=4

4*2=8 –

8*2=16 +

4+1=5

5*2=10

10*2=20 +

5+1=6

6*2=12 +

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

Начальное состояние кучи

1-й игрок

2-й игрок

1-й игрок

2-й игрок

1-й игрок

2

2*2=4

4*2=8 –

8*2=16 +

4+1=5 +

5*2=10 –

10*2=20 +

5+1=6 –

6*2=12 +

2+1=3

3*2=6 –

6*2=12 +

3+1=4

4*2=8 –

8*2=16 +

4+1=5 +

5*2=10 –

10*2=20 +

5+1=6 –

6*2=12 +

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

Начальное состояние кучи

1-й игрок

2-й игрок

1-й игрок

2-й игрок

1-й игрок

2

2*2=4

4*2=8 –

8*2=16 +

4+1=5 +

5*2=10 –

10*2=20 +

5+1=6 –

6*2=12 +

2+1=3 +

3*2=6 –

6*2=12 +

3+1=4

4*2=8 –

8*2=16 +

4+1=5 +

5*2=10 –

10*2=20 +

5+1=6 –

6*2=12 +

Вывод: выигрывает первый игрок, его первый ход должен быть +1.

C3 (30мин)

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

Игра завершается в тот момент, когда количество камней в куче становится не менее 22. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 22 или больше камней.

В начальный момент в куче было S камней, 1 ≤ S ≤ 21.

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

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

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

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

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

– Петя не может выиграть за один ход, и

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

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

3. Укажите значение S, при котором:

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

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

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

РЕШЕНИЕ

Задачу удобнее решать, ориентируясь на номер хода в игре, а не на конкретного игрока. Из условия ясно, что все нечетные ходы делает Петя, а четные – Ваня.

Построим дерево решений для ответа на вопрос 1а). Для выигрыша за один ход размер кучи нужно довести до 22 или более камней.

S

1-й ход в игре

S

S*2>=22; S>=11 +

S+1>=22; S>=21 +

Поскольку первоначально в куче не может быть 22 или более камней, получаем решение 11<=S<=21. Эти значения дают выигрыш игроку, делающему первый ход в игре, т.е. Пете.

Отвечая на вопрос 1б), учтем полученное неравенство. Для выигрыша на втором ходу игры (его делает Ваня) нужно, чтобы количество камней в куче после первого хода удовлетворяло неравенству 11<=S<=21. Построим дерево решений для ответа на вопрос 1б).

S

1-й ход в игре

2-й ход в игре

S

S*2>=11; S>=6

S*2*2 +

S*2<=21; S<=10

(S*2)+1 –

S+1>=11; S>=10

(S+1)*2 +

S+1<=21; S<=20

(S+1)+1 –

При S<10 игра может не завершиться на втором ходу. Например, при S=9: (9+1)*2<22. При S>10 выигрыш может быть достигнут на первом ходу. Например, при S=11: 11*2=22. Следовательно, S=10. Это значение дает выигрыш игроку, делающему второй ход в игре, т.е. Ване. Выигрышная стратегия Вани – увеличить вдвое количество камней в куче.

Отвечая на вопрос 2), учтем предыдущий результат. Третий ход в игре (его делает Петя) можно рассматривать как первый ход в игре и еще 2 хода. Для того чтобы второй из этих двух ходов был выигрышным, количество камней в куче должно стать равным 10 после первого хода в игре:

S

1-й ход в игре

S

S*2=10; S=5

S+1=10; S=9

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

S

1-й ход в игре

2-й ход в игре

3-й ход в игре

5

5*2=10 +

10*2=20 –

20*2=40 +

10+1=11 –

11*2=22 +

5+1=6 –

6*2=12 –

12*2=24 +

6+1=7 +

7*2=14 –

7+1=8 –

S

1-й ход в игре

2-й ход в игре

3-й ход в игре

9

9*2=18 –

18*2=36 +

18+1=19 –

19*2=38 +

9+1=10 +

10*2=20 –

20*2=40 +

10+1=11 –

11*2=22 +

Для выигрыша Пети на его втором ходу исходно в куче должно быть 5 камней (первый ход Пети 5*2) или 9 камней (первый ход Пети 9+1).

Отвечая на вопрос 3), учтем предыдущий результат. Четвертый ход в игре (его делает Ваня) можно рассматривать как первый ход в игре и еще 3 хода. Для того чтобы третий из этих трех ходов был выигрышным, количество камней в куче должно стать равным 5 или 9 после первого хода в игре:

S

1-й ход в игре

S

S*2=5; S вещественное

S+1=5; S=4

S*2=9; S вещественное

S+1=9; S=8

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

S

1-й ход в игре

2-й ход в игре

3-й ход в игре

4-й ход в игре

4

4*2=8 +

8*2=16 –

16*2=32 +

8+1=9 –

9*2=18 –

18*2=36 +

9+1=10 +

10*2=20 –

10+1=11 –

4+1=5 +

5*2=10 +

10*2=20 –

20*2=40 +

10+1=11 –

11*2=22 +

5+1=6 –

6*2=12 –

12*2=24 +

6+1=7 +

7*2=14 –

7+1=8 –

При S=4 Ваня не может выиграть первым ходом. В то же время, у Вани нет гарантированного выигрыша вторым ходом.

S

1-й ход в игре

2-й ход в игре

3-й ход в игре

4-й ход в игре

8

8*2=16 –

16*2=32 +

16+1=17 –

17*2=34 +

8+1=9 –

9*2=18 –

18*2=36 +

9+1=10 +

10*2=20 –

20*2=40 +

10+1=11 –

11*2=22 +

При S=8 у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети. Но у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]