Войти
⎕ ⍆
X

Как решать судоку?

Данную методику решения судоку подготовила Nekonyash

Цель судоку – расставить все цифры так, чтобы в квадратах 3х3, строках и столбцах не было одинаковых цифр. Вот пример уже решенного судоку:

Можно проверить, что в каждом из девяти квадратов, а и так же во всех строках и столбцах нет повторяющихся чисел. Решая судоку нужно пользоваться этим правилом «уникальности» числа и, последовательно исключая кандидатов (маленькие числа в клетке обозначают какие числа, по мнению игрока, могут стоять в этой клетке), находить места, где может стоять только одно число.

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

Начну с числа, которое в данном кроссворде есть в одном экземпляре - 6, чтобы было удобнее показать исключение кандидатов.

Числа исключаются в квадрате с числом, в строке и столбце, убираемые кандидаты отмечены красным – по ним мы и кликнем правой кнопкой мыши, отметив, что здесь шестерок в этих местах быть не может (иначе получится две шестерки в квадрате/столбце/строке, что противоречит правилам).

Теперь, если вернуться к единицам, то картина исключений будет следующей:

Мы убираем кандидаты 1 в каждой свободной клетке квадрата, где уже есть 1, в каждой строке, где есть 1 и в каждом столбце, где есть 1. Итого для трех единиц будет 3 квадрата, 3 столбца и 3 строки.

Далее перейдем сразу к 4, цифр больше, но принцип тот же. И если присмотреться, то видно, что в левом верхнем квадрате 3х3 остается всего одна свободная клетка (отмечена зеленым), где может стоять 4. Значит, ставим туда цифру 4 и стираем всех кандидатов (других чисел там стоять больше не может). В простых судоку таким образом можно заполнить довольно много полей.

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

Из трех доступных клеток под единицу не занята всего одна, туда единицу и ставим.

Таким образом убираем всех очевидных кандидатов для всех чисел (от 1 до 9) и проставляем числа по возможности:

После удаления всех очевидно неподходящих кандидатов получилась клетка, где остался всего 1 кандидат (зеленая), значит, там это число – тройка, и стоит.

Так же числа ставятся, если кандидат остался последним в квадрате, строке или столбце:

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

Это самые начальные способы простановки чисел в судоку, можно уже опробовать их, решая судоку на простой сложности (одна звезда), например: Судоку № 12433, Судоку № 14048, Судоку № 526. Указанные судоку полностью решаются с использованием информации выше. Но в случае, если не получается найти следующую цифру, можно прибегнуть к методу подбора – сохранить судоку, и попробовать наугад проставить какую-нибудь цифру, а в случае неудачи загрузить судоку.

Если хочется освоить более сложные методы, читайте далее.

Запертые кандидаты

Запертый кандидат в квадрате

Рассмотрим следующую ситуацию:

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

Аналогичный пример для цифры 2:

Запертый кандидат в строке

Этот пример похож на предыдущий, но здесь в строке (синяя) кандидаты 7 располагаются в одном квадрате. Это значит, что из всех оставшихся клеток квадрата (оранжевые) удаляются семерки.

Запертый кандидат в столбце

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

Освоив запертых кандидатов, можно решать судоку средней сложности без подбора, например: Судоку № 11466, Судоку № 13121, Судоку № 11528.

Группы чисел

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

Голые пары

Самый простой подвид групп – это две одинаковые пары чисел в одном квадрате, строке или столбце. Для примера голая пара чисел [7, 8] в строке:

Если в любой другой клетке в оранжевой строке будет 7 или 8, то в зеленых клетках останется 7 и 7, либо 8 и 8, но по правилам невозможно, чтобы в строке было 2 одинаковых числа, значит все 7 и все 8 убираются из оранжевых клеток.

Еще пример:

Голая пара [5, 8] одновременно в одном столбце и в одном квадрате. Удаляются лишние кандидаты (красные) и из столбца и из квадрата.

Важное замечание – группа должна быть именно «голой», то есть не содержать других чисел в этих клетках. То есть [5, 8] и [5, 8] являются голой группой, а [5, 6, 8] и [5, 8] – нет, так как группа уже не голая, есть лишнее число - 6. Так же [5, 8] и [5, 7] не являются голой группой, так как числа должны быть одинаковы, а здесь 3 разных числа в группе.

Голые тройки

Голые тройки похожи на голые пары, но обнаружить их сложнее – это 3 голых числа в трех клетках.

В примере числа [1, 2, 6] в одной строке повторяются 3 раза. В группе всего 3 числа и они располагаются на 3-х клетках, значит лишние числа 1, 2, 6 из оранжевых клеток удаляются.

