Open
Close

Как разгадывать самые сложные судоку. Алгоритм решения судоку (Sudoku)

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

Вот какие сведения я нашел об этом сверхсложном варианте в интернете:

Профессор Хельсинского университета Арто Инкала (Arto Inkala) утверждает (2011г.), что он создал самый сложный в мире кроссворд судоку. Эту сложнейшую головоломку он создавал три месяца.

По его словам, созданный им кроссворд невозможно решить с помощью одной лишь только логики. Арто Инкала утверждает, что даже самые опытные игроки на решение потратят не меньше нескольких дней. Изобретение профессора получило название AI Escargot (AI – инициалы ученого, Escargot – от англ. «улитка»).

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

Ну, "последовательности переборов" – это все же отдает машинным вариантом решения проблем, а те, кто решал задачу Арто Инкала посредством собственных мозгов, говорят об этом по-разному. Кто-то решал ее пару месяцев, кто-то объявил о том, что на это потребовалось лишь 15 минут. Ну что ж, чемпион мира по шахматам возможно и справился бы с задачей за такое время, а экстрасенс, если таковые обитают на нашей плане, возможно и еще быстрее. А еще мог быстро решить задачу тот, кто случайно с первого разу подобрал несколько удачных цифр для заполнения пустых ячеек. Скажем, одному из тысячи решателей задачи могло бы подобным образом и повезти.

Так вот, о переборе: если удачно выбрать две три правильных цифры, то перебирать восемь последовательностей (а это десятки вариантов) может и не потребоваться. Такое у меня было соображение, когда я решил приступить к решению указанной задачи. Для начала я, будучи уже подготовленным в рамках методик предыдущих статей, решил забыть о том, что знал до сих пор. Есть такой прием, заключающийся в том, что поиск решения должен протекать свободно, без навязанных ему схем и идей. А ситуация для меня была новой, так что требовалось на нее и по-новому взглянуть. Я расположил (в Эксель) исходную таблицу (справа) и рабочую таблицу, о смысле которой я уже имел случай рассказать в первой о судоку моей статье :

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

После обычной почти рутинной обработки таблиц ситуации немного упростилась:

Эту ситуацию я и начал изучать. Ну а поскольку я уже подзабыл, как именно я решал эту задачу несколькими днями раньше, то начинаю осмысливать ее по новой. Прежде всего, я обратил внимание на два числа 67 в ячейках четвертого блока и совместил их с механизмом вращения (перемещения) ячеек, о котором рассказывал в предыдущей статье. Перебрав все варианты вращения трех первых столбцов таблицы, я пришел к выводу, что цифры 6 и 7 не могут находиться в одном столбце и не могут вращаться асинхронно, они, в процессе вращения, могут лишь следовать одна за другой. Также, если присмотреться, семерка с четверкой как бы передвигаются синхронно по всем трем столбцам. Поэтому я делаю правдоподобное предположение, что в нижней левой ячейке блока 4 должна разместиться цифра 7, а в правой верхней – соответственно 6.

Но этот результат я пока принимаю лишь как возможный ориентир в опробовании других вариантов. А основное внимание я обращаю на число 59 в ячейке 4-го блока. Здесь может быть либо цифра 5, либо 9. Девятка обещает уничтожить очень много лишних цифр, т.е. упростить дальнейший ход решения задачи, и я начинаю с этого варианта. Но довольно быстро захожу в "тупик", т.е. далее надо снова делать какой-то выбор и как знать, как долго мой выбор будет проверяться. Я предполагаю, что если бы девятка действительно была когда-то правильным выбором, то Инкала вряд ли бы оставил такой очевидный вариант на виду, хотя механизм его программы мог и допустить подобный ляпсус. В общем, так или иначе, я решил сначала досконально проверить вариант с цифрой 5 в ячейке с числом 59.

Но уже позже, когда решил задачу, я, так сказать для очистки совести, все же вернулся к варианту с цифрой 9, чтобы определить как долго пришлось бы его проверять. Проверять пришлось не очень долго. Когда у меня в правой верхней ячейке блока 4 оказалась цифра 6, как и полагалось по предварительно выбранному ориентиру, то в правой средней ячейке возникло число 19 (убралась 6 из 169). Я выбрал для дальнейшего опробование цифру 9 в этой ячейке и быстро пришел к противоречивому результату, т.е. выбор девятки не верен. Тогда выбираю цифру 1 и снова проверяю, что из этого выйдет.

