Не решается судоку. Как решать судоку — алгоритмы и стратегии

История игры

Числовую структуру придумали в Швейцарии еще в XVIII веке, на ее основе в XX веке был разработан числовой кроссворд. Однако в США, где непосредственно была придумана игра, она не получила большого распространения, в отличие от Японии, где головоломка не только прижилась, но и получила большую популярность. Именно в Японии она и приобрела привычное название «Судоку», и затем распространилась по миру.

Правила игры

Кроссворд имеет простую структуру: задается матрица из 9 квадратов, называемых секторами. Эти квадраты располагаются по три в ряду и имеют размер 3х3 клетки. Матрица Судоку выглядит как квадрат, состоящий из 3 строк и 3 столбцов, которые делят его на 9 секторов, содержащих по 9 клеток каждый. Часть клеток заполнена цифрами – чем больше цифр известно, тем проще головоломка.

Цель игры

Нужно заполнить все пустые клетки, при этом есть всего 1 правило: цифры не должны повторяться. Каждый сектор, строка и столбец должны содержать цифры от 1 до 9 без повторений. Лучше заполнять пустые клетки карандашом: так будет проще внести изменения в случае ошибки или начать заново.

Методы решения

Рассмотрим простой вариант судоку. Например, в секторе или строке осталась всего 1 пустая клетка, – логично, что в нее надо вписать то число, которого нет в числовом ряду.

Далее стоит изучить строки и столбцы, в которых есть одинаковые цифры в 2 секторах. Поскольку числа не должны повторяться, то можно проверить, в каких клетках может располагаться та же цифра в 3 секторе. Зачастую там остается только 1 клетка, в которую как раз и нужно вписать цифру.

Таким образом, часть поля кроссворда заполнится. Затем можно приступать к изучению строк. Допустим, в строке есть 3 свободных клетки, вам понятно, какие цифры должны быть туда вписаны, но неизвестно, куда конкретно. Нужно попробовать подстановку. Часто бывают варианты, когда в 2 других клетках цифра не может располагаться, потому что либо она есть в соответствующем столбце, либо в секторе.

Сложные судоку

В сложных судоку эти методы работают только наполовину, наступает момент, когда совершенно невозможно определить, в какую клетку вписывать число. Тогда нужно сделать предположение и проверить его. Если в строке, столбце или секторе есть 2 клетки, в которые одинаково возможно вписать цифру, то нужно вписать ее карандашом и следовать логике заполнения дальше. Если ваше допущение неверно, то в какой-то момент кроссворд покажет ошибку, и возникнет повтор цифр. Тогда становится очевидным, что цифра должна находиться во второй клетке, нужно вернуться назад и исправить ошибку. Лучше в таком случае использовать цветной карандаш, чтобы было проще найти момент, с которого нужно решать кроссворд заново.

Маленький секрет

Проще и быстрее решать судоку, если первоначально наметить карандашом, какие цифры могут быть в каждой клетке. Тогда не придется каждый раз проверять все секторы, и в процессе заполнения сразу будут очевидны те клетки, в которых остался только 1 вариант допустимой цифры.

Судоку – это не только увлекательная игра, которая позволяет скоротать время, это головоломка, которая развивает логическое мышление, способность удерживать большой объем информации и внимательность к деталям.

Не буду рассказывать про правила, а сразу перейду к методикам.
Для решения головоломки, не важно сложной или простой, изначально ищутся ячейки очевидные для заполнения.

1.1 «Последний герой»

Рассмотрим седьмой квадрат. Всего четыре свободных клетки, значит что-то можно быстро заполнить.
"8 " на D3 блокирует заполнение H3 и J3 ; точно также "8 " на G5 закрывает G1 и G2
С чистой совестью ставим "8 " на H1

1.2 «Последний герой» в строке

После просмотра квадратов на очевидные решения, переходим к столбцам и строкам.
Рассмотрим "4 " на поле. Понятно, что она будет где-то в строке A .
У нас есть "4 " на G3 , что зыкрывает A3 , есть "4 " на F7 , убирающая A7 . И ещё одна "4 " во втором квадрате запрещает её повтор на A4 и A6 .
«Последний герой» для нашей "4 " это A2

