Как решать сложные судоку: что показал разбор 600 сеток
Знакомая история: лёгкие и средние судоку идут без запинки, а на «сложном» через пять минут всё встаёт. Очевидные цифры расставлены, клеток с одним вариантом нет, и остаётся либо гадать, либо бросить.
Дело не в уме. Просто на сложных сетках работают другие приёмы, и их немного. Вот, например, сложная сетка. Попробуйте найти в ней хотя бы один ход, прежде чем читать дальше.
Откуда цифры в этом посте. Я делаю сайт с судоку — vsesudoku.ru. Прежде чем показать сетку игроку, генератор разбирает её восемью приёмами, какими пользуются и люди, — от одиночек до X-Wing — и по этому разбору ставит ей уровень. Для этого поста он выдал по 150 сеток на каждый из четырёх уровней, и каждая разобрана по ходам.
Коротко
- По числу открытых цифр уровень не угадать: у сложных сеток их от 24 до 36, у средних — от 23 до 36.
- На сложном уровне почти в каждом четвёртом ходе клеток с одним вариантом на поле нет, и приходится искать место для цифры.
- Когда и это не помогает, нужны вычёркивания. В выборке 86 % из них — запертый кандидат.
- Пары, X-Wing и крылья без полной разметки кандидатов не увидеть.
- Гадать «а если тут 5» — худший путь: даже удачная догадка не покажет, какой приём вы пропустили.
Сложность не в пустоте поля
Первое, что хочется сделать, — посчитать открытые цифры. Кажется, что чем их меньше, тем сложнее. На деле по этому признаку уровень не угадать. От уровня к уровню открытых цифр обычно становится на одну-две меньше: у средней половины лёгких сеток их 30–34, у средних 28–32, у сложных 27–29, у экспертных 26–28. Но разброс большой: сложные сетки бывают и на 24, и на 36 открытых цифр, средние — от 23 до 36.
Уровни различаются ходами, которыми решаются. Ходы бывают трёх видов:
клетка с одним вариантом: смотрите на клетку, и ничего, кроме одной цифры, в неё не влезает;
поиск места для цифры: берёте цифру и ищете, куда она может встать в блоке, строке или столбце;
вычёркивание: ход ничего не ставит, а убирает лишние варианты из заметок.
На каждом шаге разбора брался самый простой ход: сначала клетка с одним вариантом, если такой нет — поиск места для цифры, и только потом вычёркивание. Поэтому доля поиска на графике — это ходы, когда клеток с одним вариантом на поле не осталось вовсе.
На лёгком уровне 99,8 % ходов — клетки с одним вариантом, поле решается по порядку. На среднем такие клетки иногда кончаются, и место для цифры за партию приходится искать 2–4 раза. На сложном — обычно уже 9–15 раз, почти каждый четвёртый ход. В 40 сетках из 150 искать приходится с самого первого хода.
«Эксперт» по этим показателям от сложного почти не отличается. Разница в третьем виде ходов: в каждой из 150 экспертных сеток хотя бы раз нужно вычёркивание, а в 150 сложных оно не понадобилось ни разу.
Оговорка: это уровни одного сайта. В журналах и приложениях шкалы свои, и чужой «сложный» может оказаться и здешним средним, и «Экспертом». Но приёмы везде одни и те же, так что пойдём от простых к сложным.
Разбор сетки из начала поста
В сетке 28 открытых цифр и 53 пустые клетки, и ни в одной не остался единственный вариант. Если на каждом шаге брать самый простой ход, первые 19 ходов уходят на поиск места для цифры: клетка с одним вариантом за это время не появляется ни разу. Зато потом сетка сыплется, и оставшиеся 34 клетки заполняются одна за другой.
Первых ходов здесь несколько. Один из них — тройка в центральном блоке.
Тройки на зелёном закрывают строки 4 и 5. В центральном блоке (синяя рамка) для тройки остаётся одна клетка — правая нижняя.
В центральном блоке пять пустых клеток. Тройка из четвёртой строки (справа) закрывает верхнюю из них, тройка из пятой строки (слева) — все три клетки средней строки блока. Свободной остаётся одна, правая нижняя. Значит, тройка стоит там, хотя сама клетка выглядит пустой и ничего не подсказывает.
Это и есть главный навык сложного уровня. Разберём его и остальные приёмы по порядку.
Шаг ноль: разметьте поле целиком
Запишите в каждую пустую клетку цифры, которые туда ещё могут встать. Их называют кандидатами. Пишите во все клетки, а не только в «интересные»: пары, X-Wing и крылья без заметок не увидеть, да и клетку с одним вариантом по ним найти проще. Выборочная разметка экономит минуту в начале и отнимает куда больше в середине: нужный вывод часто опирается как раз на клетку, до которой не дошли руки.
Вторая привычка: поставили цифру — сотрите её из заметок у всех соседей. Соседи — это клетки из той же строки, столбца или блока, и на поле 9×9 их у каждой клетки ровно двадцать: восемь в строке, восемь в столбце и ещё четыре в блоке. Забытая пометка решение не ломает, но прячет ходы: клетка с одним вариантом выглядит как клетка с двумя, пара не складывается. Обратная ошибка опаснее: если по ошибке стереть правильную цифру, клетка её уже не получит, и рано или поздно на поле встанет неверная.
Клетка с одним вариантом
Такой ход называют голым одиночкой: в клетке по заметкам остался один кандидат, и это видно, стоит только на неё посмотреть. На сложной сетке это по-прежнему три хода из четырёх, но такие клетки нередко появляются пачкой после удачного поиска по цифре — так было в сетке выше.
Поиск места для цифры
Это скрытый одиночка, главный инструмент сложного уровня. Работайте не от клетки, а от цифры. Возьмите, скажем, четвёрку и пройдите все девять блоков. В каждом блоке посмотрите, какие клетки перекрывают четвёрки из других блоков: каждая бьёт по своей строке и своему столбцу. Если свободной осталась одна клетка, четвёрка стоит в ней, сколько бы других кандидатов там ни было.
Четвёрки из других блоков закрывают строки 1 и 2 и столбцы 2 и 3. В блоке остаётся одна клетка — в зелёной рамке.
Скрытым его называют потому, что в самой клетке может висеть пять кандидатов, и заметки его не выдают. Из-за этого на сложных сетках и застревают: клеток с одним вариантом нет, и кажется, что ходов нет совсем.
Порядок, который экономит время: цифры по очереди от 1 до 9, для каждой сначала блоки, потом строки и столбцы. В блок смотрят сразу шесть линий — три строки и три столбца, поэтому начинать удобнее с блоков.
Когда одиночки кончились: вычёркивания
Если нет ни клеток с одним вариантом, ни цифр с единственным местом, сетка требует вычёркивания. Такой ход ничего не ставит: поле после него выглядит так же, но в заметках стало меньше цифр, и в строке, столбце или блоке, откуда ушёл кандидат, может открыться одиночка. На экспертных сетках первое вычёркивание обычно нужно, когда поставлено 11–20 цифр (не считая открытых), а всего вычёркиваний за партию чаще всего от одного до четырёх, в редких сетках до десяти.
Какие именно вычёркивания понадобились, видно на графике ниже. 86 % из них — запертый кандидат, с него и начинайте.
Запертый кандидат
Если внутри блока цифра помещается только в клетки одной строки, то где именно она встанет, пока неизвестно, но точно в этой строке. Значит, в остальной части строки, за пределами блока, её быть не может.
В блоке семёрка возможна только в двух клетках в рамке, и обе лежат в строке 5. Из остальной строки семёрку можно стереть.
Искать удобно тем же поиском по цифре: нашли для неё в блоке не одно место, а два-три — посмотрите, не лежат ли они на одной линии.
Приём работает и в обратную сторону. Если в строке цифра помещается только в клетки одного блока, её можно убрать из остальных клеток этого блока.
Голая пара
Две клетки одной строки, столбца или блока, в которых остались одни и те же два кандидата, например 3 и 7. Какая цифра где, неважно: обе клетки заняты этими двумя цифрами, и соседям по области они уже не достанутся.
Клетки в рамке держат только 3 и 7. Из остальных клеток строки обе цифры уходят.
Совпадение должно быть полным: «3 и 7» с «3 и 5» парой не будут. Голая тройка — три клетки на три цифры — встречается реже, и в ней достаточно, чтобы три клетки вместе держали только три цифры: «3 и 7», «3 и 5» и «5 и 7» — тоже тройка.
Скрытая пара
Зеркальный случай: двум цифрам в области осталось по две клетки, и клетки эти одни и те же. Их займут именно эти цифры, а всё остальное из клеток можно стереть. После чистки пара становится голой и работает дальше.
В блоке 4 и 7 возможны только в двух клетках в рамке. На схеме позиция до чистки: из верхней клетки уходят 1 и 2, из нижней — 3 и 5, в обеих остаются 4 и 7.
Взгляд за неё не цепляется: в обеих клетках висят лишние кандидаты. Помогает привычка смотреть на редкие цифры, у которых в области осталось два-три места. Бывает и скрытая тройка — три цифры на три клетки.
X-Wing
X-Wing — самая маленькая из «рыб», приёмов, где цифра в нескольких строках помещается только в столько же столбцов. В выборке он почти не понадобился, меньше 1 % вычёркиваний. Но учить его стоит следующим: в порядке, которым генератор разбирает сетки, он идёт сразу после пар и троек.
Возьмите одну цифру и найдите две строки, в каждой из которых для неё осталось ровно два места, причём в одних и тех же столбцах. На схеме это пятёрка в строках 2 и 6 и столбцы 2 и 8. В каждой строке пятёрка встанет в один из двух столбцов, а в один столбец обе встать не могут. Значит, одна займёт столбец 2, другая — столбец 8: либо по диагонали, либо крест-накрест. Других пятёрок в этих столбцах уже не будет, и из остальных клеток обоих столбцов её можно стереть.
Пятёрка в строках 2 и 6 возможна только в столбцах 2 и 8. В остальных клетках этих столбцов пятёрки быть не может.
То же работает от столбцов: места ищут в столбцах — стирают в строках, и наоборот.
Если и это не помогло: крылья и цепочки
Бывают сетки, на которых ничего из перечисленного не срабатывает. Дальше идут приёмы длиннее: крылья, «рыбы» покрупнее (Swordfish, Jellyfish), цепочки. Начать проще всего с XY-крыла.
Опора держит «1 и 2», крылья — «1 и 9» и «2 и 9». Девятка уходит из клеток, соседних с обоими крыльями.
Три клетки по два кандидата. Главная, опора, держит «1 и 2» и соседствует с двумя другими — крыльями: в одном «1 и 9», в другом «2 и 9». Если в опоре 1, в первом крыле остаётся 9. Если в опоре 2, девятка оказывается во втором крыле. Так или иначе девятка стоит в одном из крыльев, и у любой клетки, соседней с обоими крыльями, девятку можно стереть.
В классических судоку на сайте крылья и цепочки не нужны: сетку, которую не решить приёмами из этого поста, генератор не пропускает. Но если решаете сборники без потолка сложности, пригодится разбор сорока с лишним приёмов со схемами.
А если просто угадать?
Можно, но это худший путь. Если догадка неверна, противоречие может вылезти очень нескоро, и откатить ходы по памяти почти невозможно. Если верна, вы так и не узнаете, какой приём пропустили, и на следующей сетке застрянете там же.
Честная проверка от противного тоже существует: кандидата ставят на пробу, ищут противоречие и, если нашли, стирают. От угадывания она отличается выводом: по пробе цифру не ставят, а только стирают кандидата, который к противоречию привёл. Но это крайнее средство для очень трудных сеток, а не для сложного уровня.
Когда рука тянется написать «а если тут 5», лучше вернуться к разметке. Нередко где-то осталась пометка, которую забыли стереть, или цифра, которую не проверили по всем девяти блокам.
Шпаргалка: что делать, когда застряли
Проверьте разметку: кандидаты записаны во всех пустых клетках, у соседей поставленных цифр всё стёрто.
Пройдите клетки с одним вариантом.
Пройдите цифры от 1 до 9 по всем блокам, потом по строкам и столбцам: нет ли у цифры единственного места.
Цифра возможна в блоке в двух-трёх местах, и все на одной линии, — это запертый кандидат: сотрите её из остальной линии.
Ищите пары. Две клетки на одни и те же две цифры — сотрите эти цифры у соседей по области. Две цифры на одни и те же две клетки — сотрите из этих клеток всё остальное.
В двух строках цифра возможна ровно в двух местах, и столбцы совпали, — это X-Wing: сотрите её из остальных клеток этих столбцов.
После каждого вычёркивания возвращайтесь ко второму пункту.
Сетка из поста
Сетка из начала поста — первая на сложном уровне у меня на сайте: vsesudoku.ru/slozhnoe. Картинка с тройкой — подсказка к ней на старте. Сложный уровень там решается одиночками, вычёркивания понадобятся на «Эксперте».
Застряли на каком-то шаге — пишите в комментариях, разберём позицию.










