Теория игр на паскале информатика егэ

На уроке рассмотрен разбор 19, 20, 21 задания ЕГЭ по информатике: дается подробное объяснение и решение задания

Содержание:

  • Объяснение заданий 19, 20 и 21 ЕГЭ по информатике
    • Теория игр. Поиск выигрышной стратегии
  • Решение 19, 20, 21 заданий ЕГЭ по информатике
    • Игра с двумя кучами камней или табличка
  • Задания для тренировки 19, 20, 21 заданий ЕГЭ (взяты из КИМ и сборников прошлых лет)
    • Игра с одной кучей камней
    • Игра с набором слов

Объяснение заданий 19, 20 и 21 ЕГЭ по информатике

19-е задание: «Анализ алгоритма логической игры»

Уровень сложности

— повышенный,

Требуется использование специализированного программного обеспечения

— нет,

Максимальный балл

— 1,

Примерное время выполнения

— 6 минут.

  
Проверяемые элементы содержания: Умение анализировать алгоритм логической игры

20-е задание: «Поиск выигрышной стратегии»

Уровень сложности

— повышенный,

Требуется использование специализированного программного обеспечения

— нет,

Максимальный балл

— 1,

Примерное время выполнения

— 6 минут.

  
Проверяемые элементы содержания: Умение найти выигрышную стратегию игры

21-е задание: «Дерево игры для выигрышной стратегии»

Уровень сложности

— повышенный,

Требуется использование специализированного программного обеспечения

— нет,

Максимальный балл

— 1,

Примерное время выполнения

— 10 минут.

  
Проверяемые элементы содержания: Умение построить дерево игры по заданному алгоритму и найти выигрышную стратегию

До ЕГЭ 2021 года — эти задания были объединены в задание № 26 ЕГЭ

Типичные ошибки и рекомендации по их предотвращению:

«Для пункта 2 или 3 в представленной стратегии рассмотрены не все возможные ходы проигрывающего игрока, которые он может сделать при игре выигрывающего игрока по выигрышной стратегии.
Для пункта 3 представлено дерево игры, содержащее лишние ветви, не относящиеся к выигрышной стратегии.
Дерево, являющееся частью ответа на пункт 3, представлено с использованием ссылок на
фрагменты, являющиеся решениями других пунктов задания.
В задании спрашивается, в частности, кто выиграет, а в ответе не указан в явном виде выигрывающий игрок. На все вопросы, поставленные в задании, должны быть даны чёткие ответы. Ответ на вопрос о выигрышной стратегии в стиле «Может выиграть первый игрок, но если он неправильно пойдёт, то выиграет второй» является ошибочным, поскольку выигрышная стратегия одного игрока не оставляет возможности победы другому игроку»

ФГБНУ «Федеральный институт педагогических измерений»

* Некоторые изображения и примеры страницы взяты из материалов презентации К. Полякова

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

Для решения 19 задания необходимо вспомнить следующие темы и понятия:

    Выигрышная стратегия

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

  • все позиции в простых играх делятся на выигрышные и проигрышные;
  • выигрышная позиция – это такая позиция, в которой игрок, делающий первый ход, обязательно выиграет при любых действиях соперника, если не допустит ошибки; при этом говорят, что у данного игрока есть выигрышная стратегия – алгоритм выбора очередного хода, позволяющий ему выиграть;
  • если игрок, делающий первый ход, находится в проигрышной позиции, то он обязательно проиграет, если ошибку не сделает его оппонент; в этом случае говорят, что у данного игрока нет выигрышной стратегии; таким образом, общая стратегия игры состоит в том, чтобы своим ходом создать проигрышную позицию для оппонента;
  • выигрышные и проигрышные позиции характеризуются так:
  • позиция, из которой все возможные ходы ведут в выигрышные позиции – проигрышная;
  • позиция, из которой хотя бы один из последующих возможных ходов ведет в проигрышную позицию — выигрышная, при этом стратегия игрока состоит в том, чтобы перевести игру в эту проигрышную (для оппонента) позицию.
  • Кто выиграет при стратегически правильной игре?

  • для того чтобы определить, какой из игроков выиграет при стратегически правильной игре, необходимо ответить на вопросы:
  • Может ли какой-либо из игроков выиграть, независимо от ходов других игроков?
  • Что должен сделать игрок с выигрышной стратегией первым ходом, чтобы он смог выиграть, независимо от действий ходов игроков?

Рассмотрим пример:

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

Решение:

  • Будем использовать метод построения дерева. Первый играющий может убрать одну спичку (в этом случае их останется 4) или сразу 2 (останется 3), эти два варианта отобразим при помощи дерева:
  • пример 19 задания егэ по информатике

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

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

  • если первый игрок своим первым ходом взял две спички, то второй сразу выигрывает; если же он взял одну спичку, то своим вторым ходом он может выиграть, независимо от хода второго игрока;
  • итак, убрав всего одну спичку первым ходом, 1-ый игрок всегда может выиграть на следующем ходу;
  • тогда как второй игрок не может выиграть, независимо от действий первого: потому что, если первый игрок сначала убрал одну спичку, второй всегда проиграет.

Ответ: при правильной игре (стратегии игры) выиграет первый игрок; для этого ему достаточно своим первым ходом убрать одну спичку.

Решение 19, 20, 21 заданий ЕГЭ по информатике

Плейлист видеоразборов задания на YouTube:
Задание демонстрационного варианта 2022 года ФИПИ


Игра с двумя кучами камней или табличка

19_8:

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 59. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 59 или больше камней.
В начальный момент в первой куче было 5 камней, во второй куче – S камней; 1 ≤ S ≤ 53.

Задание 19 ЕГЭ.

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

Задание 20 ЕГЭ.

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

  
Задание 21 ЕГЭ.
Найдите два значения S, при которых одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Найденные значения запишите в ответе в порядке возрастания.

✍ Решение:

  • Нарисуем таблицу, в первом столбце которой будем откладывать количество камней в первой куче, а в первой строке — количество камней во второй куче. Получим матрицу. Поскольку в первой куче количество начинается с 5, то это и будет первым значением в таблице. Во второй куче начнем с наибольшего возможного числа — 53. Таблица пригодится для решения заданий 20 и 21:
  • 19 егэ с таблицей

  • Для начала найдем все выигрышные позиции для первой строки таблицы, т.е. для первого хода. Обозначим их плюсами (+):
  • 19 задание 2 кучи

    Выигрышные позиции для первой строки ищем по принципу увеличения количества камней S в 2 два раза: 5 + S*2 >=59. Получим S>=27

  • Для того, чтобы получить наименьшее значение S, в качестве первого хода Пети необходимо увеличивать в два раза вторую кучу. Т.е. для решения задания необходимо найти такое наименьшее S, при котором Петя походил неверно, и попал своим ходом в выигрышную позицию для своего соперника, т.е. в ячейку с плюсом:
  • S = 14
    1 ход Петя: 14*2 = (5,28)
    2 ход Ваня: 28*2 = (5,56), Сумма = 61, Выигрыш! 
    

Ответ: 14

✎ Задание 20:

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

    При заполнении таблицы выигрышными позициями можно проследить закономерность «узора», а заполнять позиции по аналогии.

  • Найдем проигрышные позиции: те, которые ведут только в выигрышные позиции для соперника (ведут только в плюсы)
  • Проигрышные позиции: (6,26) (8,25) (10,24) (12,23) (14,22)

  • В задании требуется найти минимальное S, котором выиграет Петя, но выиграет он НЕ первым своим ходом, а вторым. То есть в нашем случае необходимо найти S, которое может перевести соперника в проигрышную позицию. То есть в минус. Для первой строки (так как первым будет ходить Петя) таких значений два:
  • Наименьшее S = 24
  • Для решения этого задания найдем выигрышные позиции со второго хода, т.е. которые могут перевести соперника в проигрышную позицию (с минусом):
  • Чтобы выиграл Ваня, но выиграл не первым ходом, а вторым, необходимо, чтобы Петя находился в такой позиции, которая ведет его только на выигрышные позиции со второго хода:

Ответ: 23 25


>19_9:

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

Например, пусть в одной куче 6, а в другой 9 камней; такую позицию мы будем обозначать (6, 9). За один ход из позиции (6, 9) можно получить любую из четырёх позиций: (5, 9), (3, 9), (6, 8), (6, 5).

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не более 20. Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 20 или меньше камней. В начальный момент в первой куче было 10 камней, во второй куче – S камней, S > 10.

Задание 19 ЕГЭ.

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

Задание 20 ЕГЭ.

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

Задание 21 ЕГЭ.

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

✍ Решение (Excel):

