Введение
Логическая головоломка
Головоломка
the puzzle
Нурикабе (хирагана: ぬりかべ) — это бинарная головоломка, названная в честь Нурикабе, невидимой стены из японского фольклора, которая преграждает путь и замедляет передвижение. Головоломка Нурикабе была, по всей видимости, изобретена и названа компанией Nikoli; другие названия (и попытки локализации) для этой головоломки включают «Структура клеток» и «Острова в потоке».
История
Нурикабе был впервые разработан "ренин (れーにん)", чей псевдоним является японским произношением "Ленин", а автоним может быть прочитан аналогично, в 33-м номере журнала (Puzzle Communication) Nikoli за март 1991 года. Головоломка быстро стала популярной и с 38-го номера и по настоящее время публикуется во всех выпусках этого журнала. По состоянию на 2005 год издательством Nikoli было выпущено семь книг, состоящих исключительно из головоломок Нурикабе. (Этот абзац основан главным образом на информации из "Полного собрания интересных головоломок Nikoli (ニコリ オモロパズル大全集)". https://web.archive.org/web/20060707011243/http://www.nikoli.co.jp/storage/addition/omopadaizen/)
Методы растворения
Не следует полагаться на слепые догадки при решении головоломки Нурикабе. Вместо этого можно разработать и последовательно применять ряд простых процедур и правил, при условии, что решающий достаточно внимателен, чтобы определить, где их использовать. Главная ошибка начинающих решающих – концентрироваться исключительно на определении цвета клеток (черного или белого), игнорируя взаимосвязь между ними; большинство головоломок Нурикабе требуют постоянного переключения между определением черных и белых клеток. Отметка белой клетки может вынудить другие клетки стать черными, чтобы избежать изоляции черного участка, и наоборот. (Те, кто знаком с игрой Го, могут рассматривать неопределенные клетки, прилегающие к различным областям, как "свободы" и применять логику "атари", чтобы определить, как эти области должны расширяться.)
Основная стратегия
Поскольку два острова могут соприкасаться только в углах, ячейки между двумя частичными островами (числами и смежными белыми ячейками, которые еще не составляют сумму этих чисел) должны быть черными. Это часто является способом начать головоломку Нурикабе, пометив черным ячейки, прилегающие к двум или более числам. Когда остров "завершен" – то есть, содержит все белые ячейки, необходимые для его числа – все ячейки, имеющие с ним общую сторону, должны быть черными. Очевидно, любые ячейки, помеченные цифрой "1" в начале, являются самостоятельными завершенными островами и могут быть изолированы черными ячейками в начале решения. Когда три черные ячейки образуют "угол" в форме буквы L, ячейка в изгибе (диагонально от угла L) должна быть белой. (Альтернативой является "залив", если нет лучшего термина.) Все черные ячейки должны быть в конечном итоге соединены. Если существует черная область, имеющая только один возможный способ соединения с остальной частью поля, этот единственный путь соединения должен быть черным. Следствие: не может существовать непрерывного пути из белых ячеек, использующего вертикальные, горизонтальные или диагональные переходы, от одной ячейки, расположенной на краю поля, к другой подобной ячейке, который бы окружал какие-либо черные ячейки, поскольку в противном случае черные ячейки не будут соединены. Все белые ячейки должны в конечном итоге быть частью ровно одного острова. Если существует белая область, не содержащая числа, и есть только один возможный способ ее соединения с пронумерованной белой областью, этот единственный соединительный путь должен быть белым. Некоторые головоломки потребуют определения "недоступных" ячеек – ячеек, которые не могут быть соединены ни с одним числом, либо из-за слишком большого расстояния до всех чисел, либо из-за блокировки другими числами. Такие ячейки должны быть черными. Часто эти ячейки имеют только один путь соединения с другими черными ячейками или образуют угол, требующий белую ячейку (см. предыдущий пункт), которая может достичь только одного числа, что позволяет продолжить решение.
Расширенная стратегия
Если в квадрате есть две черные и две неизвестные клетки, то как минимум одна из неизвестных клеток должна оставаться белой согласно правилам. Следовательно, если одна из этих двух неизвестных клеток (назовем ее "А") может быть соединена с пронумерованным квадратом только через другую (назовем ее "В"), то клетка "В" обязательно должна быть белой (а клетка "А" может быть как белой, так и нет). Если на острове размером N уже идентифицировано N-1 белых клеток, и осталось только две клетки для выбора, при этом эти две клетки соприкасаются углами, то клетка между ними, находящаяся на дальней стороне острова, должна быть черной. Если квадрат должен быть белым и к нему могут подключиться только два острова, при этом после подключения не остается неопределенных клеток, то если острова соединяются под углом 90 градусов (например, один остров соединяется с верхней стороной, а другой – с правой стороной), то клетка внутри угла (касающаяся верхнего левого угла белого квадрата в предыдущем примере) должна быть черной, чтобы избежать соединения этих двух островов. Неопределенные клетки, соседние с прямым рядом (или прямым столбцом) черных клеток, можно проверить на принадлежность к черным, поскольку если они черные, то образуются два изгиба, и появятся две соседние белые клетки, до которых необходимо добраться с островов. Если это невозможно выполнить в заданных ограничениях, значит, клетка, которую проверяли на черность, должна быть белой.