1.3 «Выбора нет»


Иногда есть несколько причин для конкретного расположения. "4 " в J8 будет отличным примером.
Синие стрелки показывают, что это последнее возможное число в квадрате. Красные и синие стрелки дают нам последнее число в столбце 8 . Зеленые стрелки дают последнее возможное число в строке J .
Как видим, выбора у нас нет, кроме как поставить эту "4 " на место.

1.4 «А кто, как не я?»


Заполнение чисел проще проводить вышеописанными методами. Однако проверка числа, как последнего возможного значения, тоже даёт результаты. Метод стоит применять, когда кажется, что все числа есть, но чего-то не хватает.
"5 " в B1 ставится исходя из того, что все числа от "1 " до "9 ", кроме "5 " есть в строке, столбце и квадрате (отмечено зеленым).

На жаргоне это "Голая одиночка ". Если заполнять поле возможными значениями (кандидатами), то в ячейке такое число будет единственным возможным. Развивая эту методику, можно искать "Скрытые одиночки " - числа, уникальные для конкретной строки, столбца или квадрата.

2. «Голая миля»

2.1 «Голые» пары

"«Голая» пара " - набор из двух кандидатов, расположенных в двух ячейках, принадлежащих одному общему блоку: строке, столбцу, квадрату.
Понятно, что правильные решения головоломки будут только в этих ячейках и только с этими значениями, в то время как все другие кандидаты из общего блока могут быть убраны.


В этом примере несколько «голых пар».
Красным в строке А выделены ячейки А2 и А3 , обе содержащие "1 " и "6 ". Я пока не знаю, как именно они расположены здесь, но я спокойно могу убрать все другие "1 " и "6 " из строки A (отмечено желтым). Также А2 и А3 принадлежат общему квадрату, поэтому убираем "1 " из C1 .

2.2 «Threesome»

«Голые тройки» - усложненный вариант «голых пар».
Любая группа из трех ячеек в одном блоке содержащая в общем три кандидата является «голой тройкой» . Когда такая группа нашлась, эти три кандидата могут быть убраны из других ячеек блока.

Комбинации кандидатов для «голой тройки» могуть быть такими:

// три числа в трех ячейках.
// любые комбинации.
// любые комбинации.

В этом примере все довольно очевидно. В пятом квадрате ячейки E4 , E5 , E6 содержат [5,8,9 ], [5,8 ], [5,9 ] соответственно. Получается, что в общем у этих трех ячеек есть [5,8,9 ], и только эти числа там могут быть. Это позволяет нам убрать их из других кандидатов блока. Этот трюк даёт нам решение "3 " для ячейки E7 .

2.3 «Великолепная четверка»

"«Голая» четверка" весьма редкое явление, особенно в полной форме, и все же дает результаты при обнаружении. Логика решения такая же как и у «голых троек» .

В указанном примере в первом квадрате ячейки A1 , B1 , B2 и C1 в общем содержат [1,5,6,8 ], поэтому эти числа займут только эти ячейки и никакие другие. Убираем подсвеченных желтым кандидатов.

3. «Все тайное становится явным»

3.1 Скрытые пары

Отличным способом раскрыть поле будет поиск скрытых пар . Этот метод позволяет убрать лишних кандидатов из ячейки и дать развитие более интересным стратегиям.

В этой головоломке мы видим, что 6 и 7 есть в первом и втором квадратах. Кроме этого 6 и 7 есть в столбце 7 . Комбинируя эти условия, мы можем утверждать, что в ячейках A8 и A9 будут только эти значения и все другие кандидаты мы убираем.


Более интересный и сложный пример скрытых пар . Синим выделена пара [2,4 ] в D3 и E3 , убирающая 3 , 5 , 6 , 7 из этих ячеек. Красным выделены две скрытые пары, состоящие из [3,7 ]. C одной стороны, они уникальны для для двух ячеек в 7 столбце, с другой стороны - для строки E . Выделеные желтым кандидаты убираются.

3.1 Скрытые тройки