✎ Задание 19:

  • В столбце А отложим значения — количество камней в первой куче. Начнем с ячейки А2, в которую внесем начальное количество камней, т.е. 10. Автозаполнением продлим значения вниз до 0:
  • В строке 1 таблицы (начиная с ячейки B1) отложим значения для второй кучи. Поскольку в задании говорится, что победа будет достигнута при S<=20, и достигнуть этого значения более сильной командой можно уменьшив кол-во камней во второй куче в два раза, начиная с числа 40: 40/20. То есть возьмем значение больше 40, примерно 45. Используем автозаполнение до значения 11:
  • Из двух команд, которые могут выполнять игроки, выберем наиболее сильную, т.е. благодаря которой можно быстрее достичь выигрышного диапазона и попасть в значения S<=20. Это команда уменьшения количества камней в два раза, т.е. /2.
  • Для каждой из ячеек полученной таблицы рассчитаем значение, полученное в результате уменьшения в два раза той кучи камней, в которой большее количество камней (так как это даст меньший результат). Например, для ячейки С5, в которой игрок имеет в первой куче 7 камней, а во второй куче 44 камня, мы бы выполнили действие 44/2+7. Т.е. уменьшили вдвое вторую кучу, т.к. в ней больше камней. Еще необходимо обращать внимание на четность и нечетность значений (в Excel это функция ЕНЕЧЁТ — возвращает ИСТИНУ, если значение нечетно).
  • Чтобы автоматизировать процесс необходимо использовать формулу, в которой найдем максимальное значение из двух вариантов:
  • Минимальное из
    (ЕСЛИ(ЕНЕЧЁТ(1-я куча) то (1-я куча+1)/2+2-я куча, 
    иначе 1-я куча/2+2-я куча);
    ЕСЛИ(ЕНЕЧЁТ(2-я куча) то (2-я куча+1)/2+1-я куча, 
    иначе 2-я куча/2+1-я куча)).
    
  • Выразив это в формуле Excel, получим результат, который внесем в ячейку B2:
  •  = МИН(ЕСЛИ(ЕНЕЧЁТ($A2);($A2+1)/2+B$1;$A2/2+B$1);ЕСЛИ(ЕНЕЧЁТ(B$1);(B$1+1)/2+$A2;B$1/2+$A2))
  • Здесь знак $ будем использовать для фиксации столбца А и строки 1 при копировании формулы.
  • Скопируем формулу на всю таблицу.
  • Выделим всю таблицу и используем Условное форматирование для выделения тех значений, которые попадают в выигрыш (<21):
  • Выделенные значения — это значения, которые можно получить в сумме двух куч, выполнив ход из данной ячейки. И по сути, это и есть выигрышные позиции с 1 хода.
  • Далее следуем логике рассуждения: Ваня сможет выиграть своим первым ходом в том случае, если Петя оказывается РЯДОМ с выигрышной позицией, и любой его ход попадает ТОЛЬКО в выигрышные позиции для Вани (в выделенную область). Это позиция при S = 21:

Ответ: 21
✎ Задание 20:

  • Продолжаем работать с той же таблицей, что и в задании 19. Выделим все проигрышные позиции (из которых можно походить только в выигрышные позиции для соперника, т.е. в выделенные ячейки):
  • Петя может выиграть свои вторым ходом, если он не может выиграть первым ходом, но может выполнить ход в позицию, проигрышную для соперника (в ячейку, выделенную красным). Такие позиции назовем выигрышные позиции со второго хода. Найдем минимальное и максимальное значение S при таком первом ходе Пети:
  • При S=44 Пете необходимо уменьшить 2-ю кучу вдвое (44/2 = 22), чтобы оказаться в проигрышной позиции для соперника.

Ответ: 22 44

  
✎ Задание 21:

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

Ответ: 24


19_7: с экзамена ЕГЭ 2020г. (со слов учащегося):

Два игрока, Петя и Ваня, играют в следующую игру. На табличке написаны два значения. Оба игрока в свой ход могут заменить одно из значений на сумму обеих (по своему выбору). Первый ход делает Петя. Игра считается законченной когда сумма обеих значений равняется не меньше 56. То есть выигрывает игрок, получивший 56 или более в сумме. Начальное значение (10, S).

Задание 19 ЕГЭ.

Найдите максимальное S при котором Петя не может выиграть первым ходом.

Задание 20 ЕГЭ.

У кого из игроков есть выигрышная стратегия при начальном значении (9, 15).

Задание 21 ЕГЭ.

У кого из игроков есть выигрышная стратегия при начальном значении (3,7)? Опишите эту стратегию и изобразите дерево всех возможных партий

при этой стратегии

.

Типовые задания для тренировки

✍ Решение:

  • Задание 19.
    Максимальное S при котором Петя НЕ может выиграть своим первым ходом S = 22. Петя проиграет, если в сумме получится 55 и меньше. Первое значение = 10, необходимо найти второе значение, при этом максимальное. Схематично отобразим варианты ходов:
  • (10,22) - ход Пети - (10+22, 22) - итог суммы обеих значений таблички: 32 + 22 = 54 (<56)

    Для того, чтобы сделать сумму большей, Петя заменит первое значение на сумму, так как оно меньше второго значения (10<22)

  • Задание 20.
    В начальной позиции (9, 15) выигрышная стратегия есть у Вани. Для себя отобразим схематично выигрышную партию Вани:
  • дерево выигрышной партии Вани

    Зеленым цветом выделены выигрышные ходы.

  • Задание 21.
    В начальной позиции (3, 7) выигрышная стратегия есть у Вани. Изобразим дерево всех возможных партий при этой стратегии (раз говорится «при этой стратегии» имеем в виду, выигрышную стратегию Вани):
  • дерево всех возможных при этой стратегии партий

    Дерево для выигрышной стратегии Вани: для Вани отображены только ходы по стратегии, для Пети — все возможные ходы. Зеленым цветом — выигрышный ход, красная обводка — ход по стратегии.

Решение подобного задания в Excel смотрите на видео:
📹 Видео

📹 Видеорешение на RuTube здесь


19_6:

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

В начальный момент в первой куче было 5 камней, во второй куче – S камней; 1 ≤ S ≤ 38

Задание 19 ЕГЭ.

При каких S: 1а) Петя выигрывает первым ходом; 1б) Ваня выигрывает первым ходом?

Задание 20 ЕГЭ.

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

Задание 21 ЕГЭ.

Назовите значение S, при котором Ваня выигрывает своим первым или вторым ходом.

✍ Решение:

  • Нарисуем таблицу, в первом столбце которой будем откладывать количество камней в первой куче, а в первой строке — количество камней во второй куче. Получим матрицу. Поскольку в первой куче количество начинается с 5, то это и будет первым значением в таблице. Во второй куче начнем с наибольшего возможного числа — 38:
  • 19 егэ

    Задание 19 а):

  • Далее будем рассуждать так: Петя может выиграть первым ходом, выполнив команду *2 (увеличить количество камней в куче в два раза), если вместо S (кол-во камней во второй куче), мы будем изменять значение, начиная от 20, до последнего возможного по условию значения 38:
  • 5 + 20*2 = 45 (>44)
    
    * 5 - кол-во камней в первой куче, оно не меняется по условию
    
  • Соответственно, все значения большие 20 дадут в результате число большее 44. Укажем это в таблице. + означает выигрышную позицию с первого хода:
  • Ответ 1 а):

    S = [20;38] (На ЕГЭ пояснить ходы, например: (5; 20) -> (Ход Пети)-> (5;40); 40 + 5 = 45)

    Задание 19 б):

  • Поскольку Ваня будет ходить вторым, то необходимо поменять количество камней и в первой куче. Значит рассмотрим ситуации, что Петя мог бы ходить первым ходом в (7;S) и в (10;S). Укажем, будут ли эти позиции выигрышные с одного хода: например (7;19) выигрышная позиция, т.к. игрок выполнит ход в (7;38) и выиграет (7 + 38 = 45). Соответственно, выигрышными являются и все позиции (7;больше 19). Проанализируем таблицу, увеличивая количество камней в первой куче и выполняя поиск выигрышных позиций с одного хода:
  • решение 19 егэ про две кучи камней

  • Последующая логика рассуждений: Ваня может выиграть своим первым ходом, когда Петя своим первым ходом сможет ходить только в выигрышные позиции с первого хода (в +). Отметим такие позиции, учитывая, что это первый ход Пети, и кол-во камней в первой куче должно быть 5. Найденные позиции будут проигрышными позициями (-):
  • Находим единственное такое значение — (5; 19). Т.е. S = 19.
  • Ответ 1 б):

    S = 19 (На ЕГЭ пояснить ходы, например: (5; 19) -> (Ходы Пети): (5;21),(5;28);(7;19);(7;28). Везде следующим ходом выиграет Ваня, см. предыдущ. пункт)

    Задание 20:

  • Обратим внимание, что в таблице, все образовавшиеся «уголки» являются проигрышными позициями (с 1-го хода): то есть если игрок, оказывается в такой позиции, то он может выполнить ход только в выигрышные позиции (то есть следующим ходом выиграет соперник):
  • Логика рассуждений: Петя сможет выиграть своим вторым ходом, когда своим первым ходом он попадет в проигрышную позицию, т.е. переведет соперника в проигрышную ситуацию. Такие значения: S = 16, 17 или 18. Назовем эти позиции выигрышными со второго хода (2+):
Ответ 2:

S = 16, 17 или 18 (На ЕГЭ пояснить ходы, ссылаясь на объяснения в предыдущих пунктах)