На каком-то шаге прихожу к ситуации:

где снова приходится делать выбор – цифру 2 или 8 в верхней средней ячейке блока 4. Проверяю оба варианта (2 и 8) и в обоих случаях заканчиваю противоречивым (не отвечающим условию судоку) результатом. Так что мог бы проверить вариант с цифрой 9 в средней нижней ячейке блока 4 с самого начала и много времени на это не потребовалось бы. Но я все же, как уже говорил, остановился на цифре 5 в упомянутой ячейке. Это привело меня к следующему результату:

Расположение цифр 4 и 7 в первых трех столбцах (колонках) свидетельствует о том, что они вращаются синхронно, что собственно и предполагалось при выборе цифры 7 для нижней левой ячейки 4-го блока. При этом двойка или девятка, будь любая из них требуемой цифрой в средней левой ячейке этого блока, должны соответственно двигаться асинхронно паре 4 и 7. Предпочтение в данном случае я отдал цифре 2, так как она "обещала" устранить много лишних цифр из чисел ячеек и, соответственно, быструю проверку допустимости данного варианта. А девятка быстро заводила в тупик – требовала подбора новых цифр. Таким образом, в левой средней ячейке блока с числом 29 я проставил не мой взгляд более предпочтительную из цифр – 2. Результат вышел следующим:

Далее мне пришлось еще раз сделать так сказать полупроизвольный выбор: выбрал двойку в ячейке с числом 26 в девятом блоке. Для этого достаточно было заметить, что 5 и 2 в трех нижних строках вращаются синхронно, так как 5 не вращалась синхронно ни с 1, ни с 6. Правда, синхронно могли вращаться еще 2 и 1, но из каких-то соображений – точно не помню – я выбрал 2 вместо числа 26, возможно потому, что этот вариант, по моей оценке, быстро проверялся. Впрочем, уже оставалось немного вариантов, и можно было достаточно быстро проверить любой из них. Можно было также вместо варианта с двойкой предположить, что цифры 7 и 8 вращаются синхронно в последних трех столбцах (колонках), а отсюда следовало, что в левой верхней ячейке 9-го блока могла быть только цифра 8, что также приводит к быстрой развязке задачи.

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

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