Мы можем развить скрытые пары до скрытых троек или даже скрытых четверок . Скрытая тройка состоит из трех пар чисел, расположенных в одном блоке. Такие как , и. Однако, как и в случае с «голыми тройками» , в каждой из трех ячеек не обязательно должно быть по три числа. Сработают всего три числа в трех ячейках. Например , , . Скрытые тройки будут замаскированы другими кандидатами в ячейках, поэтому сначала надо убедиться, что тройка применима к конкретному блоку.


В этом сложном примере есть две скрытые тройки . Первая, отмеченная красным, в столбце А . Ячейка А4 содержит [2,5,6 ], A7 - [2,6 ] и ячейка A9 -[2,5 ]. Эти три ячейки единственные, где могут быть 2 ,5 или 6, поэтому только они там и будут. Следовательно убираем лишних кандидатов.

Вторая, в столбце 9 . [4,7,8 ] уникальны для ячеек B9 , C9 и F9 . Используя ту же логику, убираем кандидатов.

3.1 Скрытые четверки


Прекрасный пример скрытых четверок . [1,4,6,9 ] в пятом квадрате могут быть только в четырех ячейках D4 , D6 , F4 , F6 . Следуя нашей логике, убираем всеъ других кандидатов (отмеченых желтым).

4. «Нерезиновая»

Если любое из чисел появляется дважды или трижды в одном блоке (строке, столбце, квадрате), тогда мы можем убрать это число из сопряженного блока. Есть четыре вида сопряжения:

  1. Пара или Тройка в квадрате - если они расположены в одной строке, то можно убрать все другие такие же значения из соответствующей строки.
  2. Пара или Тройка в квадрате - если они расположены в одном столбце, то можно убрать все другие такие же значения из соответствующего столбца.
  3. Пара или Тройка в строке - если они расположены в одном квадрате, то можно убрать все другие такие же значения из соответствующего квадрата.
  4. Пара или Тройка в столбце - если они расположены в одном квадрате, то можно убрать все другие такие же значения из соответствующего квадрата.
4.1 Указавыющие пары, тройки

В качестве примера покажу эту головоломку. В третьем квадрате "3 " находится только в B7 и B9 . Следуя утверждению №1 , мы убираем кандидатов из B1 , B2 , B3 . Аналогично, "2 " из восьмого квадрата убирает возможное значение из G2 .


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

4.2 Сокращаем несокращаемое


Эта стратегия включает в себя аккуратный анализ и сравнение строк и столбцов с содержимым квадратов (правила №3 , №4 ).
Рассмотрим строку А . "2 " возможны только в А4 и А5 . Следуя правилу №3 , убираем "2 " их B5 , C4 , C5 .


Продолжим решать головоломку. Имеем единственное расположение "4 " в пределах одного квадрата в 8 столбце. Согласно правилу №4 , убираем лишних кандитатов и, в добавок, получаем решение "2 " для C7 .

Судоку - весьма интересная головоломка. Необходимо расставить цифры от 1 до 9 в поле таким образом, чтобы каждая строка, столбец и блок 3 х 3 клетки содержали все цифры, и при этом они не должны повторяться. Рассмотрим пошаговую инструкцию, как играть в судоку, основные методы и стратегию решения.

Алгоритм решения: от простого к сложному

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

Одиночные кандидаты

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

Начнем рассматривать наше поле. Для начала необходимо отыскать одиночных кандидатов на место в ячейке. Они могут быть скрытыми или явными. Рассмотрим возможных кандидатов шестого блока: мы видим, что лишь в одной из пяти свободных ячеек присутствует уникальная цифра, следовательно, четверку можно смело вписывать в четвертую ячейку. Рассматривая этот блок дальше, можно сделать вывод: во второй ячейке должна быть цифра 8, так как после исключения четверки восьмерка в блоке больше нигде не встречается. С таким же обоснованием ставим цифру 5.

Внимательно просматривайте все возможные варианты. Взглянув на центральную ячейку пятого блока, обнаружим, что кроме цифры 9 там не может быть больше никаких вариантов - это явный одиночный кандидат для данной клетки. Девятку можно вычеркнуть из остальных ячеек этого блока, после чего с легкостью проставляются остальные цифры. По такому же методу проходим по ячейкам других блоков.

