Текстовый квест "Икебана" в Космических Рейнджерах

На днях решил снова сыграть в такую древнюю игру, как Космические Рейнджеры, и наткнулся там на этот квест.


Напомню, его суть такова: на столе лежат цветки пяти разных цветов, количество цветков каждого цвета не может превышать три. Начальное количество цветков определяется случайным образом. Право ходить первым вы оставляете себе, либо же отдаете его сопернику. Игроки по очереди добавляют цветки какого-то одного цвета, от 1 до 3 штук. Победившим считается тот, чей ход завершит "гармонию Икебаны", то есть доведет ее до состояния 3-3-3-3-3.

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

Тут я задался вопросом: существует ли какая-то беспроигрышная стратегия?

Немного погуглив, я нашел этот совет.

Квест этот весьма сложен и непредсказуем, так что дам только основную стратегию, с которой можно выиграть в большей части случаев. Нужно делать первый ход и этим ходом добиваться, чтобы на поле осталось четное количество чётных чисел. Приведу пример: имеется следующая икебана: красный - 1, жёлтый - 2, зелёный -1, синий - 2, фиолетовый - 0. Чётных чисел здесь 3 - от жёлтого (2), синего (2) и фиолетового (0) цветов. Нужно добавить либо красный, либо зелёный цвет до двух. Далее необходимо повторять действия соперника, то есть если он увеличивает число цветков с 2 до 3, то надо у другого цвета сделать то же самое.

Неплохо, подумал я, но, увы, эта тактика не всегда ведет к победе.

Тогда, поразмыслив, я сделал следующие простейшие наблюдения.


Я побеждаю, если нет {0,1}, а число двоек нечетно. 22222, 22233 - моя победа.

Я побеждаю, если оставлю компьютеру четное число двоек.

Я побеждаю, если единица всего одна и нет нулей. Тогда я смогу оставить компьютеру четное число двоек. 12222 - моя победа.


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


Однако не все так плохо! Сделаем подробный анализ игры. Каждый цвет может принимать значения от 0 до 3. Потратив полчаса в Excel'е, можно с уверенностью сказать, что количество всех возможных комбинаций составляет 55 (за вычетом дубликатов и комбинации 33333).


Неплохо! Едем дальше. Выпишем все возможные состояния на диаграмму и упорядочим их по сумме всех цифр (макс. 14).

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

Теперь начнем окрашивать в зеленый те комбинации, которые однозначно принесут нам победу, а в синий - те, которые однозначно принесут компьютеру поражение!

23333 - зеленый

22333 - синий

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

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

Например, из 02333 можно получить 22333. И компьютер терпит поражение.


Окрасим в синий те блоки, из которых НИКАК нельзя прийти в другие синие блоки.

Из них можно получить только зеленые блоки, которые ведут к нашей победе =)

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

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

P.S. Получить быстрый доступ ко всем квестам можно, нажав в главном меню q.

P.S.S. Сделано на сайте draw.io

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

UPD Математическое обоснование #comment_136426712

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Как и обещал, ловите решение из 2к19 :)
1) Получив начальную комбинацию, считаем для нее ним-сумму по такому принципу:
xor'им цветки всех пяти цветов
(кому совсем лень думать, вот правила
2+3=1; 3+1=2; 2+1=3; x+x=0; x+0=x)
например, для комбинации 02021 получаем 2+2=0; 0+1=1. Ним-сумма -> 1.
2) Если к нам приходит комбинация с ним-суммой равной 3 - она проигрышная для нас. Доказывается легко: ним-сумма комбинаций 22333, 33333 -> 3. Поэтому на такой комбинации в начале отдаем ход сопернику.
3) Наша задача своим ходом поставить соперника в положение с ним-суммой 3.

Спасибо @netwizard за разминку для ума и теплые воспоминания о КР2 :)

раскрыть ветку (10)
Автор поста оценил этот комментарий

Блестяще! Проверил синие квадраты из моего дерева - у них у всех ним сумма получается 3! А у всех остальных - нет. Получается мы с вами будем использовать одинаковую тактику и всегда будем выигрывать если дать возможность выбирать комбинацию и чей будет ход.

00011, ним сумма 0, ваш ход.

раскрыть ветку (8)
Автор поста оценил этот комментарий

00113 (0+3=3, ним-сумма 3)

раскрыть ветку (6)
Автор поста оценил этот комментарий

01133

раскрыть ветку (5)
Автор поста оценил этот комментарий

11333

раскрыть ветку (4)
Автор поста оценил этот комментарий

12333

раскрыть ветку (3)
Автор поста оценил этот комментарий

22333

раскрыть ветку (2)
Автор поста оценил этот комментарий

23333

раскрыть ветку (1)
Автор поста оценил этот комментарий

33333 :)

Автор поста оценил этот комментарий

да, выходит, что первый, кто поставил соперника в положение с ним-суммой 3, тот заранее победил. У соперника остается надежда только на то, что вы ошибетесь или зевнете. Знающий эту тактику победу уже не упускает :)

Автор поста оценил этот комментарий

@moderator, можно в конце поста добавить ссылку на комент выше с пометкой "Update: Математическое обоснование"?

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку