Судоку (яп. 数独 су:доку , произношение — «одинокое число») — популярная головоломка с числами. В переводе с японского «су» — «цифра», «доку» — «стоящая отдельно». Иногда судоку называют «магическим квадратом», что в общем-то не верно, так как судоку является латинским квадратом 9-го порядка. Судоку активно публикуют газеты и журналы разных стран мира, сборники судоку издаются большими тиражами. Решение судоку — популярный вид досуга.
Содержание |
Игровое поле представляет собой квадрат размером 9×9, разделённый на меньшие квадраты со стороной в 3 клетки. Таким образом, всё игровое поле состоит из 81 клетки. В них уже в начале игры стоят некоторые числа (от 1 до 9), называемые подсказками. От игрока требуется заполнить свободные клетки цифрами от 1 до 9 так, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3×3 каждая цифра встречалась бы только один раз.
Сложность судоку зависит не от количества изначально заполненных клеток, а от методов, которые нужно применять для её решения. Самые простые решаются дедуктивно: всегда есть хотя бы одна клетка, куда подходит только одно число. Некоторые головоломки можно решить за несколько минут, на другие можно потратить часы.
Правильно составленная головоломка имеет только одно решение. Тем не менее, на некоторых сайтах в интернете под видом усложнённых головоломок пользователю предлагаются варианты судоку с несколькими вариантами решения, а также с ветвлениями самого хода решения.
В XVIII в. Леонард Эйлер изобрёл игру "Carré latin" ("Латинский квадрат"). На основе этой игры в 70-х годах прошлого века в Северной Америке были придуманы специальные числовые кроссворды. Так, в США судоку появилась впервые в 1979 году в журнале «Dell Puzzle Magazine». Тогда она называлась «Number Place». Настоящую популярность судоку завоевала в 1980—1990-х годах, когда японский журнал «Nikoli» начал регулярно публиковать на своих страницах эту головоломку (с 1986 года). Сегодня судоку — обязательный компонент многих газет. Среди них много изданий с многомиллионными тиражами, например, немецкая газета «Die Zeit»[1], австрийский «Der Standard».[2] Также публикует судоку российская газета «Труд».
Задача обобщённого судоку на поле N²×N² является NP-полной, так как к ней сводится задача о заполнении латинского квадрата.[3]
Долгое время оставался открытым вопрос о минимальном количестве подсказок, необходимых для однозначного решения судоку. В частности, не было известно, существует ли однозначно решаемая судоку с 16 подсказками. Проект распределённых вычислений Sudoku@vtaiwan на платформе BOINC занимался поиском такой судоку.[4] В январе 2012 года появилось доказательство того, что однозначно решаемых судоку с 16 подсказками не существует.[5]
Для решения судоку рекомендуется использовать карандаш, поскольку карандаш можно легко стереть в случае ошибки. Навыки решения головоломки приходят с практикой постепенно.
Лучший метод решения — записывать числа-кандидаты в вершине левого угла ячейки, а затем вычёркивать невозможные по правилам игры числа из данной ячейки. После этого можно увидеть именно те числа, которые могут занимать данную ячейку. Играть в судоку рекомендуется медленно, так как это расслабляющая игра. Некоторые головоломки можно решить за несколько минут, но на другие можно потратить часы или, в отдельных случаях, даже дни. Правильно составленная головоломка имеет единственное решение. (Однако существуют случаи, когда возможны циклические перестановки среди некоторых чисел, при которых решение переходит в другое решение, отличное от первого. Это связано с тем, что в исходной головоломке может быть задано недостаточное количество чисел.)
Сначала смотрят на ряды, столбцы и блоки 3×3 с наиболее заполненными квадратами: легче решить там, где вариантов меньше. При заполнении ячейки нужно проверить столбец, ряд и блок 3×3. Нужно проверить, что все другие 8 чисел не дублируются. Легче избежать ошибок в начале игры, чем когда в решённой загадке обнаружится противоречие. Если колонка и ряд имеют одну незаполненную ячейку, то заполняйте её. При заполнении рядов и столбцов исключать числа, которые уже вписаны.
Когда в судоку осталось несколько открытых ячеек в блоке 3×3 и только одна ячейка подходит для данного числа, то именно это число нужно записать в данную ячейку. Перед заполнением следует удостовериться, что вписываемое в ячейку число не будет встречаться в другой ячейке в том же столбце, строке или в блоке 3×3.
Когда в одном столбце, строке, или блоке 3×3 три любых ячейки имеют числа-кандидаты {1,2; 1,2; 1,3}, то число для третьей ячейки должно быть 3. Потому что, если бы это было число 1, то в одной из первых двух ячеек было бы число 2, а в другой не было бы ничего, но такого быть не может, поскольку все клетки должны быть заполнены.
Имеются две стратегии, используемые для увеличения скорости решения головоломки.
Выбрать число, которое было найдено для большинства строк, столбцов или блоков 3×3 в судоку. Для каждого блока 3×3, который не содержит это число, ищутся другие блоки 3×3 в том же самом ряду и столбце блоков 3×3, которые содержат это «наиболее решённое число» и в решаемом блоке, исключаются места, где это число, не может быть вписано в ячейку. Таким образом найдётся единственная ячейка для этого числа.
Пример:
Число 9 встречается 6 раз в шести блоках 3×3. Таким образом, число 9 можно смело ставить в центральном нижнем блоке 3×3 в верхнем левом углу, а также во втором сверху правом блоке 3×3 в первой ячейке первого ряда. В центральном блоке 3×3 число 9 может стоять только в третьей ячейке второго ряда.
Пример:
Середина верхнего ряда блоков 3×3 и середина нижнего ряда блоков 3×3 почти полностью заполнены. В середине верхнего блока три нерешённых числа — 1, 4, и 9. Анализируя такую ситуацию, можно вписать число 4 в центр блока, число 1 в правый верхний угол, а число 9 — в левый верхний угол. Аналогично можно поступить с нижним центральным блоком 3×3: в нём отсутствуют числа 6, 8 и 9. Ячейки заполняются последовательно: число 6 ставим в центр, число 9 в нижний правый угол, а число 8 в нижний левый угол.
Наиболее сложные судоку можно решать методом исключения («нить Ариадны»), для этого на отдельном листе в клеточку записывается текущее положение дел, выбирается поле, в котором могут стоять только два числа, при подстановке которых определяется как можно большее число пар в других клетках. Выбирается одно из чисел пары и подставляется в черновик. С вероятностью 50 % решение заведёт в тупик — что означает, что выбранное число было неправильным. В таком случае нужно «смотать нить» — вернуться к «развилке» и выбрать и подставить другое число. Если не было допущено ошибок в решении, подставленное число будет единственным верным.
Интересный подход к решению судоку использовал Cleve Moler, создатель пакета для научных расчётов MATLAB[6].
Самой простой модификацией судоку является судоку «чёт-нечёт». В них некоторые клетки изначально выделены цветом, в этих клетках находятся или только чётные, или только нечётные цифры.
В последнее время появились модификации большего размера, чем 9 на 9 клеток. Например, существуют судоку с размерами 12×12 или даже 16×16, предназначенные для опытных игроков.
Кроме того, существуют судоку, в которых указываются не отдельные цифры, а только суммы цифр в группах клеток; то есть, само поле разбивается на прямоугольные блоки разных размеров и указывается сумма цифр, входящих в каждый блок.
Ещё один вариант судоку — с блоками не квадратной, а произвольной формы с тем же числом клеток. Для стандартного судоку 9×9 это блоки по 9 клеток.
Для детей делают судоку меньших размеров с полем 4×4 и блоками 2×2. Такие уменьшенные головоломки называют «шидоку» (Shidoku) от японского shi — четыре[6].
Также существуют диагональные судоку. В них, в отличие от обычных судоку, поле не делится на меньшие квадраты. Требуется, чтобы в каждой строке, в каждом столбце и на двух максимальных диагоналях каждая цифра встречалась только один раз.
Пример:
3 | 6 | |||||||
8 | 4 | |||||||
2 | 4 | |||||||
6 | 7 | |||||||
3 | 7 | 9 | 2 | 6 | ||||
2 | 7 | 4 | ||||||
1 | 5 | |||||||
8 | 6 | 3 |
Существует множество вариаций судоку:
Существуют также настольные варианты игры. Подобные игры были изданы по всему миру различными издателями и разработчиками (к примеру, известный разработчик настольных игр Reiner Knizia издал свой вариант этой логической игры). В России можно встретить настольные судоку от фирмы Астрель и польской компании Trefi[7].
Существуют несколько версий игры для мобильных телефонов, а также для смартфонов. Эти версии удобны тем, что могут сами создавать условие головоломки. Также они указывают на ошибки (противоречащие цифры подсвечиваются) или могут дать подсказку в решении. 9 цифр в стандартных судоку, назначенные на 9 цифровых кнопок на мобильном телефоне, делают процесс игры очень удобным.
Во многих странах проводятся различные турниры и соревнования по решению судоку. Чемпионаты мира по решению судоку проводит Международная федерация пазлспорта, с 2007 года в них определяется и команда-победительница.
С 2006 года проводятся и чемпионаты России по решению судоку, организацией которых занимается клуб любителей головоломок «Диоген»[8].
Год | Чемпион | 2-й призёр | 3-й призёр |
---|---|---|---|
2006 | Ханмагомедов Риад | Богданов Андрей | Лемеш Андрей |
2007 | Ханмагомедов Риад | Богданов Андрей | Ершов Александр |
2008 | Богданов Андрей | Ханмагомедов Риад | Ершов Александр |
2009 | Кравченко Алексей (Беларусь) | Ершов Александр | Португалов Владимир (Беларусь) |
2010 | Ханмагомедов Риад | Кравченко Алексей | Португалов Владимир |
2011 | Ершов Александр | Ханмагомедов Риад | Португалов Владимир |
2012 | Ханмагомедов Риад | Ершов Александр | Португалов Владимир |
Судоку.