Как обнаружить скрытые и явные «голые пары»

Проставив необходимые цифры в четвертом блоке, вернемся к незаполненным ячейкам шестого блока: очевидно, что цифра 6 должна находиться в третьей клетке, а 9 - в девятой.

Понятие «голая пара» присутствует только в игре судоку. Правила их обнаружения следующие: если в двух ячейках одного блока, строки или столбца присутствует идентичная пара кандидатов (и только эта пара!), то остальные ячейки группы их иметь не могут. Объясним это на примере восьмого блока. Проставив в каждую клетку возможных кандидатов, обнаруживаем явную «голую пару». Цифры 1 и 3 присутствуют во второй и пятой ячейках этого блока, и там и там присутствует всего лишь по 2 кандидата, следовательно, из остальных ячеек их можно смело исключать.

Завершение разгадывания головоломки

Если вы усвоили урок того, как играть в судоку, и шаг за шагом выполняли вышеперечисленные указания, то у вас должна получиться примерно такая картина, как на этом поле:

Здесь можно обнаружить одиночных кандидатов: единица в седьмой ячейке девятого блока и двойка в четвертой ячейке третьего блока. Попробуйте решить головоломку до конца. Теперь сравните полученный результат с правильным решением.

Получилось? Поздравляем, ведь это значит, что вы успешно усвоили уроки того, как играть в судоку, и научились разгадывать простейшие головоломки. Существует немало разновидностей этой игры: судоку разных размеров, судоку с дополнительными областями и дополнительными условиями. Игровое поле может варьироваться от 4 х 4 до 25 х 25 клеток. Вы можете встретить головоломку, в которой цифры не могут повторяться и в дополнительной области, например, по диагонали.

Начинайте с простых вариантов и постепенно переходите к более сложным, ведь с тренировками приходит и опыт.

Математическая головоломка под названием « » родом из Японии. Она получила широкое распространение во всем мире благодаря своей увлекательности. Для ее решения потребуется сконцентрировать внимание, память, задействовать логическое мышление.

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

Как играть

За основу головоломки взят латинский квадрат. Поле для игры выполнено в форме именно этой геометрической фигуры, каждая сторона которой состоит из 9 клеток. Большой квадрат заполнен маленькими квадратными блоками, подквадратами, со стороной в три клетки. В начале игры в определенные из них уже вписаны цифры-«подсказки».

Необходимо заполнить все оставшиеся пустые ячейки натуральными числами от 1 до 9.

Сделать это нужно так, чтобы цифры не повторялись:

  • в каждом столбце,
  • в каждой строке,
  • в любом из малых квадратов.

Таким образом в каждой строке и каждом столбце большого квадрата будут расположены цифры от одного до десяти, любой малый квадрат также будет содержать эти цифры без повторений.

Уровни сложности

Игра имеет единственное правильное решение. Есть различные уровни сложности: простую головоломку, с большим количеством заполненных клеток, можно решить за несколько минут. На сложную, где расставлено малое количество цифр, можно потратить несколько часов.

Методики решения

Применяются различные подходы к решению задач. Рассмотрим самые распространенные.

Метод исключения

Это дедуктивный способ, он предполагает поиск однозначных вариантов - когда для записи в ячейку подходит лишь одна цифра.

В первую очередь принимаемся за квадрат, наиболее заполненный цифрами, - левый нижний. В нем не хватает единицы, семерки, восьмерки и девятки. Чтобы узнать, куда поставить единичку, посмотрим на столбцы и строки, где есть эта цифра: она есть во втором столбце, поэтому наша пустая клетка (самая нижняя во втором столбце) не может ее содержать. Остается три возможных варианта. Но нижняя строка и вторая с самого низа строка также содержат единичку - поэтому методом исключения у нас остается правая верхняя пустая клетка в рассматриваемом подквадрате.

Подобным образом заполняем все пустые клетки.

Запись чисел-кандидатов в ячейку

Для решения в левом верхнем углу клетки записываются варианты - числа-кандидаты. Затем неподходящие по правилам игры «кандидаты» вычеркиваются. Таким образом постепенно заполняется все свободное пространство.

