Как погасить поле в игре «Выключи свет»

«Выключи свет», или Lights Out, предлагает погасить все лампы на квадратном поле. Каждое нажатие меняет состояние выбранной клетки и её соседей по вертикали и горизонтали: включённая лампа гаснет, погашенная загорается. Начните с поля 3 × 3, чтобы увидеть действие каждого хода, затем попробуйте 4 × 4 или 5 × 5.
На маленьком поле всего 9 клеток, но нажимать только горящие лампы обычно недостаточно. Кнопка управляет целым крестом, поэтому иногда приходится зажечь две лампы, чтобы следующим ходом погасить сразу несколько. Смотрите на последствия для соседей, а не только на цвет кнопки под пальцем. Поле остаётся открытым всё время, запоминать скрытый рисунок здесь не нужно.
Включённые клетки отмечены заполненным кружком, погашенные пустым. Один и тот же узор можно читать по цвету или по символам. На телефоне достаточно касаний; с клавиатуры используйте Tab, Enter и пробел, а стрелками перемещайте фокус между соседними клетками. Нажатие происходит только после выбора, поэтому перемещение фокуса само по себе ничего не переключает.
Почему второй клик отменяет первый
У каждой лампы два состояния: 0 означает «погашена», 1 означает «горит». Нажатие меняет 0 на 1 и 1 на 0. После двух переключений исходное состояние возвращается, после трёх получается тот же результат, что после одного. Для каждой клетки важно только, нечётное или чётное число раз на неё повлияли ходы.
Это позволяет сократить любое решение: два нажатия одной кнопки можно вычеркнуть. При поиске самого короткого пути достаточно рассматривать каждую кнопку один раз или не нажимать вообще. Порядок оставшихся нажатий не меняет конечное поле. Однако промежуточные картинки будут разными, поэтому один порядок может казаться понятнее другого.
На краю крест обрезается границей. Угол переключает 3 клетки, кнопка на краю вне угла переключает 4, внутренняя кнопка переключает 5. Диагональные соседи не участвуют, а правый край не соединяется с левым. Не переносите сюда правила игры, где переключаются все восемь соседей: с таким правилом получится другая задача.
Как разбирать знакомые ситуации
Для примеров считайте ряды сверху вниз, столбцы слева направо. Координата «2, 3» обозначает второй ряд и третий столбец. Так удобнее объяснять ход другому человеку, чем указывать «вот ту справа» на экране телефона.
Крест в центре. На поле 3 × 3 горят центр и четыре клетки рядом с ним, всего 5 ламп. Одно нажатие центра переключает весь этот крест и завершает игру. Минимум равен 1, хотя горящих ламп пять. Этот пример помогает отказаться от привычки считать каждую лампу отдельной задачей: один удачно выбранный выключатель обслуживает сразу группу.
Три лампы в углу. На том же поле горят левый верхний угол, клетка справа от него и клетка под ним. Нажмите угол: все 3 лампы погаснут за 1 ход. Клетка по диагонали останется прежней. Если она тоже горит, угол не завершит задачу. Перед нажатием проверьте форму тройки, а не только количество света.
Случайный двойной клик. Вы уже сделали 6 ходов и по ошибке нажали правую верхнюю клетку. Второй клик по ней восстановит прежний рисунок, но счётчик станет 8. «Отменить ход» вернёт и рисунок, и счёт 6. Для проверки идеи лучше отмена; два клика являются двумя настоящими действиями и показывают, сколько лишних переключений было в попытке.
Одинаковый план в разном порядке. Представьте погашенное поле 3 × 3. Нажатия левого верхнего угла, центра и правого нижнего угла дают ту же конечную картину, что центр, правый нижний угол и левый верхний. В обоих случаях останутся 3 горящие клетки. Зато промежуточные состояния различаются. Обсуждая решение вдвоём, сравнивайте набор из 3 кнопок, а не спорьте, какую надо нажать первой.
Рост поля меняет нагрузку. Переход с 3 × 3 на 5 × 5 увеличивает количество клеток с 9 до 25. В полном переборе возможных наборов нажатий это рост с 512 до 33 554 432 вариантов. Решение всё ещё может быть коротким, но оценить весь рисунок взглядом труднее. Начните с маленького поля, научитесь следить за границами, затем увеличивайте размер вместо попыток угадать двадцать пять кнопок подряд.
Подсказка после лишнего хода. Если задача была завершена за 1 нажатие, а вы до этого сделали 2 лишних клика по одной кнопке, победа будет записана как 3 хода при минимуме 1. Подсказка рассчитывается из нынешнего рисунка, поэтому такие пары не надо «отрабатывать» отдельно. На повторной попытке уберите пару и сравните счёт на том же поле: это честнее, чем сравнивать две случайные задачи.
Что означают ходы и минимум
«Ходы» считает принятые игровые нажатия. «Ламп осталось» показывает текущее количество включённых клеток. «Минимум в начале» относится к исходной позиции и остаётся прежним всю попытку. Число горящих ламп не является расстоянием до победы: пять ламп могут погаснуть за один ход, а одна потребовать нескольких переключений.
Перед первой партией выберите размер и нажмите «Начать игру». Во время игры кнопка «Правила и настройки» возвращает к инструкции, сохраняя поле. Новый размер применяется после нажатия «Начать игру», прежний позволяет продолжить. После победы поле перестаёт принимать ходы, но отмена остаётся доступной. «Повторить поле» возвращает исходный рисунок с нулевым счётом; «Новое поле» создаёт другую задачу. Не сравнивайте 10 ходов на одном рисунке с 8 на другом без учёта их минимальных решений.
Подсказка выделяет одну кнопку из кратчайшего решения текущего поля и называет её координаты. Она ничего не нажимает за игрока. После собственного хода или отмены метка исчезает: теперь рисунок другой и совет надо пересчитать. Кратчайших решений иногда несколько; показанная кнопка принадлежит одному из них, а не обязательно единственному возможному пути.
Как находится кратчайшее решение
Полезный ручной приём называют «преследованием света». Закончив верхний ряд, нажимайте клетки второго ряда под теми лампами, которые ещё горят сверху. Это гасит предыдущий ряд. Затем повторите действие ниже. Когда верхние ряды закончены, останется проверить последний: если он светится, выбранный набор нажатий первого ряда не подошёл.
Для каждого варианта первого ряда последующие действия уже определены. На ширине 3 есть 8 вариантов, на ширине 4 их 16, на ширине 5 их 32. Проверка всех вариантов позволяет найти не просто работающий набор, а самый короткий. Угадать первый ряд с первого раза необязательно: повторите исходное поле и попробуйте другой набор, не меняя правила для следующих рядов.
Произвольное расположение ламп не всегда можно погасить. Например, на поле 4 × 4 единственная горящая лампа в углу не имеет решения при этих правилах. Здесь новые позиции получаются переключениями заведомо погашенного поля, поэтому обратный набор действий всегда существует. Математическая разрешимость Lights Out исследуется через линейную алгебру, где важна чётность переключений [Freeman, 2011].
Для другой пространственной задачи попробуйте Ханойские башни: там порядок ходов, наоборот, принципиален. Если интереснее выводить ответ из условий, а не менять поле, подойдут логические задачи Эйнштейна. В Lights Out можно проверять идеи прямо на кнопках, не записывая длинную цепочку рассуждений.
Вопросы о выключении ламп
Правила одинаковы для всех размеров, но возможность погасить конкретный рисунок и число кратчайших решений зависят от его расположения.
Можно ли нажимать погашенные клетки?
Да. Их кнопки тоже переключают соседей, поэтому правильный ход часто находится на погашенной клетке. Запрет на такие нажатия изменил бы правила и мог бы сделать готовое решение недоступным.
Обязательно ли число горящих ламп уменьшается после каждого хода?
Нет. В кратчайшем решении промежуточное поле может стать светлее. Оценивайте возможность закончить весь рисунок, а не только изменение счётчика после одного нажатия.
Можно ли получить нерешаемое поле обычными игровыми ходами?
Из решаемого поля нет. Любой сделанный ход можно обратить повторным нажатием той же кнопки. После этого останется прежняя решаемая позиция, так что случайная ошибка усложняет план, но не уничтожает возможность победить.
Чем отличаются минимум в начале и число оставшихся ходов?
Первое число описывает исходную задачу при нулевом счёте. После отклонения от плана кратчайший путь из текущего рисунка может стать длиннее или короче. Начальный минимум не пересчитывается, чтобы попытки на одном поле можно было сравнивать.
Почему повторное поле заканчивается легче?
Во второй попытке уже известны последствия кнопок и часть рабочего плана. Поэтому уменьшение числа ходов на том же рисунке показывает освоение именно этой задачи. Оно не доказывает, что любое новое поле получится решить за столько же.
Есть ли ограничение времени?
Нет. Можно остановиться и подумать, не теряя ходы. В этой версии цель состоит в выключении поля и поиске короткого решения, поэтому скорость касаний не влияет на результат.
Сохраняется ли незавершённая партия после обновления?
Поле и история ходов сохраняются в текущей вкладке, если браузер разрешает локальное хранение. Обновление восстанавливает ту же задачу. Ссылка не передаёт её другому человеку; закрытие вкладки или очистка данных может удалить сохранение.
Полезно ли решать игру без подсказок?
Так проще проверить собственный план: сначала предскажите, какие клетки изменятся, затем нажмите. Подсказка помогает продолжить застрявшую партию, но итоговый счёт не отделяет самостоятельные ходы от подсказанных. Для личного сравнения используйте одинаковые условия.
Похожие калькуляторы
Возможно вам пригодятся ещё несколько калькуляторов по данной теме:
- Игра «Ханойские башни». Перенесите диски на правый стержень, не кладя большой на маленький.
- Игра «Задачи Эйнштейна». Решайте логические задачи Эйнштейна: отмечайте связи в матрице и проверяйте ответ.
- Игра «Быки и коровы». Угадайте код. Бык: цифра на своём месте. Корова: цифра на другом.
- Калькулятор калорий при ходьбе. Рассчитайте, сколько калорий сжигается при ходьбе пешком, к примеру, за 1 км, 1 час или 10000 шагов. Учитывается тип ходьбы: быстрая, по лестнице, скандинавская.
- Калькулятор шашлыка. Рассчитайте на онлайн-калькуляторе, сколько нужно взять мяса для шашлыка.
- Калькулятор сна. Рассчитайте по фазам сна и «правилу 90 минут», во сколько лечь спать, чтобы выспаться.
- Калькулятор размеров одежды. Определите размер по обхватам или прикиньте его по росту и весу.
- Случайный выбор из списка. Добавьте варианты по одному в строке, укажите количество и выберите режим повторов.
- Перемешать список. Добавьте пункты по одному в строке и укажите, нужно ли сохранять одинаковые значения.
- Разделить список на группы. Добавьте участников, укажите число групп и выберите случайный либо исходный порядок.
Есть что добавить?
Напишите своё мнение, комментарий или предложение.