Задание 21:

  • Укажем в таблице также позиции, выигрышные с n-го хода: когда игрок может перевести соперника в проигрышную позицию:
  • Укажем также проигрышные позиции со второго хода: игрок, оказавшийся в такой позиции может выполнить ход только на выигрышные позиции (тогда соперник выиграет):
  • Логика рассуждений: Ваня сможет выиграть своим первым или вторым ходом, когда Петя своим первым ходом может попасть только либо в позицию выигрышную с первого хода (+), либо в позицию выигрышную со второго хода или n-го хода (2+). Это позиция при S = 14:

  • Ответ 3: S = 14 (На ЕГЭ пояснить ходы, ссылаясь на объяснения в предыдущих пунктах)

    📹 YouTube здесь

    Видеорешение на RuTube здесь


    Задания для тренировки 19, 20, 21 заданий ЕГЭ (взяты из КИМ и сборников прошлых лет)

    Игра с одной кучей камней

    19_3: Демоверсия ЕГЭ 2018 информатика:

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

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

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

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

    Задание 20 ЕГЭ
    Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причем:
    — Петя не может выиграть за один ход;
    — Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
    Для указанных значений S опишите выигрышную стратегию Пети.

    Задание 21 ЕГЭ
    Укажите значение S, при котором:
    — у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
    — у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

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

    Дерево не должно содержать партий, невозможных при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не является верным ответом на это задание.

    ✍ Решение:

      Задание 19.

    • а) Петя может выиграть, если S = 15, … 28
    • 15, ..., 28 - выигрышные позиции с первого хода
      
    • б) Ваня может выиграть первым ходом (как бы ни играл Петя), если в куче будет S = 14 камней. Тогда после первого хода Пети в куче будет 15 или 28 камней. В обоих случаях Ваня удваивает кучу и выигрывает в один ход.
    • S = 14
      Петя: 14 + 1 = 15  выигрышная позиция (см. п. а). Выигрывает Ваня
      Петя: 14 * 2 = 28   выигрышная позиция (см. п. а). Выигрывает Ваня
      
      14 - проигрышная позиция
      

      Задание 20.

    • Возможные значения S: 7, 13. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 14 камней: в первом случае удвоением, во втором — добавлением одного камня. Эта позиция разобрана в п. 1б. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может, а его противник (то есть Петя) следующим ходом выиграет.
    • S = 7
      Петя: 7 * 2 = 14  проигрышная позиция (см. п. 1 б). Выигрывает Петя
      S = 13
      Петя: 13 + 1 = 14 проигрышная позиция (см. п. 1 б). Выигрывает Петя
      
      7, 13 - выигрышные позиции со второго хода
      

      Задание 21.

    • Возможные значения S: 12. После первого хода Пети в куче будет 13 или 24 камня. Если в куче их станет 24, Ваня удвоит количество камней и выиграет первым ходом. Ситуация, когда в куче 13 камней, разобрана в п. 2. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.
    • S = 12
      Петя: 12 + 1 = 13  
      Ваня: 13 + 1 = 14 проигрышная позиция (см. п. 1 б). Выигрывает Ваня вторым ходом!
      

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


    19_4: Досрочный егэ по информатике 2018, вариант 1. Задание 19:

    Два игрока, Паша и Вася, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один или четыре камня или увеличить количество камней в куче в пять раз. Игра завершается в тот момент, когда количество камней в куче становится не менее 69.
    Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 69 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 68.

    Задание 19 ЕГЭ.

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

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

    Задание 20 ЕГЭ.

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

    Задание 21 ЕГЭ.

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

      
    Типовые задания для тренировки

    ✍ Решение:

      19.
      а) S ≥ 14. При количестве камней в куче от 14 и выше Паше необходимо увеличить их количество в пять раз, тем самым получив 70 или более камней.

      S ≥ 14 выигрышные позиции
      

       
      б) S = 13. Паша своим первым ходом может сделать 14, 17 или 65 камней, после этого Вася увеличивает количество в пять раз, получая 70, 85 или 325 камней в куче.

      S = 13 
      Паша 1 ход: 13 + 1 = 14
      Паша 1 ход: 13 + 4 = 17
      Паша 1 ход: 13 * 5 = 65
      
      Ваня 1 ход: [14, 17, 65] * 5 = S ≥ 14  Ваня выигрывает
      
      13 - проигрышная позиция
      

      20. S = 9, 12. Для данных случаев Паше необходимо прибавить 4 камня к куче из 9 камней, либо 1 камень к куче из 12, и получить кучу из 13 камней.
      После чего игра сводится к стратегии, описанной в пункте .

      S = 13 
      Паша 1 ход: 9 + 4 = 13  Паша выигрывает
      Паша 1 ход: 12 + 1 = 13 Паша выигрывает
      
      9, 12 - выигрышные позиции со второго хода
      

      21. S = 8. Своим первым ходом Паша может сделать количество камней в куче 9, 12 или 40. Если Паша увеличивает кол-во в пять раз, тогда Вася выигрывает своим первым ходом, увеличивая количество камней в пять раз.
      Для случая 9 и 12 камней Вася использует стратегию, указанную в п.2.

      S = 8 
      Паша 1 ход: 8 + 1 = 9   Ваня Выигрывает (см. п.2)
      Паша 1 ход: 8 + 4 = 12  Ваня Выигрывает (см. п.2)
      Паша 1 ход: 8 * 5 = 40  
      

      дерево решение 19 задание егэ

    Аналитическое решение 19 задания смотрите на видео:
    📹 YouTube здесь

    Видеорешение на RuTube здесь


    19_1:

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

    Игра завершается в тот момент, когда количество камней в куче становится не менее 28. Если при этом в куче осталось не более 44 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 23 камня, и Паша удвоит количество камней в куче, то игра закончится и победителем будет Валя. В начальный момент в куче было S камней, 1≤ S ≤ 27.

    Задание 19 ЕГЭ
    а) При каких значениях числа S Паша может выиграть в один ход? Укажите все такие значения и соответствующие ходы Паши.
    б) У кого из игроков есть выигрышная стратегия при S = 26, 25, 24? Опишите выигрышные стратегии для этих случаев.

    Задание 20 ЕГЭ
    У кого из игроков есть выигрышная стратегия при S = 13, 12? Опишите соответствующие выигрышные стратегии.

    Задание 21 ЕГЭ
    У кого из игроков есть выигрышная стратегия при S = 11? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На ребрах дерева указывайте, кто делает ход; в узлах — количество камней в позиции.

    ✍ Решение:

    1. Задание 19 ЕГЭ:

      а) Паша имеет выигрышную стратегию и может выиграть за один ход, если S = 27: тогда ему достаточно добавить один камень, чтобы игра закончилась при 28 камнях в куче; или если S = 14, 15, 16, 17, 18, 19, 20, 21, 22 (44/2 = 22 и 28/2 = 14, т.е. от 14 до 22): тогда необходимо удвоить кучу.

      S=27
      Паша: 27 + 1 = 28 - Выигрыш!
      
      27 - выигрышная позиция
      

      б) При S = 26 выигрышная стратегия есть у Вали. Паша делает ход первым, у него есть возможность либо удвоить количество камней в куче, и тогда количество превысит 44, — выигрывает Валя; либо увеличить количество на один камень, станет 27 камней: следующая Валя, — она может положить один камень и выиграть.

      S=26
      Паша: 26 * 2 = 52   Валя выигрывает! или:
      Паша: 26 + 1 = 27
      Валя: 27 + 1 = 28 - Выигрыш! 
      
      26 - проигрышная позиция
      

      При S = 25 выигрышная стратегия есть у Паши. Удваивать количество камней нет смысла, т.к. количество превысит 44, значит, Паша добавит один камень, их станет 26, следующая Валя, — она может либо добавить камень (станет 27 камней, следующим ходом выиграет Паша) либо удвоить — и сразу проиграть, т.к. станет более 44 камней.

      S=25
      Паша: 25 + 1 = 26
      Валя: 26 ...  проигрышная позиция (см. выше) Паша выигрывает!
      
      25 - выигрышная позиция
      

      При S = 24 выигрышная стратегия есть у Вали. Паша делает ход первым: удваивать кучу нет смысла, т.к. в ней станет более 44, значит, Паша добавит один камень, их станет 25; следующая — Валя: она может только добавить один камень (станет 26 камней, следующим ходом Паша оказывается в проигрышной позиции, см. пункт при S = 26).

      S=24
      Паша: 24 + 1 = 25 
      Валя: 25 ...  выигрышная позиция (см. выше) Валя выигрывает!
       
      24 - проигрышная позиция
      
    2. Задание 20 ЕГЭ:

      При S = 13 или S = 12 выигрышная стратегия есть у Паши. Паша удваивает количество и в куче остается 26 или 24 камня. Это проигрышная позиция для того, кто ходит (см. п. 1 б), а следующий ход за Валей.

    3. Задание 21 ЕГЭ:

      При S = 11 выигрышная стратегия есть у Вали. Паша делает первый ход: в куче остается либо 22, либо 12 камней. Обе эти позиции выигрышные для того, кто ходит. При S = 12 последовательность игры описана в пункте 2, а при S = 22 — в пункте .

        
      Дерево возможных партий:
      задание 19 егэ дерево игры

      * Для Вали отображены только ходы по стратегии
      ** красный круг означает выигрыш
      *** фиолетовый круг — конец игры (проигрыш)

    Подробное объяснение 19 задания ЕГЭ смотрите на видео (аналитическое решение):

    📹 YouTube здесь
    Видеорешение на RuTube здесь


    Игра с двумя кучами камней или табличка

    19_5:

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

    Задание 1.

    Для каждой из начальных позиций (6, 33), (8, 32) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

    Задание 2.

    Для каждой из начальных позиций (6, 32), (7, 32), (8, 31) укажите, кто из игроков имеет выигрышную стратегию.

    Задание 3.

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

    ✍ Решение:

    • Задание 1. В начальных позициях (6, 33), (8, 32) выигрышная стратегия есть у Вани.
    • Задание 2. В начальных позициях (6, 32), (7, 32) и (8, 31) выигрышная стратегия есть у Пети.
    • Задание 3. В начальной позиции (7, 31) выигрышная стратегия есть у Вани.
    • дерево выигрышной стратегии

    Видео решения 19 задания с двумя кучами (аналитическое решение):
    📹 YouTube здесь

    Видеорешение на RuTube здесь


    Игра с набором слов

    19_2: 2017 год (один из вариантов со слов выпускника):

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

    Например, есть набор слов {Волк, Информатика, Страшно}; для заданного набора слов Петя своим первым ходом может назвать букву В, И или С. Если Петя выберет букву В, то победит Ваня (следующие ходы: Петя — В, Ваня — О, Петя — Л, Ваня — К).

      
    Задание 1
    А) Даны 2 слова (набора букв) {ИКЛМНИКЛМНХ, НМЛКИНМЛКИ}. Определить выигрышную стратегию.

    Б) Даны 2 слова {ТРИТРИТРИ…ТРИ, РИТАРИТАРИТАРИТА…РИТА}. В первом слове 99 букв, во втором 164. Определить выигрышную стратегию.

    Задание 2
    Необходимо поменять две буквы местами из набора пункта в слове с наименьшей длинной так, чтобы выигрышная стратегия была у другого игрока. Объяснить выигрышную стратегию.

    Задание 3
    Дан набор слов {Ворона, Волк, Волна, Производная, Прохор, Просо}. У кого из игроков есть выигрышная стратегия? Обосновать ответ и написать дерево всех возможных партий для выигрышной стратегии.

    ✍ Решение:

    1. А) Для выигрыша Пете достаточно выбрать первую букву слова с нечетным количеством букв, тогда последний ход делает Петя. При исходном наборе слов выигрышная стратегия есть у Пети. Она заключается в том, что своим первым ходом он должен выбрать букву И (слово ИКЛМНИКЛМНХ из 11 букв). Ване придется выбрать букву К. Таким образом, они последовательно будут называть буквы первого слова, пока Петя не выберет последнюю букву Х. На этом игра закончится выигрышем Пети. При данной стратегии возможна только одна партия. Заключением партии будет написано слово ИКЛМНИКЛМНХ.

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

    2. Если поменять местами во втором слове (НМЛКИНМЛКИ) буквы Н и И, то получится следующий набор слов:
      {ИКЛМНИКЛМНХ, ИМЛКННМЛКИ}
      

      Для данного набора выигрышная стратегия есть у Вани. Петя в любом случае должен будет выбрать букву И, а Ваня следующим ходом может перевести игру в проигрышную позицию для Пети, т.е. перейти на второе слово, назвав букву М. Такая стратегия приведет Ваню к выигрышу, так как последнюю букву слова — И — запишет именно он.

    3. Выигрышная стратегия есть у Вани, так как при любом выборе Пети, Ваня может перевести игру в проигрышную позицию для Пети, т.е. «перейти» на слово с четным количеством букв. Такая стратегия позволит Ване написать последнюю букву и тем самым выиграть игру.
    4. Дерево возможных партий:
      дерево партий

    * Для Вани отображены только ходы по стратегии
    ** Красный круг означает выигрыш

    Подробней с решением задания про слова ознакомьтесь в видеоуроке (аналитическое решение):

    📹 YouTube здесь

    Видеорешение на RuTube здесь


    Решение задач теории игр в MS
    Exsel на примере задания ЕГЭ по информатики 19, 20, 21

    Задача Два игрока
    Петя и Ваня играют в следующую игру- перед ними лежит 2 кучи камней, игроки
    ходят по очереди, первым ходит Петя, вторым Ваня. За один ход игрок может
    добавить в любую кучу 1 камень или увеличить кол-во камней в 2 р . Игра
    заканчивается, когда камней в обеих кучах становится не менее 53. Победителем
    считается тот кто последним сделал ход. На начальном этапе игры в одной куче 9
    камней, а во второй куче
    S камней

    1 S43

    Задача 19

    Известно, что Ваня выиграл своим первым ходом
    после неудачного ход Пети

    Укажите минимальное кол-во камней  S при такой ситуации

    1.В ячейку в3 ввести 1 куча. В ячейку с3
    ввести 2 куча В ячейку с4 ввести
    S. В ячейку в5 ввести 9. В
    ячейку с5 ввести 5.

    2. Построить таблицу от ячнйки d4 до  g8

    3. Ячейки d4 e4 объединить в них напечатать Петя, а в ячейки  f
    Ваня, в ячейки 
    g4 итог

    ТО общий вид таблицы будет иметь вид

    D

    E

    F

    G

    3

    4

    ПЕТЯ

    ВАНЯ

    ИТОГ

    5

    6

    7

    8

    4. Необходимо разобрать все возможные ходя
    Пети для этого в ячейку
    D5 ввести B5+1,
    первый возможный слабый ход, в ячейку
    E5 *с5

    5. В ячейку D6 ввести в5,
    те кол-во камней без изменения. В ячейку Е6 ввести с5+1, те кол-во камней без
    изменения.

    6. В ячейку D7 ввести
    в5*2, в ячейку е7 ввести с5, в ячейку
    D8 ввести в5, в
    ячейку е8 ввести с5*2,

    ТО 1 чсть таблицы заполняется всевозможными
    ходами Пети выделить их цветом.

    Самая важная часть в таблице в комбинации D8 и  е8 – это сильные ходы Пети.

    7. В ячейку F5 ввести
    МАКС (
    D5:Е5)*2+МИН(D5:Е5) растягиваем
    значение формулы на все область ячеек
    F.

    8. В ячейках столбца итог необходимо выяснить
    какой из вариантов даст победу , для этого в ячейку
    g5
    ввести фор-лу ЕСЛИ (
    F5>=53; ‘’+’’; ‘’-’’) растягиваем знач-е фор-лы на все ячейки от g5 до g8

    Если в таблице не появится плюс, то меняется
    значение С5.

    Задача 20

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

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

    — Петя может выиграть за 2-м  ходом независимо
    отходов Вани.

    Найденные значения записать в порядке
    возрастания.

    1.       Таблицу из первой части копируем в область ячеек I3
    N8

    2.       Добавим в таблицу допол. поля

    Там где столбец Ваня , чтоб
    их стало два

    ,
    верхнюю строку объединить , а также столбец Безопасность перед столбцом Итог.

    ТО общий вид таблицы будет иметь вид:

    K

    L

    M

    N

    O

    P

    Q

    3

    4

    ПЕТЯ

    ВАНЯ

    Петя

    Безоп-ть

    Итог

    5

    6

    7

    8

    3.       В ячейку I3 ввести 1 куча, в ячейку J3 ввести 2
    куча,в ячейку  
    J4 — S  , I5 ввести 9,
    J5 -11 .

    4.     
    Удалить значения из столбцов ходов Пети. В ячейку
    к5 ввести I5+1, 
    L5 ввести J5, тогда
    в ячейках ходов Вани вводятся формулы всех возможных его ходов В ячейку М5
    ввести к5+1 ,
    N5 ввести J5,  М6
    ввести к5,
    N6 ввести L5+1, ,  М7
    ввести  к5*2,
    N7 ввести L5, ,  М8
    ввести  к5,
    N8 ввести L5*2

    ТО 
    будут перебраны все возможные варианты ходов Вани, тогда ходы Пети должны быть
    все сильные.

    Для
    этого в  столбец О5  вводится фор-ла МАКС (м5:
    N 5)*2+МИН(м5:
    N 5), растягиваем знач-е этой фор-лы на область всех ячеек
    в низ.

    5.       Т.к надо оценить игру Пети в столбце Итог вводят фор-лу ЕСЛИ (О5>=53; ‘’+’’; ‘’-’’) растягиваем знач-е этой
    фор-лы на область всех ячеек в низ.

    6.       Т.к надо , чтоб выиграл Петя проконтролировать чтобы не выиграл Ваня
    первым ходом именно для этой цели нужен столбец безопасность. В ячейку Р5
    ввести фор-лу

     ЕСЛИ
    (м5+
    N 5 >=53;
    ‘’+’’; ‘’-’’) растягиваем знач-е этой фор-лы на область всех ячеек в низ.

    7.                 
    Построенная таблица — это только один вариант
    поведения Пети при игре, поэтому копируем таблицу ниже 4 раза не пропуская ни
    одной строки, те вплотную. По следующему принципу:

    ё

    8.       Внесем следующие изменения в скопированную часть

    В К10 ввести I5, L 10 ввести J5 +1 (это будет второй возможный
    выигрышный ход); в К15 ввести I5*2,
    L 15 ввести  J5(это будет 3 возможный выигрышный ход);в К20- I5, в L 20 — J5*2(это будет 4 возможный выигрышный ход);.

    Остальные
    столбцы заполнятся автоматически благодаря относительной адресации.

          
    9.Теперь необходимо просмотреть и проанализировать значения  ячейки
    J5. Изменяя в ней значения по возрастанию до тех пор пока плюсы не
    появятся в столбце Итога причем плюсы должны быть во всех четырех строках каждого
    из 4 вариантов ходов а столбец безопасность должен быть отрицательным во всех 4
    строках.

    Задача 21

        Сколько существует значений   S которых одновременно выполняются два условия                         
    —     у Вани есть выигрышная стратегия при которой он выиграет 1 или 2 ходом
    при любой игре Пети.                                                                                                                                                                                 — 
    у Вани нет стратегии, которая позволит ему гарантированно выиграть 1
    ходом.                                    С учетом полученного в задачи 20
    можно уверенно утверждать, что выигрышные ходы Вани (9;16) и (9; 21) это
    возможно при ходах Пети (9;15) и (9; 20). Решение этой задачи электронным
    способом возможно только посте решения 19 и 20 зад на одной предметной
    области.                                                            1. Для решения
    этой задачи скопируем таблицу из задания задачи 20 в область ячеек от
    U  до AA в соответствии изображения

    Внести изменения в значение столбцов S  И  T.

    2.Очищаем значение столбцов игры Пети U И   V.

    Добавляем дополнительные столбцы в таблицу у 
    Пети будет два варианта ходов , поскольку в задании выигрыш может наступит и 
    на 1 и на 2 ходе.

    ТО общий вид таблицы будет иметь вид:

    Причем протяженность таблицы будет от столбцов
    от
    U до АС, и от строк от 4 до 23 .

    3. В ячейку U 5 ввести S5+1, а в ячейку V5 ввести Т5.

    Ваня на подобный ход может ответить 4 разными
    вариантами. Для х реализации очищаем все значения столбцов
    w и  x.

    В ячейки вводим фор-лы: w5=
    U5+1; х2= V5; w10=
    U5;х10= V5+1; w15=U5*2;х15=V5; w20= U5;х20= V5*2.

    4. Для оценки возможных вариантов ходов Пети
    скопировать данные из ячеек М5-
    N8 в ячейки y5-z8 из таблицы предыдущего задания. Формулы при
    копировании изменятся в виду относительной адресации, хотя при копировании это
    должно быть проконтролировано. Копируем эти значения и во все остальные ячейки
    y, z.

    5. Второй ход Вани должен быть обязательно сильным, поэтому в ячейку
    АА5 вводится фор-ла МАКС (
    y5: z5)*2+МИН(y5:
    z5) ), растягиваем знач-е этой фор-лы на область всех
    ячеек в низ.

    Далее необходимо внести изменения в столбец Безопасность В ячейку АВ5
    ввести фор-лу:

    ЕСЛИ (y5+ z5>=53; ‘’+’’; ‘’-’’) , растягиваем знач-е этой
    фор-лы на область всех ячеек в низ.

    6. Для изменения столбца ИТОГ в ячейку АС5 вводится фор-ла: ЕСЛИ (АА5>=53; ‘’+’’; ‘’-’’) , растягиваем знач-е этой
    фор-лы на область всех ячеек в низ.

    7. Нельзя не учесть вариант при котором Ваня выигрывает первым ходом
    для этого  в ячейку х7 вводится фор-ла: ЕСЛИ (
    w5+ x5>=53; ‘’+’’; ‘’-’’) копировать
    эту фор-лу в ячейки х12, х17, х22.

    На основе предыдущего задания был сделан вывод что оптимальные s
    либо 20, либо 15, поэтому рекомендуется проверку начать именно с
    этих значений.

    В ячейку s9 ввести 15, а в s10
    ввести 20.

    8.Полученная таблица отражает только 1 ход, а
    их более, поэтому копируем эту таблицу ниже 4 раза в сплошную, тогда таблица
    получится протяженностью до 64 строки. Внесем изменения в скопированную
    таблицу:
    U25= s5+1; V25=Т5+1; U45= s5*2; V45=Т5; U65= s5; V65=Т5*2.

    Для анализа заполненной таблицы введем в т5
    значение 15 . Первым делом просматриваются ячейки х7, х12, х17,  х22, если там
    появится + , что Ваня выигрывает первым ходом и второй уже не нужен. Затем там
    где в ячейках х плюсы не найдены просматривается столбец ИТОГ, там должны
    встретится плюсы в 4-х подряд идущих строках , а безопасность должна идти с -.

    Проделывается тоже самое для значения т5=20.

    ЕГЭ информатика 19-21 задание разбор, теория, как решать.

    Теория игр, выигрышная стратегия, 19.(Б) — 1 балл, 20.(П) — 1 балл, 21.(В) — 1 балл

    Е19-21.31 когда количество камней в куче становится не менее 129

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

    Читать далее

    Е19-21.31 Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 211.

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

    Читать далее

    Е19-21.30 когда количество камней в куче становится не менее 29

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

    Читать далее

    Е19-21.29 когда суммарное количество камней в кучах становится не менее 44

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

    Читать далее

    Е19-21.28 Игра завершается в тот момент, когда количество камней в куче становится не менее 84.

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

    Читать далее

    Е19-21.27 добавить в кучу один камень, два камня, увеличить количество камней

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

    Читать далее

    Е19-21.26 добавить в кучу один камень, два камня, три камня; увеличить количество камней

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

    Читать далее

    Е19-21.25 добавить в кучу два камня, добавить в кучу три камня или увеличить

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

    Читать далее

    Е19-21.24 добавить в кучу три камня или увеличить количество камней в куче в два раза

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

    Читать далее

    Е19-21.23 когда количество камней в куче становится не менее 25

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

    Читать далее

    Теория игр. Разбираем задания №19, 20 и 21.

    Задание №19. Умение анализировать алгоритм логической игры.
    Задание №20. Умение найти выигрышную стратегию игры.
    Задание №21. Умение построить дерево игры по заданному алгоритму и найти выигрышную стратегию.
    Уровень сложности — повышенный, максимальный балл за выполнение каждого задания — 1, общее время на выполнение трёх заданий — 22 минуты.

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

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

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

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

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

    Разбор задания №19. Из условия мы знаем, что Петя не может выиграть своим первым ходом, но Ваня, независимо от хода Пети, выигрывает. Петя парень не глупый и, естественно, сделает самый маленький ход – добавит в кучу один камень (S+1), чтобы Ваня от выигрыша был как можно дальше. Далее Ваня делает свой первый ход и выигрывает. Ване необходимо максимально увеличить предыдущее значение камней в куче, следовательно, Ваня увеличивает количество камней в куче в пять раз (S+1)*5. Теперь просто решаем неравенство:

    (S+1)*5 ≥ 73
    5
    S   70
    S
    13,6
    S = 14

    Ответ: 14.

    №20. Для игры, описанной в предыдущем задании, укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

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

    Найденные значения запишите в порядке возрастания.

    Разбор задания №20. Здесь мы должны найти два значения S – наибольшее и наименьшее. Начнём с наибольшего (это проще). По условию Петя не выигрывает своим первым ходом, но он же его делает! Следовательно, Петя ходит минимальный ход, чтобы Ваня был максимально далёк от победы (S+1). Далее ходит Ваня, а он тоже парень не глупый и старается не дать Пете победить и делает минимальный ход (S+1)+1. Теперь Петя делает максимально возможный ход, чтобы победить – он увеличивает предыдущее значение камней в куче в пять раз ((S+1)+1)*5. Решаем неравенство:

    ((S+1)+1)*5 ≥ 73
    5
    S ≥ 63
    S ≥ 12,6
    S = 13

    Теперь определим наименьшее значение S. Мы только что определили, что при S = 13 Петя делает свой ход и количество камней в куче становиться равным 14. То есть из этой позиции Петя точно выигрывает, независимо от того, как будет ходить Ваня. А как ещё после первого хода Пети в куче можно получить количество камней равное 14? По условию мы можем добавить один камень или четыре или увеличить их количество в пять раз. Четырнадцать на пять не делится (камни у нас целые числа), а вот отнять от четырнадцати четыре можно. Следовательно, 14 – 4 = 10. Это минимальное количество камней в куче, при котором Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

    Ответ: 1013.

    №21. Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:

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

    Разбор задания №21. При решении этого задания мы будем опираться на уже известные нам данные, полученные из предыдущего задания. Мы знаем, что при S = 10 Петя выигрывает, а по условию должен выиграть Ваня своим вторым ходом, следовательно, достаточно уменьшить это значение на единицу: 10 – 1 = 9. После первого хода Петя увеличивает количество камней на один 9 + 1 = 10, далее Ваня увеличивает количество камней в куче на четыре 10 + 4 = 14. Позиция 14 – это выигрышная позиция, нам это известно из предыдущих заданий.

    Ответ: 9.

    Сегодня завершаем трилогию по теории игр из первой части ЕГЭ по информатике 2021.

    Разберём 21 задание из ЕГЭ по информатике 2021.

    Перейдём к примерным задачам из ЕГЭ по информатике 2021.

    Задача (Одна куча камней)

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

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

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

    Найдите минимальное значение S, при котором одновременно выполняются два условия:

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

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

    Решение:

    S0 — первоначальное количество камней в куче.

    Петя не должен выиграть на своём первом ходе. Найдём при каких значениях S0 это возможно.

    Петя может сделать всего 3 действия. Распишем количество камней в куче для 3-х случаев. Это количество должно быть меньше 33.

    +1 +3 *2
    S0 + 1 < 33
    S0 < 32
    S0 + 3 < 33
    S0 < 30
    2*S0 < 33
    S0 < 17
    (Округляем в большую сторону)

    Все случаи должны быть удовлетворены, поэтому наш ответ должен быть меньше 17.

    S0 < 17

    Рассмотрим 1-ый ход, который может сделать Петя в начале игры.

    1. S0+1 — оставил Петя после своего первого хода.

    При каких S0 Ваня может выиграть первым своим ходом ?

    +1 +3 *2
    S0 + 2 ≥ 33
    S0 ≥ 31
    S0 + 4 ≥ 33
    S0 ≥ 29
    2*S0+2 ≥ 33
    2*S0 ≥ 31
    S0 ≥ 16
    (Округляем в большую сторону)

    Получили первого кандидата для ответа S0=16. Но если и в двух оставшихся ветках это значение пройдёт на первом ходу Вани, то мы не сможем засчитать этот ответ.

    Может ли Петя выиграть вторым своим ходом ?

    а) S0+1+1 = S0+2 — Ваня оставил после первого своего хода.

    +1 +3 *2
    S0 + 3 < 33
    S0 < 30
    S0 + 5 < 33
    S0 < 28
    2*S0+4 < 33
    2*S0 < 29
    S0 < 15
    (Округляем в большую сторону)

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт a) накладывается дополнительное ограничение S0 < 15

    Рассмотрим, при каких значениях S0 Ваня сможет выиграть на своём втором ходе в пункте a).

    1) S0+1+1+1 = S0+3 -Петя оставил после своего второго хода.

    +1 +3 *2
    S0 + 4 ≥ 33
    S0 ≥ 29
    S0 + 6 ≥ 33
    S0 ≥ 27
    2*S0 + 6 ≥ 33
    2*S0 ≥ 27
    S0 ≥ 14
    (Округляем в большую сторону)

    Получили значение S0 = 14, при котором Ваня может выиграть на своём втором ходе в пункте 1). Это первый кандидат для ответа.

    б) S0+1+3 = S0+4 — Ваня оставил после первого своего хода.

    +1 +3 *2
    S0 + 5 < 33
    S0 < 28
    S0 + 7 < 33
    S0 < 26
    2*S0 + 8 < 33
    2*S0 < 25
    S0 < 13
    (Округляем в большую сторону)

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт б) накладывается дополнительное ограничение S0 < 13

    1) S0+4+1 = S0+5 — Петя оставил после второго хода.

    +1 +3 *2
    S0 + 6 ≥ 33
    S0 ≥ 27
    S0 + 8 ≥ 33
    S0 ≥ 25
    2*S0 + 10 ≥ 33
    2*S0 ≥ 23
    S0 ≥ 12
    (Округляем в большую сторону)

    Получили значение S0 = 12, при котором Ваня может выиграть на своём втором ходе в пункте 1). Это пока самый приоритетный кандидат для ответа.

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

    в) 2*(S0+1) = 2*S0+2 — Ваня оставил после первого своего хода.

    +1 +3 *2
    2*S0 + 3 < 33
    2*S0 < 30
    S0 < 15
    2*S0 + 5 < 33
    2*S0 < 28
    S0 < 14
    4*S0 + 4 < 33
    4*S0 < 29
    S0 < 8
    (Округляем в меньшую сторону)

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт в) накладывается дополнительное ограничение S0 < 8

    1) 2*S0+2+1 = 2*S0+3 — Петя оставил после второго хода.

    +1 +3 *2
    2*S0 + 4 ≥ 33
    2*S0 ≥ 29
    S0 ≥ 15
    2*S0 + 6 ≥ 33
    2*S0 ≥ 27
    S0 ≥ 14
    (Округляем в большую сторону)
    4*S0 + 6 ≥ 33
    4*S0 ≥ 27
    S0 ≥ 7
    (Округляем в большую сторону)

    Получили значение S0 = 7, при котором Ваня может выиграть на своём втором ходе в пункте 1). Это пока самый приоритетный кандидат для ответа.


    Теперь делаем проверку четырёх чисел, которые отмечены синим цветом. Проверку делаем в порядке возрастания. Если число подойдёт, то сразу записываем его в ответ.

    Проверяем значение S0 = 7

    Проверим первую ветку, когда Петя на своём первом ходе делает +1 к куче.


    ЕГЭ по информатике 2021 - задание 21 (проверяем первую ветку)

    Видим, что значение 7 полностью подходит в первой ветке.

    ЕГЭ по информатике 2021 - задание 21 (одна куча камней)

    Синим цветом показаны кучки, которые оставляет Петя. Зелёным цветом показаны кучки, которые оставляет Ваня. Красным цветом показаны те ходы Пети, которые не дают Вани выиграть на втором своём ходе.

    Видим, что в этой ветке значение 7 не проходит. Числа 12 и 14 не дают возможность Вани выиграть на своём втором ходе. Значение 40 уже являются выигрышным для Пети.

    Проверяем значение S0 = 12

    ЕГЭ по информатике 2021 - задание 21 (проверяем значение в первой ветке)

    Видим, что значение 12 проходит в первой ветке. Рассмотрим вторую ветку.

    ЕГЭ по информатике 2021 - задание 21 (одна куча камней 3)

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

    ЕГЭ по информатике 2021 - задание 21 (одна куча камней 4)

    В этой ветке Ваня может выиграть на своём первом ходе! Число 48 уже является выигрышным.

    Таким образом, в ответ пойдёт значение 12.

    Ответ: 12

    Рассмотрим более классическую задачу из 21 задания ЕГЭ по информатике 2021.

    Задача (Демонстрационный вариант ЕГЭ по информатике 2021)

    Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (11, 5), (20, 5), (10, 6), (10, 10). Для того чтобы делать ходы,
    у каждого игрока есть неограниченное количество камней.

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

    В начальный момент в первой куче было семь камней, во второй куче –
    S камней; 1 ≤ S ≤ 69.

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

    Найдите минимальное значение S, при котором одновременно выполняются два условия:

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

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

    Решение:

    Обозначим первую кучу за a, вторую кучу за b.

    Распишем все комбинации для суммы двух куч для каждого хода:

    Блок 1

    1. a + 1 + b (Добавляем камень к первой куче)
    2. a + b + 1 (Добавляем камень ко второй куче)
    3. 2*a + b (Удваиваем первую кучу)
    4. a + 2*b (Удваиваем вторую кучу)

    S0 — первоначальное количество камней во второй куче.

    a=7, b=S0 — Первоначальное положение

    Петя не должен выиграть на своём первом ходе. Найдём при каких значениях S0 это возможно.

    У нас эти данные должны были остаться после решения 20 задания (см в этой статье). Но распишем ещё раз, чтобы всё выкладки были перед глазами.

    Петя может сделать всего 4 действия. Распишем сумму двух кучек для 4-х случаев. Эти суммы должны быть меньше 77.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 8 < 77
    S0 < 69
    S0 + 8 < 77
    S0 < 69
    S0 + 14 < 77
    S0 < 63
    2*S0 + 7 < 77
    2*S0 < 70
    S0 < 35

    Все случаи должны быть удовлетворены, поэтому наш ответ должен быть меньше 35.

    S0 < 35

    Рассмотрим все ходы, которые может сделать Петя в начале игры.

    1. a=8, b=S0 — оставил Петя после своего первого хода.

    При каких S0 Ваня может выиграть первым своим ходом ?

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 9 ≥ 77
    S0 ≥ 68
    S0 + 9 ≥ 77
    S0 ≥ 68
    S0 + 16 ≥ 77
    S0 ≥ 61
    2*S0 + 8 ≥ 77
    2*S0 ≥ 69
    S0 ≥ 35
    (Округляем в большую сторону)

    Все решения не удовлетворяют главному ограничению S0 < 35. Значит, не существует таких значений S0, при которых Ваня может выиграть своим первым ходом в данной ветке.

    Может ли Петя выиграть вторым своим ходом ?

    а) a=9(8+1), b=S0 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 10 < 77
    S0 < 67
    S0 + 10 < 77
    S0 < 67
    S0 + 18 < 77
    S0 < 59
    2*S0 + 9 < 77
    2*S0 < 68
    S0 < 34

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт a) накладывается дополнительное ограничение S0 < 34

    Рассмотрим, при каких значениях S0 Ваня сможет выиграть на своём втором ходе в пункте a).

    1) a=10, b=S0 -Петя оставил после своего второго хода.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 11 ≥ 77
    S0 ≥ 66
    S0 + 11 ≥ 77
    S0 ≥ 66
    S0 + 20 ≥ 77
    S0 ≥ 57
    2*S0 + 10 ≥ 77
    2*S0 ≥ 67
    S0 ≥ 34
    Округляем в большую сторону

    Видим, что Ваня не может выиграть на своём втором ходе в пункте a). Значения не проходят ограничение S0 < 34.

    Петя всегда может ходить a=10, b=S0 и «блокировать» пункт a).

    б) a=8, b=S0+1 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 10 < 77
    S0 < 67
    S0 + 10 < 77
    S0 < 67
    S0 + 17 < 77
    S0 < 60
    2*S0 + 10 < 77
    2*S0 < 67
    S0 < 34
    (Округляем в большую сторону)

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт б) накладывается дополнительное ограничение S0 < 34

    1) a=9(8+1), b=S0+1 — Петя оставил после второго хода.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 11 ≥ 77
    S0 ≥ 66
    S0 + 11 ≥ 77
    S0 ≥ 66
    S0 + 19 ≥ 77
    S0 ≥ 58
    2*S0 + 11 ≥ 77
    2*S0 ≥ 66
    S0 ≥ 33

    Получили значение S0 = 33, при котором Ваня может выиграть на своём втором ходе в пункте 1). Это первый кандидат для ответа.

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

    в) a=16, b=S0 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 17 < 77
    S0 < 60
    S0 + 17 < 77
    S0 < 60
    S0 + 32 < 77
    S0 < 45
    2*S0 + 16 < 77
    2*S0 < 61
    S0 < 31
    (Округляем в большую сторону)

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт в) накладывается дополнительное ограничение S0 < 31

    1) a=17(16+1), b=S0 — Петя оставил после второго хода.

    a+1+b a + b+1 2*a + b a + 2*b
    S0 + 18 ≥ 77
    S0 ≥ 59
    S0 + 18 ≥ 77
    S0 ≥ 59
    S0 + 34 ≥ 77
    S0 ≥ 43
    2*S0 + 17 ≥ 77
    2*S0 ≥ 60
    S0 ≥ 30

    Получили значение S0 = 30. Ещё один кандидат для ответа. Даже более приоритетный, потому что нам нужно найти наименьшее значение S0, при котором будут выполняться условия задачи.

    г) a=8, b=2*S0 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 2*a + b a + 2*b
    2*S0 + 9 < 77
    2*S0 < 68
    S0 < 34
    2*S0 + 9 < 77
    2*S0 < 68
    S0 < 34
    2*S0 + 16 < 77
    2*S0 < 61
    S0 < 31
    Округляем в большую сторону
    4*S0 + 8 < 77
    4*S0 < 69
    S0 < 18
    Округляем в большую сторону

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт г) накладывается дополнительное ограничение S0 < 18

    1) a=9, b=2*S0 — Петя оставил после второго хода.

    a+1+b a + b+1 2*a + b a + 2*b
    2*S0 + 10 ≥ 77
    2*S0 ≥ 67
    S0 ≥ 34
    (Округляем в большую сторону)
    2*S0 + 10 ≥ 77
    2*S0 ≥ 67
    S0 ≥ 34
    (Округляем в большую сторону)
    2*S0 + 18 ≥ 77
    2*S0 ≥ 59
    S0≥30
    (Округляем в большую сторону)
    4*S0 + 9 ≥ 77
    4*S0 ≥ 68
    S0 ≥ 17

    Получили значение S0 = 17. Ещё один кандидат на ответ. Это значение самое приоритетное.


    Теперь делаем проверку трёх чисел, которые отмечены синим цветом. Проверку делаем в порядке возрастания. Если число подойдёт, то сразу записываем его в ответ.

    Первый ход Пети, при котором он прибавляем к первой куче единицу мы уже исследовали. Начинаем со второй возможности Пети прибавить 1 ко второй куче.

    Проверяем значение S0 = 17

    Проверим первую ветку, когда Петя прибавляет 1 к первой куче.

    ЕГЭ по информатике 2021 - задание 21 (выигрышная стратегия)

    Синим цветом показаны кучки, которые оставляет Петя. Зелёным цветом показаны кучки, которые оставляет Ваня.

    Мы рассматриваем именно тот пункт г), который и принёс нам значение 17. Видим, что это значение полность подходит в первой ветке.

    Проверим вторую ветку.

    ЕГЭ по информатике 2021 - задание 21 (выигрышная стратегия)

    Красным цветом показаны те ходы Пети, которые не дают Вани выиграть на втором своём ходе.

    (9,18), (8,19), (15,18) — эти точки не дают Вани выиграть. (7, 72) — Петя сам выигрывает на своём втором ходе.

    Что бы ни делал Ваня, он не может выиграть на втором своём ходе. Значит, значение 17 нам не подходит.

    Проверяем значение S0 = 30

    Проверим первую ветку, когда Петя прибавляет 1 к первой куче.

    ЕГЭ по информатике 2021 - задание 21 (выигрышная стратегия)

    Видим, значение 30 в первой ветке подходит полностью.

    ЕГЭ по информатике 2021 - задание 21 (выигрышная стратегия для Вани)

    Видим, если Ваня пойдёт (14,31), то он сможет выиграть на втором своём ходе при любом втором ходе Пети!

    Проверим что будет, если Петя на своём первом ходе увеличит первую кучу в два раза.

    ЕГЭ по информатике 2021 - задание 21 (выигрышная стратегия для Вани 2)

    Видим, и в этой ветке, если Ваня пойдёт (14,31), то он сможет выиграть на втором своём ходе при любом втором ходе Пети!

    Проверим что будет, если Петя на своём первом ходе увеличит вторую кучу в два раза.

    ЕГЭ по информатике 2021 - задание 21 (выигрышная стратегия для Вани 3)

    Видим, что Ваня в этой ветке может выиграть на первом своём ходе!

    Мы пришли к выводу: Значение S0=30 нас полностью устраивает. Значение S0=33 проверять не будем, т.к. нас просили найти наименьшее значение.

    Ответ: 30

    Решим ещё одну задачу 21 задания из тренировочных вариантов ЕГЭ по информатике 2021.

    Задача (На закрепление)

    Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в четыре раза. Например, пусть в одной куче 6 камней, а в другой 9 камней; такую позицию мы будем обозначать (6, 9). За один ход из позиции (6, 9) можно получить любую из четырёх позиций: (7, 9), (24, 9), (6, 10), (6, 36). Чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

    В начальный момент в первой куче было 3 камня, во второй куче — S камней, 1 ≤ S ≤ 57.

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

    Найдите минимальное значение S, при котором одновременно выполняются два условия:

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

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

    Решение:

    Обозначим первую кучу за a, вторую кучу за b.

    Распишем все комбинации для суммы двух куч для каждого хода:

    Блок 1

    1. a + 1 + b (Добавляем камень к первой куче)
    2. a + b + 1 (Добавляем камень ко второй куче)
    3. 4*a + b (Увеличиваем первую кучу в 4 раза)
    4. a + 4*b (Увеличиваем вторую кучу в 4 раза)

    S0 — первоначальное количество камней во второй куче.

    a=3, b=S0 — Первоначальное положение

    Петя не должен выиграть на своём первом ходе. Найдём при каких значениях S0 это возможно.

    Петя может сделать всего 4 действия. Распишем сумму двух кучек для 4-х случаев. Эти суммы должны быть меньше 61.

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 4 < 61
    S0 < 57
    S0 + 4 < 61
    S0 < 57
    S0 + 12 < 61
    S0 < 49
    4*S0 + 3 < 61
    4*S0 < 58
    S0 < 15
    (Округляем в большую сторону)

    Все случаи должны быть удовлетворены, поэтому наш ответ должен быть меньше 15.

    S0 < 15

    Рассмотрим 1-ый ход, который может сделать Петя в начале игры.

    1. a=4(3+1), b=S0 — оставил Петя после своего первого хода.

    При каких S0 Ваня может выиграть первым своим ходом ?

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 5 ≥ 61
    S0 ≥ 56
    S0 + 5 ≥ 61
    S0 ≥ 56
    S0 + 16 ≥ 61
    S0 ≥ 45
    4*S0 + 4 ≥ 61
    4*S0 ≥ 57
    S0 ≥ 15
    (Округляем в большую сторону)

    Все решения не удовлетворяют главному ограничению S0 < 15. Значит, не существует таких значений S0, при которых Ваня может выиграть своим первым ходом в данной ветке.

    Может ли Петя выиграть вторым своим ходом ?

    а) a=5(4+1), b=S0 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 6 < 61
    S0 < 55
    S0 + 6 < 61
    S0 < 55
    S0 + 20 < 61
    S0 < 41
    4*S0 + 5 < 61
    4*S0 < 56
    S0 < 14

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт a) накладывается дополнительное ограничение S0 < 14

    Рассмотрим, при каких значениях S0 Ваня сможет выиграть на своём втором ходе в пункте a).

    1) a=6(5+1), b=S0 -Петя оставил после своего второго хода.

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 7 ≥ 61
    S0 ≥ 54
    S0 + 7 ≥ 61
    S0 ≥ 54
    S0 + 24 ≥ 61
    S0 ≥ 37
    4*S0 + 6 ≥ 61
    4*S0 ≥ 55
    S0 ≥ 14
    Округляем в большую сторону

    Видим, что Ваня не может выиграть на своём втором ходе в пункте a). Значения не проходят ограничение S0 < 14.

    Петя всегда может ходить a=6, b=S0 и «блокировать» пункт a).

    б) a=4, b=S0+1 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 6 < 61
    S0 < 55
    S0 + 6 < 61
    S0 < 55
    S0 + 17 < 61
    S0 < 44
    4*S0 + 8 < 61
    4*S0 < 53
    S0 < 14
    (Округляем в большую сторону)

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт б) накладывается дополнительное ограничение S0 < 14

    1) a=5(4+1), b=S0+1 — Петя оставил после второго хода.

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 7 ≥ 61
    S0 ≥ 54
    S0 + 7 ≥ 61
    S0 ≥ 54
    S0 + 21 ≥ 61
    S0 ≥ 40
    4*S0 + 9 ≥ 61
    4*S0 ≥ 52
    S0 ≥ 13

    Получили значение S0 = 13, при котором Ваня может выиграть на своём втором ходе в пункте 1). Это первый кандидат для ответа.

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

    в) a=16, b=S0 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 4*a + b a + 4*b
    S0 + 17 < 61
    S0 < 44
    S0 + 17 < 61
    S0 < 44
    S0 + 64 < 61

    Видим, что Петя выигрывает в ветке в), если первую кучку умножит на 4.

    г) a=4, b=4*S0 — Ваня оставил после первого своего хода.

    a+1+b a + b+1 4*a + b a + 4*b
    4*S0 + 5 < 61
    4*S0 < 56
    S0 < 14
    4*S0 + 5 < 61
    4*S0 < 56
    S0 < 14
    4*S0 + 16 < 61
    4*S0 < 45
    S0 < 12
    Округляем в большую сторону
    16*S0 + 4 < 61
    16*S0 < 57
    S0 < 4
    Округляем в большую сторону

    Видим, чтобы Петя не выиграл своим вторым ходом, на пункт г) накладывается дополнительное ограничение S0 < 4

    1) a=5, b=4*S0 — Петя оставил после второго хода.

    a+1+b a + b+1 4*a + b a + 4*b
    4*S0 + 6 ≥ 61
    4*S0 ≥ 55
    S0 ≥ 14
    (Округляем в большую сторону)
    4*S0 + 6 ≥ 61
    4*S0 ≥ 55
    S0 ≥ 14
    (Округляем в большую сторону)
    4*S0 + 20 ≥ 61
    4*S0 ≥ 41
    S0≥11
    (Округляем в большую сторону)
    16*S0 + 5 ≥ 61
    16*S0 ≥ 56
    S0 ≥ 4

    Видим, что пункт г) не даёт решений.

    В ответ мож

    Get it on Apple Store

    Get it on Google Play

    Public user contributions licensed under
    cc-wiki license with attribution required

    Skolkovo resident

    Cover image for Теория игр в 19-21 задачах КЕГЭ 2021

    Введение

    Привет друг! Проблемы с теорией игр? В этой статье мы разберем код, который решает любые прототипы стандартных 19-21 задач из КЕГЭ. Чтобы максимально понять ниже описанный код, я крайне рекомендую сначала научиться решать эти задачи ручками.

    Условие

    Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в четыре раза.
    В начальный момент в первой куче было 3 камня, во второй куче — S камней, 1 ≤ S ≤ 57. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 61. Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 61 или больше камней.

    1. Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

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

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

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

    Решение

    Winpos

    Первым делом нам надо написать функцию, которая будет возвращать True если игрок находиться в выигрышной позиции и False если игрок не находиться в выигрышной позиции.

    Обозначим переменные count1 и count2 как количество камней в 1 и 2 куче соответственно.
    Если изначально суммарное количество камней в кучах меньше 61

    if (count1 + count2 < 61)
    

    Enter fullscreen mode

    Exit fullscreen mode

    и при любом следующем ходе оно становиться больше либо равно 61

    ((count1 + count2 + 1 >= 61) or
    (count1 * 4 + count2 >= 61) or 
    (count1 + count2 * 4 >= 61))
    

    Enter fullscreen mode

    Exit fullscreen mode

    то мы возвращаем True, что означает что игрок находиться в выигрышной позиции.
    Иначе мы возвращаем False, что означает что игрок не находиться в выигрышной позиции.

    def winpos(count1, count2):
        if (count1 + count2 < 61) and ((count1 + count2 + 1 >= 61) or
           (count1 * 4 + count2 >= 61) or (count1 + count2 * 4 >= 61)):
            return True
        else:
            return False
    

    Enter fullscreen mode

    Exit fullscreen mode

    Первая функция готова, приступим к написанию следующей.

    Losspos

    Теперь нам надо написать функцию, которая будет возвращать True если игрок находится в проигрышной позиции и False если игрок не находится в проигрышной позиции.

    Если изначально игрок не находиться в выигрышной позиции

    if not winpos(count1, count2)
    

    Enter fullscreen mode

    Exit fullscreen mode

    и каждый следующий ход противника является выигрышным

    (winpos(count1 + 1, count2) and winpos(count1, count2 + 1) and
     winpos(count1 * 4, count2) and winpos(count1, count2 * 4))
    

    Enter fullscreen mode

    Exit fullscreen mode

    то мы возвращаем True, что означает что игрок находиться в проигрышной позиции.
    Иначе, мы возвращаем False, что означает что игрок не находиться в проигрышной позиции.

    def losspos(count1, count2):
        if not winpos(count1, count2) and (winpos(count1 + 1, count2) and
            winpos(count1, count2 + 1) and winpos(count1 * 4, count2) and
            winpos(count1, count2 * 4)):
            return True
        else:
            return False
    

    Enter fullscreen mode

    Exit fullscreen mode

    Вторая функция готова, осталась еще одна.

    Prewinpos

    Последняя функция должна возвращать True если игрок находится в предвыигрышной позиции и False если игрок не находится в предвыигрышной позиции.

    Если изначально игрок не находится в выигрышной позиции

    if not winpos(count1, count2)
    

    Enter fullscreen mode

    Exit fullscreen mode

    и любой следующий ход противника является проигрышным

    (losspos(count1 + 1, count2) or losspos(count1, count2 + 1) or
     losspos(count1 * 4, count2) or losspos(count1, count2 * 4)):
    

    Enter fullscreen mode

    Exit fullscreen mode

    то мы возвращаем True, что означает что игрок находится в предвыигрышной позциии.
    Иначе, мы возвращаем False, что означает что игрок не находиться в предвыигрышной позциии.

    def prewinpos(count1, count2):
        if not winpos(count1, count2) and (losspos(count1 + 1, count2) or
            losspos(count1, count2 + 1) or losspos(count1 * 4, count2) or
            losspos(count1, count2 * 4)):
            return True
        else:
            return False
    

    Enter fullscreen mode

    Exit fullscreen mode

    Основа готова, осталось просто перебрать значения, чем мы сейчас и займемся.

    1 Задача

    Условие задачи можно воспринимать так: «Ваня находиться в выигрышной позиции(выигрывает за один ход)».

    Изначально в первой куче 3 камня

    count1 = 3
    

    Enter fullscreen mode

    Exit fullscreen mode

    а во второй куче S камней, 1 ≤ S ≤ 57

    for s in range(1, 58):
    

    Enter fullscreen mode

    Exit fullscreen mode

    Перебираем все возможные комбинации с S, при которых игрок находится в выигрышной позиции

    if winpos(count1 + 1, s) or winpos(count1, s + 1) or
       winpos(count1 * 4, s) or winpos(count1, s * 4):
    

    Enter fullscreen mode

    Exit fullscreen mode

    и если хоть одна такая комбинация существует, то мы выводим S на экран и прерываем цикл.

    print("19:", s)
    break
    

    Enter fullscreen mode

    Exit fullscreen mode

    Получается следующий код, который решает эту задачу

    count1 = 3
    for i in range(1, 58):
        if winpos(count1 + 1, i) or winpos(count1, i + 1) or
            winpos(count1 * 4, i) or winpos(count1, i * 4):
            print("19:", i)
            break
    

    Enter fullscreen mode

    Exit fullscreen mode

    2 Задача

    Условие задачи можно воспринимать так: «Ваня находится в проигрышной позиции».

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

    for i in range(1, 58):
        if losspos(count1 + 1, i) or losspos(count1, i + 1) or
            losspos(count1 * 4, i) or losspos(count1, i * 4):
            print("20:", i)
    

    Enter fullscreen mode

    Exit fullscreen mode

    3 Задача

    Условие задачи можно воспринимать так: «Ваня находиться или в выигрышной или в предвыигрышной позиции»

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

    if (winpos(count1 + 1, i) or predwinpos(count1 + 1, i)) and 
       (winpos(count1, i + 1) or predwinpos(count1, i + 1)) and 
       (winpos(count1 * 4, i) or predwinpos(count1 * 4, i)) and 
       (winpos(count1, i * 4) or predwinpos(count1, i * 4)):
       print("21:", i)
    

    Enter fullscreen mode

    Exit fullscreen mode

    2 Способ

    Подробней с этим методом решения теории игр вы можете ознакомится на канале Алексея Кабанова

    Мемоизация

    Для оптимизации рекурсии подключим декоратор cache из модуля functools.

    from functools import cache
    

    Enter fullscreen mode

    Exit fullscreen mode

    Moves

    Напишем функцию moves, которая принимает количество камней в обеих кучах и возвращает всевозможные варианты ходов.

    def moves(heap):
        a, b = heap
        return (a + 1, b), (a * 4, b), (a, b + 1), (a, b * 4)
    

    Enter fullscreen mode

    Exit fullscreen mode

    Game

    Напишем функцию game, которая рекурсивно описывает игру.

    @cache
    def game(heap):
        if sum(heap) >= 61:
            return 0
        steps = [game(x) for x in moves(heap)]
        if any(x % 2 == 0 for x in steps):
            return min(x for x in steps if x % 2 == 0) + 1
        else:
            return max(steps) + 1
    

    Enter fullscreen mode

    Exit fullscreen mode

    1-3 задача

    Перебираем все значения s и выводим на экран необходимые данные.

    for s in range(57, 0, -1):
        print(s, ": ", game((3, s)), " | ", [game(x) for x in moves((3, s))])
    

    Enter fullscreen mode

    Exit fullscreen mode

    На выходе мы получаем полное дерево игры, в котором можно увидеть ответы на поставленные задачи.

    Понравилась статья? Поделить с друзьями:
  • Теория игр карты егэ
  • Теория игр информатика егэ программа python
  • Теория игр информатика егэ 2023
  • Теория игр информатика егэ 2022
  • Теория игр егэ математика