Решение (способ 2, математический, О.В. Лучникова, г. Новокузнецк):



C3 (высокий уровень, время – 30 мин)

Тема: Дерево игры. Поиск выигрышной стратегии.

Что нужно знать:

· в простых играх можно найти выигрышную стратегию, просто перебрав все возможные варианты ходов соперников

· для примера рассмотрим такую игру: сначала в кучке лежит 5 спичек; два игрока убирают спички по очереди, причем за 1 ход можно убрать 1 или 2 спички; выигрывает тот, кто оставит в кучке 1 спичку

· первый игрок может убрать одну спичку (в этом случае их останется 4), или сразу 2 (останется 3), эти два варианта можно показать на схеме:

· если первый игрок оставил 4 спички, второй может своим ходом оставить 3 или 2; а если после первого хода осталось 3 спички, второй игрок может выиграть, взяв две спички и оставив одну:

· если осталось 3 или 2 спички, то 1-ый игрок (в обеих ситуациях) выиграет своим ходом:

· простроенная схема называется «деревом игры», она показывает все возможные варианты, начиная с некоторого начального положения (для того, чтобы не загромождать схему, мы не рисовали другие варианты, если из какого-то положения есть выигрышный ход)

· в любой ситуации у игрока есть два возможных хода, поэтому от каждого узла этого дерева отходят две «ветки», такое дерево называется двоичным (если из каждого положения есть три варианта продолжения, дерево будет троичным)

· проанализируем эту схему; если первый игрок своим первым ходом взял две спички, то второй сразу выигрывает; если же он взял одну спичку, то своим вторым ходом он может выиграть, независимо от хода второго игрока

· кто же выиграет при правильной игре? для этого нужно ответить на вопросы: 1) «Может ли первый игрок выиграть, независимо от действий второго?», и 2) «Может ли второй игрок выиграть, независимо от действий первого?»

· ответ на первый вопрос – «да»; действительно, убрав всего одну спичку первым ходом, 1-ый игрок всегда может выиграть на следующем ходу

· ответ на второй вопрос – «нет», потому что если первый игрок сначала убрал одну спичку, второй всегда проиграет, если первый не ошибется

 

· таким образом, при правильной игре выиграет первый игрок; для этого ему достаточно первым ходом убрать всего одну спичку

· в некоторых играх, например, в рэндзю (крестики-нолики на бесконечном поле) нет выигрышной стратегии, то есть, при абсолютно правильной игре обоих противников игра бесконечна (или заканчивается ничьей); кто-то может выиграть только тогда, когда его соперник по невнимательности сделает ошибку

· полный перебор вариантов реально выполнить только для очень простых игр; например, в шахматах сделать это за приемлемое время не удается (дерево игры очень сильно разветвляется, порождая огромное количество вариантов)

· все позиции в простых играх делятся на выигрышные и проигрышные

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

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

· выигрышные и проигрышные позиции можно охарактеризовать так:

- позиция, из которой все возможные ходы ведут в выигрышные позиции – проигрышная;

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

Пример задания:

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

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

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

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

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

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

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

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

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

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

Решение (способ 1, таблица ):

1) Вопрос 1а. Последним ходом может быть «+1» или «*2». Выиграть последним ходом «+1» можно, если S = 21. Ходом «*2» можно выиграть из любой позиции при S > 10 (сюда входит и 21!). Можно составить таблицу, в которой «В1» обозначает выигрыш за один ход:

S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
                      В1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1

Поэтому ответ должен быть такой:

«1а. Петя может выиграть за один ход при любом S > 10. Он должен увеличить вдвое число камней, при этом в куче всегда получится не менее 22 камней.»

2) Вопрос 1б. Для ответа на этот вопрос нужно найти позицию, из которой все возможные ходы ведут к выигрышу за 1 ход, то есть к позиции, отмеченной в таблице как «В1». Например, это позиция при S = 10: ход «+1» ведёт в выигрышную позицию S = 11, а ход «*2» ведёт в выигрышную позицию S = 20. Поэтому позицию S = 10 отметим в таблице как «×­1» (проигрыш за 1 ход):

S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
                    ×­1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1

Ответ на вопрос 1б должен быть такой:

«1б. При S = 10 Петя не может выиграть в один ход, потому что при его ходе «+1» число камней в куче становится равно 11 (меньше 22), а при ходе «*2» число камней в куче становится равно 20 (также меньше 22). Других возможных ходов у Пети нет. Из любой позиции после одного хода Пети (это может быть 11 или 20), Ваня может выиграть своим первых ходом, удвоив количество камней в куче.»

3) Вопрос 2. Пете, для того, чтобы гарантированно выиграть на втором ходу, нужно из начальной позиции перевести игру в проигрышную позицию, отмеченную знаком «×1». Пока мы нашли одну такую позицию: S = 10. Петя может перевести игру в эту позицию из позиций