Опытные игроки соревнуются друг с другом в мастерстве, в скорости заполнения пустых клеток, хотя эту головоломку лучше всего решать не спеша - и тогда успешное завершение судоку принесет огромное удовлетворение.

  • Tutorial

1. Основы

Большинство из нас, хабражителей, знает, что такое судоку . Не буду рассказывать про правила, а сразу перейду к методикам.
Для решения головоломки, не важно сложной или простой, изначально ищутся ячейки очевидные для заполнения.


1.1 «Последний герой»

Рассмотрим седьмой квадрат. Всего четыре свободных клетки, значит что-то можно быстро заполнить.
"8 " на D3 блокирует заполнение H3 и J3 ; точно также "8 " на G5 закрывает G1 и G2
С чистой совестью ставим "8 " на H1

1.2 «Последний герой» в строке

После просмотра квадратов на очевидные решения, переходим к столбцам и строкам.
Рассмотрим "4 " на поле. Понятно, что она будет где-то в строке A .
У нас есть "4 " на G3 , что зыкрывает A3 , есть "4 " на F7 , убирающая A7 . И ещё одна "4 " во втором квадрате запрещает её повтор на A4 и A6 .
«Последний герой» для нашей "4 " это A2

1.3 «Выбора нет»

Иногда есть несколько причин для конкретного расположения. "4 " в J8 будет отличным примером.
Синие стрелки показывают, что это последнее возможное число в квадрате. Красные и синие стрелки дают нам последнее число в столбце 8 . Зеленые стрелки дают последнее возможное число в строке J .
Как видим, выбора у нас нет, кроме как поставить эту "4 " на место.

1.4 «А кто, как не я?»

Заполнение чисел проще проводить вышеописанными методами. Однако проверка числа, как последнего возможного значения, тоже даёт результаты. Метод стоит применять, когда кажется, что все числа есть, но чего-то не хватает.
"5 " в B1 ставится исходя из того, что все числа от "1 " до "9 ", кроме "5 " есть в строке, столбце и квадрате (отмечено зеленым).

На жаргоне это "Голая одиночка ". Если заполнять поле возможными значениями (кандидатами), то в ячейке такое число будет единственным возможным. Развивая эту методику, можно искать "Скрытые одиночки " - числа, уникальные для конкретной строки, столбца или квадрата.

2. «Голая миля»

2.1 «Голые» пары
"«Голая» пара " - набор из двух кандидатов, расположенных в двух ячейках, принадлежащих одному общему блоку: строке, столбцу, квадрату.
Понятно, что правильные решения головоломки будут только в этих ячейках и только с этими значениями, в то время как все другие кандидаты из общего блока могут быть убраны.


В этом примере несколько «голых пар».
Красным в строке А выделены ячейки А2 и А3 , обе содержащие "1 " и "6 ". Я пока не знаю, как именно они расположены здесь, но я спокойно могу убрать все другие "1 " и "6 " из строки A (отмечено желтым). Также А2 и А3 принадлежат общему квадрату, поэтому убираем "1 " из C1 .


2.2 «Threesome»
«Голые тройки» - усложненный вариант «голых пар».
Любая группа из трех ячеек в одном блоке содержащая в общем три кандидата является «голой тройкой» . Когда такая группа нашлась, эти три кандидата могут быть убраны из других ячеек блока.

Комбинации кандидатов для «голой тройки» могуть быть такими:

// три числа в трех ячейках.
// любые комбинации.
// любые комбинации.

В этом примере все довольно очевидно. В пятом квадрате ячейки E4 , E5 , E6 содержат [5,8,9 ], [5,8 ], [5,9 ] соответственно. Получается, что в общем у этих трех ячеек есть [5,8,9 ], и только эти числа там могут быть. Это позволяет нам убрать их из других кандидатов блока. Этот трюк даёт нам решение "3 " для ячейки E7 .

2.3 «Великолепная четверка»
"«Голая» четверка" весьма редкое явление, особенно в полной форме, и все же дает результаты при обнаружении. Логика решения такая же как и у «голых троек» .