Голая тройка может не содержать числа в полном составе, например, подошла бы комбинация: [1, 6], [1, 2] и [2, 6] – это все те же 3 типа чисел в трех клетках, просто в неполном составе.

Голые четверки

Следующее расширение голых групп – голые четверки.

Числа [2, 5], [2, 5, 6, 7], [5, 6, 7], [5, 6] образуют голую четверку из четырех чисел 2, 5, 6 и 7, расположенных в четырех клетках. Эта четверка расположена в одном квадрате, это значит, что все числа 2, 5, 6, 7 из оставшихся клеток квадрата (оранжевые) удаляются.

Скрытые пары

Следующая вариация групп – скрытые группы. Рассмотрим пример:

В самой верхней строке числа 6 и 9 расположены только в двух клетках, в других клетках этой строки таких чисел нет. И если в одной из зеленых клеток поставить другое число (например 1), то в строке не останется места для одного из чисел: 6 или 9, значит нужно удалить все числа в зеленых клетках, кроме 6 и 9.

В итоге, после удаления лишнего, должна остаться только голая пара чисел.

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

Аналогично скрытым парам – 3 числа стоять в 3-х клетках квадрата, строки или столбца и только в этих трех клетках. В этих же клетках могут быть другие числа – они удаляются

В примере скрываются числа 4, 8 и 9. В других клетках столбца этих чисел нет – значит удаляем лишних кандидатов из зеленых клеток.

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

Аналогично со скрытыми тройками, только 4 числа в 4-х клетках.

В примере четыре числа 2, 3, 8, 9 в четырех клетках (зеленые) одного столбца образуют скрытую четверку, так как в других клетках столбца (оранжевые) нет этих чисел. Удаляются лишние кандидаты из зеленых клеток.

На этом закончим рассмотрение групп чисел. Для тренировки попробуйте решить следующие кроссворды (без подбора): Судоку № 13091, Судоку № 10710

X-wing и рыба меч

Эти странные слова – названия двух похожих способа исключения кандидатов в судоку.

X-wing

X-wing рассматривается для кандидатов одного числа, рассмотрим 3:

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

Аналогично для кандидатов на 2 и столбцов.

По факту X-wing встречается довольно часто, но не так часто встреча с этой ситуацией сулит исключение лишних чисел.

Рыба-меч

Это усложненная вариация X-wing для трех строк или столбцов:

Рассматриваем так же 1 число, в примере это 3. 3 столбца (синие) содержат тройки, которые принадлежат к одним и тем же трем рядам.

Числа могут содержаться не во всех клетках, но нам важно пересечение трех горизонтальных и трех вертикальных линий. Либо по вертикали, либо по горизонтали должны отсутствовать числа во всех клетках, кроме зеленых, в примере это вертикаль – столбцы. Тогда все лишние числа в строках должны быть убраны, чтобы 3 остались только на пересечениях линий – в зеленых клетках.

Дополнительная аналитика

Взаимосвязь скрытых и голых групп.

А так же ответ на вопрос: почему не ищут скрытые/голые пятерки, шестерки итд?

Давайте рассмотрим следующие 2 примера:

Это один судоку, где рассматривается один числовой столбец. 2 числа 4 (отмечены красным) исключаются 2 разными способами – при помощи скрытой пары или при помощи голой пары.

Следующий пример:

Другой судоку, где в одном квадрате одновременно голая пара и скрытая тройка, которые удаляют одни и те же числа.

Если вы присмотритесь в примеры голых и скрытых групп в предыдущих параграфах, то заметите, что при 4-х свободных клетках с голой группой оставшиеся 2 клетки обязательно будут голой парой. При 8-и свободных клетках и голой четверке – оставшиеся 4 клетки будут скрытой четверкой:

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

И из этого можно сделать вывод, что если у нас свободны 9 клеток в строке, и среди них точно есть голая шестерка – то проще будет найти скрытую тройку, чем выискивать взаимосвязь между 6-ю клетками. Так же со скрытой и голой пятеркой – легче отыскать голую/скрытую четверку, поэтому пятерки даже не ищутся.

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

Заключительное слово

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

2501 39
2016-12-16 16:13
rose

Нравится + 2     0
2505nbiby 1
2017-01-08 21:00
yahootears

Нравится + 0     0
nekonyash 36
! #136748   2017-01-16 14:40
В дополнение к руководству:
Хорошо составленный судоку имеет единственное решение. Иногда этот тезис можно использовать для решения. Например, рассмотрим следующую ситуацию в зеленых клетках:
-