S = 9 (ходом «+1») и S = 5 (ходом «*2»)

В таблице отмечаем эти положения как «В­­2» – гарантированный выигрыш за 2 хода:

S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
          В2       В2 ×1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1

Поэтому ответ должен быть такой:

«2. Из позиций S = 9 и S = 5 Петя не может выиграть в один ход, но Петя может выиграть своим вторым ходом, независимо от того, как будет ходить Ваня. При S = 9 ходом «+1» Пете нужно перевести игру в позицию S = 10, которая является проигрышной (см. ответ на вопрос 1б). При S = 5 Петя переводит игру в ту же позицию ходом «*2».»

4) Вопрос 3. Нужно найти такую позицию, из которой оба возможных хода Пети ведут в позиции, отмеченные в таблице как «В­1» (выигрыш в 1 ход) и «В­2» (выигрыш в 2 хода). Например, это позиция S = 8, из которой можно «попасть» только в S = 9 («В2») и S = 16 («В1»). Отмечаем эту позицию как «×2» – проигрыш в два хода:

S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
          В2     ×2 В2 ×­1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1 В1

Поэтому ответ должен быть такой:

«3. В позиции S = 8 у Вани есть выигрышная стратегия, которая позволяет ему выиграть первым или вторым ходом. Если Петя выбирает ход «+1», в куче становится 9 камней и Ваня выигрывает на 2-м ходу (см. ответ на вопрос 2). Если Петя выбирает ход «*2», Ваня выигрывает первым ходом, удвоив число камней в куче.»

5) Остается нарисовать дерево возможных вариантов игры из позиции S = 8. Для этого используем построенную таблицу:

Здесь красным цветом выделены позиции, в которых игра заканчивается.

Обратите внимание, что на каждом шаге мы рассматриваем все возможные ходы Пети и только один лучший ход Вани. Например, в позиции S = 11 Ваня может сделать ход «+1» и получить 12 камней в куче, но тогда он проиграет (Петя следующим ходом удвоит число камней и получит 24 камня). Этот ход мы не рассматриваем, потому что мы хотим доказать, что у Вани есть выигрышная стратегия – ему достаточно хода «*2», после которого он выиграет. В то же время нужно рассмотреть все возможные ответы Пети, чтобы доказать, что у него нет шансов на выигрыш при правильной игре Вани. В этом суть теории игр – добиться лучшего результата в худшем случае, то есть при безошибочной игре соперника.

Построенное дерево можно записать и в другой форме, например, «положив его на бок»:

Ещё один вариант – представить дерево в виде таблицы:

Начальная позиция 1-й ход Пети (все варианты) 1-й ход Вани (ход по стратегии) 2-й ход Пети (все варианты) 2-й ход Вани (ход по стратегии)

8

9

10

11 22 (выигрыш)
20 40 (выигрыш)
16 32 (выигрыш)    

Решение (способ 2, математический, О.В. Лучникова, г. Новокузнецк):

1) Вопрос 1а. Петя выигрывает первым ходом:

Петя должен правильно выбрать одно из двух возможных действий (+1 ИЛИ *2), которое переведет кучу камней к состоянию ≥22. Таким образом, получаем совокупность неравенств:

2) Вопрос 1б. Ваня выигрывает первым ходом:

Любое действие Пети (И +1 И *2) должно привести кучу камней к состоянию . Только это может обеспечить выигрыш Вани на следующем ходу. Таким образом, получаем систему:

3) Вопрос 2. Назовите два значения S, при которых Петя может выиграть своим вторым ходом?

4) Петя должен выиграть, а это значит, он должен правильно выбрать один из двух возможных вариантов действий (+1 ИЛИ *2), которое переведет кучу камней к состоянию . Только это может обеспечить ему выигрыш при любом действии его противника Вани. Таким образом, получаем совокупность:

5) Вопрос 3. При каком S Ваня выигрывает своим первым или вторым ходом?

6) Сначала найдем, при каком S Ваня гарантированно выигрывает именно вторым ходом.

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

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

8) Совокупность решений первой и второй частей – и есть все множество решений третьего вопроса. Т.е. S = 8.

9) Построим дерево игры для S = 8

Важное замечание по поводу решения этой задачи методом О.В. Лучниковой (Г. Сергеев, ГБОУ Гимназия 1551 г. Москвы): в случае, когда возможных ходов не два, а больше, при ответе на вопрос 3 прямое применение этого метода может привести к неверному результату. Действительно, система

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

Детали решения в случае трёх возможных ходов см. в следующей разобранной задаче (решение Г. Сергеева).


Дата добавления: 2023-01-08; просмотров: 16; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!