PlayPendium

Kakuro · Пища для размышлений

Кроссворд из сумм

Kakuro (какуро) — логическая головоломка, которую часто называют математическим переложением кроссворда: цифры от 1 до 9 должны давать в сумме заданные числа в горизонтальных и вертикальных словах, никогда не повторяясь в пределах одного ряда.

Написано и отредактировано на английском языке. Эта русская версия создана машинным переводом; там, где важна точность, авторитетным остаётся английский оригинал. Читать оригинал на английском →

Сетка из чёрного и белого

Открыв новую головоломку Kakuro, вы видите сетку обманчиво простого вида: шахматную мозаику из чёрных и белых клеток. Чёрные клетки — скелет головоломки, и каждая из них может нести одну или две числовые подсказки. Подсказка в правом верхнем углу чёрной клетки сообщает сумму горизонтального ряда, который начинается сразу справа от неё. Подсказка в левом нижнем углу чёрной клетки сообщает сумму вертикального ряда, который начинается сразу под ней. Белые клетки — это место работы: в каждую нужно поставить одну цифру от 1 до 9 так, чтобы каждый горизонтальный ряд («по горизонтали») и каждый вертикальный ряд («по вертикали») удовлетворял своей подсказке. Изящество головоломки — в этом двойном ограничении: каждая белая клетка стоит на пересечении ровно одного горизонтального и одного вертикального ряда, поэтому цифра в ней должна удовлетворять обеим подсказкам одновременно. 1

Чёрные клетки — не просто разделители; они источник всей информации. Каждая чёрная клетка содержит горизонтальную и/или вертикальную подсказку, а ноль означает, что в этом направлении подсказки нет. 3 У чёрной клетки может быть только горизонтальная подсказка, только вертикальная, обе или ни одной. Геометрия головоломки определяет, какие белые клетки образуют непрерывный ряд справа от чёрной клетки и какие — непрерывный ряд под ней. Эти ряды и есть настоящие ограничения головоломки. Игровой движок хранит все ряды явно и для каждой белой клетки отслеживает, к какому горизонтальному и к какому вертикальному ряду она относится. В ряду должно быть не меньше двух белых клеток; одиночная белая клетка между чёрными никакого ряда не образует. В любой расстановке, которую принимает игра, каждая белая клетка принадлежит ровно одному горизонтальному и ровно одному вертикальному ряду, образуя решётку пересекающихся ограничений, в которой решающему предстоит ориентироваться.

Правило, которое определяет всё

Правило Kakuro восхитительно простое и при этом обманчиво мощное. В каждую белую клетку нужно вписать цифру от 1 до 9 включительно так, чтобы сумма чисел в каждом ряду совпадала с его подсказкой и чтобы ни одна цифра не повторялась ни в одном ряду. Именно второе условие — требование различности — отличает Kakuro от простого упражнения в арифметике. Если бы нужно было лишь набрать сумму, для одного ряда могло бы существовать множество решений. Но требование различности означает, что ряд длиной три с подсказкой шесть можно заполнить только цифрами 1, 2 и 3 в каком-то порядке. Ряд длиной восемь с подсказкой 36 должен использовать все цифры, кроме 9, потому что сумма девяти цифр равна 45. Взаимодействие суммы и длины ряда сразу сужает возможности — часто до единственного набора цифр, а иногда, с учётом пересекающихся рядов, и до единственной расстановки. 1

Возьмём белую клетку на пересечении горизонтального и вертикального рядов. Горизонтальный ряд уже сузил возможные цифры для этой клетки до некоторого подмножества. Вертикальный ряд независимо сузил их до другого подмножества. В клетку можно поставить только то, что входит в пересечение этих двух подмножеств. В этом суть решения Kakuro: читать подсказки, определять возможные наборы цифр для каждого ряда и позволять пересечениям показывать, какая цифра куда должна встать. Ряд, который сам по себе кажется неоднозначным, часто становится кристально ясным, стоит лишь учесть соседей. Головоломка вознаграждает терпение и внимательный учёт: одна поставленная цифра может волной пройти по всему своему горизонтальному и вертикальному ряду, исключая варианты в других местах и нередко вынуждая новые ходы. 1

Математическое переложение

Kakuro часто описывают как математическое переложение кроссворда. Это описание схватывает нечто существенное в устройстве головоломки. В словесном кроссворде вы заполняете белые клетки буквами так, чтобы каждое слово по горизонтали и вертикали было правильным согласно подсказкам. В Kakuro вы заполняете белые клетки цифрами так, чтобы каждый ряд по горизонтали и вертикали давал правильную сумму согласно подсказкам. Чёрные клетки в Kakuro играют ту же роль, что и чёрные клетки в словесном кроссворде: отмечают границы между словами и несут подсказки. Разница в том, что вместо словарного запаса и орфографии Kakuro опирается на арифметику и требование различности. Головоломка требует того же нестандартного мышления, того же распознавания закономерностей и дарит то же удовлетворение, когда трудный участок наконец поддаётся. 1