Здесь можно наблюдать 4 пары кандидатов 6 и 7 и тройку в одной из клеток. Если тройку из клеток убрать, то получится ситуация, когда возможны 2 решения (6 7 и 7 6, и наоборот 7 6 и 6 7), что противоречит тезису единственности решения. Следовательно, кандидат тройки в одной из четырех зеленых клеток верен и в эту клетку нужно проставить число 3.
Так же, хочу сказать, что все судоку, представленные на сайте, имеют единственное решение, поэтому помимо использования стандартных методов решения можно пользоваться и тезисом единственности.

Нравится + 6     4
2501 39  2017-02-01 13:42 + 0
Работает приемчик! :)
Memo 45 Solver Rank  2017-02-01 13:59 + 0
Не решаю судоку, но сразу пришла мысль, что это справедливо только когда в столбцах и рядах принадлежащим этим клеткам не может быть цифр 6 или 7. А в этом примере если в 6 ряду сверху (в 3,4 или 5 клетке) будет 6 или 7, то соответственно отсечется 6 или 7 во всех четырех клетках. Поправьте если ошибаюсь :)
Показать все комментарии
rspolyakova 40 Solver Rank
2021-01-21 11:42
Вполне можно дополнить этот гайд и такими несложными приемами (на примере https://grandgames.net/sudoku/id129752 ):

Skyscraper (небоскреб) - Две параллели, в каждой из которых только два кандидата 5, и они имеют общее основание (столбец 2).Удаляется пятерка, которая видит оба конца линий (находится в одном квадрате и строке/столбце).
-


2-String Kite (кайт) - Есть строка и столбец, в каждом из которых только две тройки, и они выходят из одного квадрата. Тройка на пересечении линий может быть удалена. Подобных конструкций иногда можно найти довольно много, бывает даже, что удаляемый кандидат является частью другого паттерна (и может помочь удалить что-нибудь еще)
-


Крыло XY-Wing - берется 2-х значная ячейка (14) и ищется две других, которые бы содержали числа 1+z и 4+z, где z это общее для них число, в данном случае 2. Кандидаты 2, которые видят оба конца крыла, удаляются (их может быть и больше одного).
-


Крыло XYZ-Wing - здесь центр крыла 3-х значный (569), а ветви используют только числа из центра (59 и 69). Таким образом, все три ячейки содержат 9. Удаляются те кандидаты 9, которые видят все три девятки. Это случается не так часто.
-


По похожему принципу можно заложить крыло с цепочкой, даже если собственно крыла нет (либо оно "пустое" и ничего не удаляет). Находим подходящую ячейку-центр (38) и ветви (36 и 89). Из этой 38 - 3 дает 6 в 36, 8 дает 9 в 89. Ищем схождение - 6 в 36 дает 9 в 59. Теперь есть две 9-ки, и они могут удалить 9 в квадрате №7. Подобную конструкцию можно продолжать и наращивать с обеих сторон.
-


Цепочка от 2-х значной ячейки, устраняющая кандидатов - 8 из 48 удалит другие 8 в квадрате №5. 4 из 48 через девятку выходит также на 8 в квадрате №6, а она по строке удалит те же самые 8-ки. Значит, им там нет места.
-

Нравится + 13     0
rspolyakova 40 Solver Rank
2021-04-05 11:35
-

Рисунок, показывающий дополнительные зоны в виндоку: помимо четырех зеленых квадратов, есть еще 4 синих квадрата (один из них обведен синей рамкой для примера) - 2 горизонтальных и 2 вертикальных, и один оранжевый квадрат, состоящий из клеток, лишних для зеленых и синих квадратов. Во всех этих квадратах цифры не повторяются (т.о. в оранжевом квадрате можно удалить все кандидаты 7 и 1, в выделенном синем - 4,5,8 и т.д.). Итого в виндоку 18 квадратов.

Нравится + 14     1
_gst6907763 46 Solver Rank  2021-04-05 18:43 + 3
@rspolyakova, спасибо за хорошее наблюдениеemcflowsvverh
уже опробовала - синими квадратами я оказывается частично пользовалась, но теперь зная, что это квадраты, вижу больше возможностей отсечь лишние кандидаты, к оранжевому привыкнуть надо, очень разбросан, но тоже циферки помогает убратьmetla
#608774
@GrandGames
Открыт новый раздел головоломок...
🗓️ 👍 20 ✍️14
#608486
@GrandGames
Открыт новый раздел Ежедневные головоломки : https...
🗓️ 👍 16 ✍️6
#607326
@Vovka.
Свершилось и мне Артефакт в Ежедневном призе пришёл!
🗓️ 👍 12 ✍️10
:)
Вернуть свернутое окно
Close