В указанном примере в первом квадрате ячейки A1 , B1 , B2 и C1 в общем содержат [1,5,6,8 ], поэтому эти числа займут только эти ячейки и никакие другие. Убираем подсвеченных желтым кандидатов.

3. «Все тайное становится явным»

3.1 Скрытые пары
Отличным способом раскрыть поле будет поиск скрытых пар . Этот метод позволяет убрать лишних кандидатов из ячейки и дать развитие более интересным стратегиям.

В этой головоломке мы видим, что 6 и 7 есть в первом и втором квадратах. Кроме этого 6 и 7 есть в столбце 7 . Комбинируя эти условия, мы можем утверждать, что в ячейках A8 и A9 будут только эти значения и все другие кандидаты мы убираем.


Более интересный и сложный пример скрытых пар . Синим выделена пара [2,4 ] в D3 и E3 , убирающая 3 , 5 , 6 , 7 из этих ячеек. Красным выделены две скрытые пары, состоящие из [3,7 ]. C одной стороны, они уникальны для для двух ячеек в 7 столбце, с другой стороны - для строки E . Выделеные желтым кандидаты убираются.

3.1 Скрытые тройки
Мы можем развить скрытые пары до скрытых троек или даже скрытых четверок . Скрытая тройка состоит из трех пар чисел, расположенных в одном блоке. Такие как , и. Однако, как и в случае с «голыми тройками» , в каждой из трех ячеек не обязательно должно быть по три числа. Сработают всего три числа в трех ячейках. Например , , . Скрытые тройки будут замаскированы другими кандидатами в ячейках, поэтому сначала надо убедиться, что тройка применима к конкретному блоку.


В этом сложном примере есть две скрытые тройки . Первая, отмеченная красным, в столбце А . Ячейка А4 содержит [2,5,6 ], A7 - [2,6 ] и ячейка A9 -[2,5 ]. Эти три ячейки единственные, где могут быть 2 ,5 или 6, поэтому только они там и будут. Следовательно убираем лишних кандидатов.

Вторая, в столбце 9 . [4,7,8 ] уникальны для ячеек B9 , C9 и F9 . Используя ту же логику, убираем кандидатов.

3.1 Скрытые четверки

Прекрасный пример скрытых четверок . [1,4,6,9 ] в пятом квадрате могут быть только в четырех ячейках D4 , D6 , F4 , F6 . Следуя нашей логике, убираем всеъ других кандидатов (отмеченых желтым).

4. «Нерезиновая»

Если любое из чисел появляется дважды или трижды в одном блоке (строке, столбце, квадрате), тогда мы можем убрать это число из сопряженного блока. Есть четыре вида сопряжения:

  1. Пара или Тройка в квадрате - если они расположены в одной строке, то можно убрать все другие такие же значения из соответствующей строки.
  2. Пара или Тройка в квадрате - если они расположены в одном столбце, то можно убрать все другие такие же значения из соответствующего столбца.
  3. Пара или Тройка в строке - если они расположены в одном квадрате, то можно убрать все другие такие же значения из соответствующего квадрата.
  4. Пара или Тройка в столбце - если они расположены в одном квадрате, то можно убрать все другие такие же значения из соответствующего квадрата.
4.1 Указавыющие пары, тройки

В качестве примера покажу эту головоломку. В третьем квадрате "3 " находится только в B7 и B9 . Следуя утверждению №1 , мы убираем кандидатов из B1 , B2 , B3 . Аналогично, "2 " из восьмого квадрата убирает возможное значение из G2 .


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

4.2 Сокращаем несокращаемое

Эта стратегия включает в себя аккуратный анализ и сравнение строк и столбцов с содержимым квадратов (правила №3 , №4 ).
Рассмотрим строку А . "2 " возможны только в А4 и А5 . Следуя правилу №3 , убираем "2 " их B5 , C4 , C5 .


Продолжим решать головоломку. Имеем единственное расположение "4 " в пределах одного квадрата в 8 столбце. Согласно правилу №4 , убираем лишних кандитатов и, в добавок, получаем решение "2 " для C7 .