Само название Kakuro — японское. 1 Это сокращение японского выражения kasan kurosu («касан куросу»), что означает «сложение крест-накрест». Это прямое описание сути головоломки: сетка в духе кроссворда, где слова — это сложения. В США головоломка впервые появилась под названием «Cross Sums» («перекрёстные суммы»); это название придумал в 1966 году Джейкоб Э. Фанк (Jacob E. Funk) из Dell Magazines. Это более раннее название, пожалуй, ещё нагляднее японского: оно сразу говорит, что делать, — находить суммы по горизонтали и вертикали. И всё же в мире более распространённым стало название Kakuro — возможно, потому, что оно короче и легче запоминается. Сущность головоломки прочно связана с идеей перекрёстного сложения, и каждая хорошо составленная Kakuro этому описанию соответствует.

Требование различности — вот что отличает Kakuro от простого упражнения в арифметике.

Как строится головоломка

Чтобы создать головоломку Kakuro, одновременно решаемую и интересную, нужно тщательное построение. Хорошая головоломка должна иметь ровно одно решение, и здесь в дело вступает решатель с возвратом. Сначала игра заполняет сетку случайным правильным решением, а затем запускает решатель с возвратом, который подсчитывает, сколько решений допускают получившиеся подсказки, и останавливается, как только найдёт два. Эта проверка гарантирует единственность решения; она не оценивает, можно ли прийти к нему чистой дедукцией, без проб и ошибок. Если решатель находит больше одного решения, головоломка отбраковывается и генерируется новая. Решатель отсекает ветви поиска, проверяя на каждом шаге различность цифр в ряду и достижимость частичной суммы, а клетки обходит сгруппированными по рядам, начиная с самых коротких. Этот порядок важен, потому что у коротких рядов меньше возможных наборов цифр и, значит, они раньше дают больше ограничений. 3

Игра также отвергает вырожденные расстановки. Её сетки настроены вручную, и каждая проверена так, чтобы любую белую клетку пересекали и горизонтальный, и вертикальный ряд. Белая клетка, у которой есть только один ряд, потому что в другом направлении она стоит одна между чёрными клетками и вообще не получает подсказки, вырождена: раз её ограничивает лишь одна сумма, клетка почти свободно может принимать несколько цифр, и единственность решения рушится. В пределах допустимой расстановки генератор перебирает всё новые заполнения, пока не найдёт такое, подсказки которого дают единственное решение. Этот процесс гарантирует, что у каждой головоломки, в которую вы играете, проверенно ровно одно решение. Детерминированность генератора означает, что один и тот же сид всегда даёт одну и ту же головоломку, а это делает головоломки проверяемыми и воспроизводимыми. Для формата ежедневной головоломки это важно: все должны решать в точности одну и ту же задачу. 3

Чтение подсказок

Мастерство в Kakuro — в том, чтобы правильно читать подсказки и понимать, что они говорят о возможных наборах цифр. Ряд длиной 2 с подсказкой 3 можно заполнить только цифрами 1 и 2. Ряд длиной 2 с подсказкой 17 — только цифрами 8 и 9. Это крайние случаи, где подсказка и длина вместе оставляют единственный возможный набор цифр. По мере удаления от этих крайностей число возможных наборов растёт. Ряд длиной 3 с подсказкой 10 может быть 1-2-7, 1-3-6, 1-4-5, 2-3-5 — и больше ничем. Искусство Kakuro — распознать, что ряд сузился до единственного набора цифр, и затем использовать это для решения пересекающихся рядов. 1

Ещё один полезный приём — смотреть на сумму всех возможных цифр. Цифры от 1 до 9 в сумме дают 45. Значит, ряд длиной 9 должен использовать все девять цифр и давать в сумме 45. В ряду длиной 8 должна отсутствовать ровно одна цифра, и подсказка скажет какая. В ряду длиной 7 отсутствуют две цифры, и их сумма равна 45 минус подсказка. Эти математические соотношения помогают быстро отбросить невозможные наборы цифр и сосредоточиться на важных. Чем больше практики, тем привычнее становятся эти закономерности и тем быстрее вы решаете. 1

Каждая белая клетка стоит на пересечении ровно одного горизонтального и одного вертикального ряда.

Удовольствие от логики

