Сложные техники судоку
Изучите голые пары, скрытые пары и указывающие пары.
Что делает сложный судоку сложным
Сложные головоломки дают 25–29 заполненных клеток — примерно треть поля. Одиночные кандидаты (явные и скрытые) редки в начале, а заблокированных кандидатов самих по себе недостаточно. Сложный судоку требует исключения подмножеств: приёмов, работающих с парами или тройками клеток одновременно и сужающих кандидатов без немедленной постановки цифры.
Основные приёмы сложного уровня: открытые пары, открытые тройки, скрытые пары и указывающие пары. Поначалу они кажутся непривычными, но паттерны быстро становятся узнаваемыми. Главный сдвиг в мышлении: вы не всегда ищете «куда идёт X?» — иногда вы ищете «какая структура позволяет исключить X откуда-то?»
Открытые пары: две клетки фиксируют два значения
Открытая пара возникает, когда ровно две клетки в одной группе (строке, столбце или квадрате) содержат ровно одних и тех же двух кандидатов — и никаких других. Поскольку эти две клетки должны содержать именно эти два значения (по одному, в каком-то порядке), ни одно из них не может встречаться нигде ещё в этой группе.
Логика исключения:
- Найдите две клетки в одной группе, каждая из которых содержит ровно одну и ту же пару — например, {3, 7}.
- Эти два значения «зарезервированы» для этих двух клеток. Одна из них — 3, другая — 7 (порядок неизвестен).
- Уберите 3 и 7 из списков кандидатов всех остальных клеток в группе.
Row 5 candidates (after initial pencil-mark pass):
Col 1: {3, 7} ← pair cell A
Col 2: {1, 5, 9}
Col 3: {3, 7} ← pair cell B — same two values, no others
Col 4: {1, 5}
Col 5: {1, 5, 9}
Col 6: {5, 9}
Col 7: given
Col 8: given
Col 9: {1, 9}
Naked pair {3, 7} in cells (5,1) and (5,3).
→ One of those cells is 3 and the other is 7.
→ Remove 3 and 7 from cols 2, 4, 5, 6, 9 (every other cell in row 5).
Col 2 becomes {1, 5, 9} (unchanged — no 3 or 7 to remove)
Col 9 becomes {1, 9} (unchanged — no 3 or 7 to remove)
No eliminations happen here, but in other rows the same pair often frees up moves.
Исключения после открытой пары нередко открывают явных или скрытых одиночных в той же или соседних группах, запуская цепочку. Всегда заново проверяйте затронутые строку, столбец и квадрат после применения приёма.
Открытые тройки
Открытая тройка расширяет открытую пару на три клетки: если три клетки в одной группе в совокупности содержат только три различных кандидата, эти три значения заблокированы в этих трёх клетках. Исключите все три из каждой другой клетки в группе.
Клеткам не обязательно содержать все три значения — главное, чтобы они не содержали никаких значений вне этих трёх. Распространённые паттерны (для значений {A, B, C}):
- {A,B}, {B,C}, {A,C} — каждая пара значений
- {A,B,C}, {A,B}, {B,C} — полная тройка плюс два подмножества
- {A,B,C}, {A,B,C}, {A,B,C} — все три одинаковые
Открытые тройки встречаются реже открытых пар, но регулярно попадаются в сложных головоломках. Систематический поиск — сначала квадраты, затем строки и столбцы — надёжная стратегия, когда другие приёмы заходят в тупик.
Скрытые пары: зеркало открытых
Скрытая пара — это дополнение к открытой паре. Вместо двух клеток только с двумя кандидатами ищите две цифры, которые являются кандидатами ровно в двух клетках группы — даже если в этих клетках много других кандидатов.
Если цифры A и B каждая являются кандидатами только в клетках X и Y внутри группы, то X должна содержать одну из {A, B}, а Y — другую. Все прочие кандидаты в клетках X и Y можно безопасно убрать — пара «скрыта» среди этих лишних значений.
Box (rows 4–6, cols 4–6) — scanning for digits 2 and 8:
(4,4): {1, 2, 5, 8} ← contains both 2 and 8
(4,5): {1, 5}
(4,6): {2, 5, 8} ← contains both 2 and 8
(5,4): {1, 5}
(5,5): {1, 5} ← no 2 or 8
(5,6): {1, 5}
(6,4): {1, 5}
(6,5): {1, 5}
(6,6): {1, 5}
Digits 2 and 8 appear as candidates in exactly two cells: (4,4) and (4,6).
→ Hidden pair confirmed: (4,4) must be 2 or 8; (4,6) must be 2 or 8.
→ Remove all other candidates from those two cells:
(4,4) becomes {2, 8}
(4,6) becomes {2, 8}
→ Now check: (4,5) = {1, 5} — is either a naked single? Not yet.
But the box now has fewer candidates; re-scan for new singles.
После исключения клетки со скрытой парой нередко становятся явными одиночными или частью новой открытой пары, что запускает дальнейшие ходы. Скрытые пары — зачастую тот прорывной ход, который открывает сложную головоломку.
Указывающие пары и тройки
Указывающие пары (заблокированные кандидаты) из среднего судоку остаются важными и на сложном уровне. В сложных головоломках они менее очевидны из-за большей плотности списков кандидатов, но логика та же:
- Для каждого квадрата перечислите, куда может встать каждая незаполненная цифра.
- Если все позиции выровнены по одной строке или столбцу, исключите эту цифру из остатка этой строки или столбца за пределами квадрата.
На сложном уровне указывающие пары часто появляются после того, как исключение открытой или скрытой пары разредило кандидатов в квадрате, обнажив выравнивание по строке или столбцу, которое раньше не было видно. После каждого исключения подмножества необходимо запускать контрольный список среднего уровня.
Ограничение блок-линия на сложном уровне
Ограничение блок-линия (цифра в строке или столбце, полностью ограниченная одним квадратом) сохраняет актуальность на сложном уровне. После исключений открытых пар, разредивших списки кандидатов, строки и столбцы, где раньше цифра была рассредоточена по двум квадратам, могут теперь показывать её в одном — создавая новую возможность для исключения.
Сделайте это привычкой: после каждого шага исключения подмножеств заново применяйте и заблокированные кандидаты, и ограничение блок-линия ко всем строкам, столбцам и квадратам. Сложные головоломки — это цепочка приёмов, каждый из которых делает видимым следующий.
Дерево решений: когда использовать каждый приём
Используйте это дерево решений, когда зашли в тупик. Идите сверху вниз и возвращайтесь в начало после каждого успешного шага:
- Есть ли явные одиночные кандидаты? → Ставьте их, затем начинайте сначала.
- Есть ли скрытые одиночные? → Ставьте их, затем начинайте сначала.
- Есть ли заблокированные кандидаты или ограничение блок-линия? → Исключайте, затем начинайте сначала.
- Есть ли открытые пары в одной группе? → Исключайте, затем начинайте сначала.
- Есть ли скрытые пары? → Исключайте, затем начинайте сначала.
- Есть ли открытые тройки? → Исключайте, затем начинайте сначала.
- Всё ещё в тупике? → Убедитесь, что ваши заметки точны и полны. Заново выведите кандидатов для любой подозрительной клетки.
Этот цикл — ставь, исключай, повторяй — разрешает подавляющее большинство сложных головоломок. Ошибки почти всегда восходят к неточному списку кандидатов, а не к незнанию какого-либо приёма.