А в остальном – желаю вам успехов в решении всех проблем.

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

  • Например, в квадрате могут присутствовать цифры от одного до трех и от пяти до девяти. В таком случае там отсутствует четверка, которую и требуется вставить в пустую ячейку.

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

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

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

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

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

    Что такое судоку?

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

    История возникновения головоломки

    Принято считать, что судоку - японское удовольствие. Это, впрочем, не совсем верно. Еще три столетия назад швейцарский математик Леонард Эйлер в результате своих исследований разработал игру «Латинский квадрат». Именно на ее основе в семидесятых годах минувшего века в США придумали числовые квадраты-головоломки. Из Америки они попали в Японию, где и получили, во-первых, свое название, во-вторых, неожиданную бешеную популярность. Произошло это в середине восьмидесятых годов прошлого столетия.

    Уже из Японии числовая задачка отправилась путешествовать по миру и добралась в том числе и до России. С 2004 года судоку стали активно распространять британские газеты, а годом позже появились электронные версии этой нашумевшей игры.

    Терминология

    Прежде чем говорить подробно о том, как правильно разгадывать судоку, следует посвятить некоторое время изучению терминологии этой игры, чтобы в дальнейшем быть уверенным в верном понимании происходящего. Итак, основным элементом головоломки является клетка (всего в игре их 81 штука). Каждая из них входит в один ряд (состоит из 9 клеток по горизонтали), одну колонку (9 клеток по вертикали) и одну область (квадратик из 9 клеток). Ряд иначе может называться строкой, колонка - столбцом, а область - блоком. Другое наименование клетки - ячейка.

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

    Как разгадывать судоку: правила

    Итак, во-первых, нужно определиться с тем, что представляет собой судоку. Это большой квадрат из восьмидесяти одной клетки (как уже было сказано ранее), которые, в свою очередь, разбиты на блоки по девять клеток. Таким образом, всего в этом большом поле для судоку девять маленьких блоков. Задача игрока - вписать во все клетки судоку цифры от единицы до девятки так, чтобы они не повторялись ни по горизонтали, ни по вертикали, ни в маленькой области. Изначально некоторые числа уже стоят на своих местах. Это подсказки, данные для того, чтобы было легче разгадывать судоку. Как утверждают специалисты, верно составленная головоломка может быть решена лишь единственно правильным способом.

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

    Разновидности судоку

    Классический вид головоломки - большой квадрат девять на девять. Однако в последнее время все чаще встречаются и различные версии игры:


    Базовые алгоритмы решения: правила и секреты

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

    1. Помним, что каждая клетка содержит число от одного до девяти, и эти цифры не должны повторяться по вертикали, горизонтали и в одном маленьком квадрате. Попробуем методом исключения найти клетку, только в которой возможно нахождение какого-либо числа. Рассмотрим на примере - на рисунке выше возьмем девятый блок (нижний правый). Попробуем найти в нем место для единицы. Свободных клеток в блоке четыре, но в третью в верхнем ряду единицу поставить нельзя - она уже имеется в данной колонке. Запрещено ставить единицу и в обе клетки серединного ряда - в нем такая цифра тоже уже есть, в области по соседству. Таким образом, для данного блока допустимо нахождение единицы лишь в одной клетке - первой в последнем ряду. Так, действуя методом исключения, отсекания лишних клеток, можно находить единственно верные ячейки для определенных цифр как в конкретной области, так и в ряду либо в колонке. Главное правило - чтобы данного числа не было по соседству. Название этого метода - «скрытые одиночки».
    2. Другой способ, как разгадывать судоку, заключается в исключении лишних цифр. На том же рисунке рассмотрим центральный блок, клетку посередине. В ней не могут быть числа 1, 8, 7 и 9 - они уже находятся в данной колонке. Также не допустимы для этой ячейки цифры 3, 6 и 2 - они располагаются в нужной нам области. А цифра 4 находится в данном ряду. Следовательно, единственно возможное число для этой клетки - пять. Ее и следует вписать в центральную ячейку. Такой метод называется «одиночки».

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

    Как разгадывать судоку: секреты и методы

    Рекомендуется взять на вооружение следующее правило: записывать мелко в углу каждой клеточки те цифры, которые могли бы там стоять. По мере получения новой информации лишние цифры нужно вычеркивать, и тогда в конце концов будет видно верное решение. Кроме того, в первую очередь нужно обращать внимание на те колонки, ряды или области, где уже стоят цифры, причем как можно в большем количестве - чем меньше вариантов остается, тем легче справиться. Данный метод поможет быстро разгадать судоку. Как рекомендуют специалисты, перед внесением в ячейку ответа нужно перепроверить его еще раз, чтобы точно не ошибиться, ведь из-за одной неверно вписанной цифры может «полететь» вся головоломка, решить ее уже не получится.

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

    Ниже представлены другие правила и секреты, как разгадывать судоку.

    Метод «запертый кандидат»

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

    На рисунке выше рассмотрим блок номер шесть - центральный правый. Цифра девять в нем может находиться только в столбце посерединке (в ячейках пять или восемь). Значит, в других клетках данной области девятки точно не будет.

    Метод «открытые пары»

    Следующий секрет, как разгадывать судоку, гласит: если в одной колонке/одном ряду/одной области в двух ячейках могут быть только две любые одинаковые цифры (например, два и три), то в никаких других клетках данного блока/ряда/колонки они находиться не будут. Это часто очень облегчает задачу. То же самое правило действует и в ситуации с тремя одинаковыми числами в трех любых ячейках одного ряда/блока/колонки, и с четырьмя - соответственно, в четырех.

    Метод «скрытые пары»

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

    Метод x-wing

    Если какая-то конкретная цифра (например пять) может располагаться лишь в двух клетках какого-то определенного ряда/колонки/области, значит, только там она и находится. При этом, если в соседнем ряду/колонке/области размещение пятерки допустимо в таких же ячейках, значит, ни в одной другой клетке ряда/колонки/области эта цифра не находится.

    Сложные судоку: методы решения

    Как разгадывать сложные судоку? Секреты, в общем-то, все те же, то есть все вышеописанные методы работают и в данных случаях. Единственное, что в сложных судоку нередки ситуации, когда приходится оставлять логику и действовать «методом тыка». У такого способа даже есть свое название - «Нить Ариадны». Мы берем какое-нибудь число и подставляем его в нужную клетку, а дальше, как Ариадна, словно распутываем клубок ниток, проверяя, сойдется ли головоломка. Здесь варианта два - либо получилось, либо нет. Если нет, значит нужно «смотать клубок», вернуться на исходную, взять другую цифру и попробовать все сначала. Для того чтобы избежать лишних черканий, рекомендуется делать это все на черновике.

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

    Математические правила

    Математики не остаются в стороне от данной задачки. Математические методы, как разгадывать судоку, таковы:

    1. Сумма всех чисел в одной области/колонке/ряду равна сорока пяти.
    2. Если в какой-то области/колонке/ряду не заполнено три клетки, при этом известно, что в двух из них должны быть определенные цифры (например три и шесть), то искомая третья цифра находится с помощью примера 45 - (3+6+S), где S - это сумма всех заполненных клеток в этой области/колонке/ряду.

    Как увеличить скорость отгадывания?

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

    Версии игры

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

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

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

    1. Минимально возможное количество подсказок для головоломки судоку - семнадцать.
    2. Есть важная рекомендация, как разгадывать судоку: не торопясь. Эта игра считается расслабляющей.
    3. Разгадывать головоломку советуют карандашом, а не ручкой, чтобы можно было стереть неверную цифру.

    Эта головоломка - поистине увлекательная игра. А если знать методы, как разгадать судоку, то все становится еще интереснее. Время пролетит с пользой для ума и совершенно незаметно!

    Которые помогут вам в развитии одного из важнейших органов — мозга. Разумеется, широко-известные японские головоломки судоку являются одними из них. С их помощью вы сможете изрядно “накачать извилины”, ведь помимо необходимости просчитывать огромное количество вариантов расположения чисел, вам также нужно уметь делать это на пару десятков ходов вперед. Одним словом, это настоящий рай, если вы хотите не дать своим нейронам “засохнуть”. И сегодня мы рассмотрим основные приемы, которые используют знатоки судоку. Это будет полезно как новичкам, так и давним фанатам этих головоломок. Ведь кому-то нужно сделать свои первые шаги в искусстве судоку, а кому-то повысить эффективность своих решений!

    Правила

    Если вы еще не знакомы с , то для начала вам стоит ознакомиться с правилами. Поверьте, они очень просты.

    Игровое поле — это квадрат, который имеет размеры 9×9. При этом он разделен на меньшие квадраты с размерами 3×3. То есть, все поле состоит из 81 клетки.

    Условие задачи — это те числа, которые уже расставлены в этих клетках.

    Блок (блок ячеек) — малый квадрат, строка или строчка.

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

    Базовый способ решения

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

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

    Но конечно, есть особые приемы, которые помогут делать все это более эффективно.

    Приемы

    1. Голые пары/тройки/четверки

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

    Более такого, такой трюк можно легко проделать и с тройками, и с четверками:

    2. Скрытые пары

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

    Для того, чтобы стало еще понятнее, обратите внимание на примеры (один простой и посложнее):

    К счастью, это работает и для троек, и для четверок, но стоит упомянуть очень важную и очень крутую фишку. Не обязательно, чтобы в трех/четырех ячейках были одинаковые 3 цифры вида (a;b;c) (a;b;c) (a;b;c). Вам будет достаточно такого варианта: (a;b) (b;c) (a;c).

    3. Безымянное правило

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

    4. Указывающие пары

    Если в одной строке/столбце в “возможных вариантах” есть две одинаковые цифры, то такие цифры можно убрать из соответствующего столбца/строки.

    Временами это бывает очень полезно, особенно, если вы найдете несколько таких пар:

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

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

    Заключение

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

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

    Если у вас есть какие-то вопросы по данным методикам или же по судоку, которые мы прикладываем к статье, можете смело задавать их в комментариях!

    • 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 .