В лучших своих образцах Kakuro так приятно решать потому, что каждый ход можно обосновать логикой. Никаких догадок, никаких проб и ошибок, никакого «может быть, эта цифра сюда». В хорошо составленной головоломке каждая цифра вынуждена подсказками и ограничениями, которые вы уже вывели. Это отличительная черта традиции Nikoli — японского издательства, которое популяризировало Kakuro и многие другие логические головоломки. Nikoli славится головоломками ручной работы, присланными читателями, с единственным решением, выводимым логически. Головоломка, требующая угадывания, не считается настоящей головоломкой Nikoli. Именно эта приверженность логической чистоте придаёт Kakuro интеллектуальную привлекательность. 2

Удовольствие от решения Kakuro — в том, чтобы смотреть, как сетка заполняется по мере логических выводов. Цифра, поставленная в одну клетку, исключает варианты во всём её горизонтальном и вертикальном ряду. Эти исключения могут вынудить другие клетки принять определённые цифры, а те, в свою очередь, исключат новые варианты, и так далее. Именно этот каскадный эффект делает Kakuro головоломкой, а не просто набором арифметических задач. К тому же головоломка сама себя проверяет: если для какой-то клетки не осталось ни одной допустимой цифры, значит, где-то вы ошиблись. Эта мгновенная обратная связь удерживает внимание и подстёгивает искать решение. 1

Головоломка для всех

Одно из главных достоинств Kakuro — доступность. Не нужно знать никакой особой лексики или культурных отсылок. Достаточно уметь складывать однозначные числа и понимать, что цифры не должны повторяться. Поэтому Kakuro могут наслаждаться люди любого возраста и происхождения. При этом у головоломки есть глубина, которая удерживает и опытных игроков. Чем больше вы играете, тем больше закономерностей узнаёте, тем быстрее читаете подсказки и тем изощрённее становятся ваши стратегии. Головоломка может быть настолько простой или сложной, насколько вы захотите. 3

В Японии она многие годы была самой популярной логической головоломкой в печати — до 1992 года, когда её обошло судоку; среди головоломок Nikoli с тех пор она уступает только судоку. Эта популярность говорит о привлекательности головоломки. Она сложна, но честна, замысловата, но понятна, и её приятно решать. То, что она остаётся популярной десятилетиями, свидетельствует о качестве её устройства и об удовольствии, которое она доставляет игрокам. 1

Kakuro вознаграждает терпение и внимательный учёт: одна цифра может волной пройти по своим рядам.

Ежедневное испытание

Особенность именно этой реализации Kakuro — её детерминированность. Головоломка генерируется с помощью генератора случайных чисел с сидом, а значит, один и тот же сид всегда даёт одну и ту же головоломку. Это позволяет устроить формат ежедневной головоломки, в котором все в один и тот же день решают в точности одну и ту же задачу. Это также означает, что головоломки полностью проверяемы: любую можно воспроизвести по её сиду. Детерминированность — ключевая черта устройства игры, обеспечивающая единообразие и честность для всех игроков. 3

Ежедневный формат добавляет головоломке и элемент сообщества. Все решают одну и ту же задачу, поэтому можно обсуждать стратегии и решения с другими игроками, не выдавая ответа. Можно говорить о «той хитрой подсказке внизу справа» — и все поймут, о чём речь. Этот общий опыт — часть того, что делает Kakuro таким приятным: вы становитесь частью большого сообщества любителей головоломок. 1

Sources & notes

  1. "Kakuro," Wikipedia, a logic puzzle often called a mathematical transliteration of the crossword ("cross sums"); fill each white cell with a digit 1–9 so that each horizontal or vertical entry sums to its clue and no digit is duplicated within an entry; the name abbreviates the Japanese "kasan kurosu" ("addition cross"); earlier called "Cross Sums," coined in 1966 by Jacob E. Funk of Dell Magazines; popularised by Nikoli, second only to Sudoku, and Japan's most popular logic puzzle in print until 1992. en.wikipedia.org/wiki/Kakuro.
  2. "Nikoli," Wikipedia, a Japanese publisher specialising in logic puzzles, founded in 1980, known for hand-made reader-submitted puzzles and for giving Sudoku its name and popularising it, and for publishing other grid logic puzzles such as Slitherlink and Hashiwokakero; a hallmark is a single logically-deducible solution. en.wikipedia.org/wiki/Nikoli.
  3. This game's engine: the black/white cells, the across/down clues held on black cells, the across/down runs as the constraints with per-cell acrossRunOf/downRunOf, the distinct-digits-1–9-summing-to-the-clue rule, the backtracking solver that fills and verifies uniqueness by pruning on per-run distinctness and partial-sum feasibility (shortest runs first), the generate retry loop that guarantees a unique solution and rejects degenerate layouts, the seeded daily puzzle, and full determinism.
  4. Further reading on Kakuro, [1304.1628] Pattern-Based Constraint Satisfaction and Logic Puzzles. arxiv.org.
Was this worth reading?
Play Kakuro
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026