Секреты в решении судоку. Методы решения судоку

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

Для решения задачи в пустые клетки можно записывать кандидатов. Например, рассмотрим клетку 2-го столбца 4-ой строки: в столбце, в котором она находится, уже имеются цифры 7 и 8, в строке - цифры 1, 6, 9 и 4, в блоке - 1, 2, 8 и 9. Следовательно, из кандидатов в данной ячейке вычеркиваем 1, 2, 4, 6, 7, 8, 9, и у нас остается только два возможных кандидата – 3 и 5.

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

С кандидатами решать интереснее и можно применять различные логические методы. Далее мы рассмотрим некоторые из них.

Одиночки

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

Скрытые одиночки

Если в ячейке стоит несколько кандидатов, но один из них не встречается больше ни в одной другой ячейке данной строки (столбца или блока), то такой кандидат называется «скрытой одиночкой». В следующем примере кандидат «4» в зеленом блоке найден только в центральной ячейке. Значит, в этой ячейке обязательно будет «4». Заносим «4» в данную ячейку и вычеркиваем из других ячеек 2-го столбца и 5-ой строки. Аналогично, в желтом столбце кандидат «2» встречается один раз, следовательно, в данную ячейку заносим «2» и исключаем «2» из ячеек 7-ой строки и соответствующего блока.

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

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

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

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

Открытые пары

Если две ячейки в группе (строке, столбце, блоке) содержат идентичную пару кандидатов и ничего более, то никакие другие ячейки этой группы не могут иметь значения этой пары. Эти 2 кандидата могут быть исключены из других ячеек в группе. В примере ниже, кандидаты «1» и «5» в колонках восемь и девять формируют Открытую Пару в пределах блока (желтые ячейки). Поэтому, так как одна из этих ячеек должна быть «1», а другая должны быть «5», кандидаты «1» и «5» исключаем из всех других ячеек этого блока (зеленые ячейки).

Тоже самое можно сформулировать для 3 и 4-х кандидатов, только участвует уже 3 и 4 ячейки, соответственно. Открытые тройки: из ячеек зеленого цвета исключаем значения ячеек желтого цвета.

Открытые четверки: из ячеек зеленого цвета исключаем значения ячеек желтого цвета.

Скрытые пары

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

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

x-wing

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

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

2) если «2» записать в 7-ой столбец 4-ой строки, то из желтых ячеек «2» надо исключит и тогда в 5-ой строке положение «2» определяется однозначно 5-ым столбцом.

Следовательно, 5-ый и 7-ой столбец обязательно будут иметь цифру «2» либо в 4-ой строке, либо в 5-ой. Тогда из других ячеек данных столбцов цифру «2» можно исключить (зеленые клетки).

"Рыба Меч" (Swordfish)

Этот метод является вариацией метода .

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

Алгоритм:

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

Эта же логика применима и в случае трех колонок, где кандидат ограничивается тремя строками.

Рассмотрим пример. В трех строчках (3, 5 и 7-ая) кандидат «5» встречается не более трех раз (ячейки выделены желтым цветом). При этом они принадлежат только трем столбцам: 3, 4 и 7-ому. Согласно методу «Рыба меч» из других ячеек этих столбцов кандидата «5» можно исключить (зеленые ячейки).

В примере, приведенном ниже, так же применяется метод «Рыба меч», но уже для случая трех колонок. Исключаем кандидата «1» из ячеек зеленого цвета.

«X-wing» и «Рыба меч» можно обобщить на случай четырех строк и четырех столбцов. Данный метод будет называться «Медуза».

Цвета

Бывают ситуации, когда кандидат встречается только два раза в группе (в строке, столбце или блоке). Тогда искомая цифра обязательно будет в одном из них. Стратегия метода «Цвета» заключается в том, чтобы просматривать эту взаимосвязь с использованием двух цветов, например, желтого и зеленого. При этом решение может быть в клеточках только какого-то одного цвета.

Выделяем все взаимосвязанные цепочки и принимаем решение:

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

В следующем примере применим метод «Цвета» для ячеек с кандидатом «9». Начинаем раскрашивать с ячейки в левом верхнем блоке (2 строка, 2 столбец), закрасим ее в желтый цвет. В своем блоке она имеет только одного соседа с «9», закрасим его в зеленый цвет. Также у нее только один сосед в столбце, закрашиваем и его в зеленый цвет.

Аналогичным образом работаем с остальными ячейками, содержащими цифру «9». Получаем:

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

Еще один пример на метод «Цвета». Пометим парные ячейки для кандидата «6».

Клетка с «6» в верхнем центральном блоке (выделим сиреневым цветом) имеет двух разноцветных кандидатов:

«6» обязательно будет или в желтой или в зеленой клетке, следовательно, из этой сиреневой клетки «6» можно исключить.

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

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

Профессор Хельсинского университета Арто Инкала (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, что также приводит к быстрой развязке задачи.

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

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

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

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

Для решения задачи в пустые клетки можно записывать кандидатов. Например, рассмотрим клетку 2-го столбца 4-ой строки: в столбце, в котором она находится, уже имеются цифры 7 и 8, в строке - цифры 1, 6, 9 и 4, в блоке - 1, 2, 8 и 9. Следовательно, из кандидатов в данной ячейке вычеркиваем 1, 2, 4, 6, 7, 8, 9, и у нас остается только два возможных кандидата – 3 и 5.

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

С кандидатами решать интереснее и можно применять различные логические методы. Далее мы рассмотрим некоторые из них.

Одиночки

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

Скрытые одиночки

Если в ячейке стоит несколько кандидатов, но один из них не встречается больше ни в одной другой ячейке данной строки (столбца или блока), то такой кандидат называется «скрытой одиночкой». В следующем примере кандидат «4» в зеленом блоке найден только в центральной ячейке. Значит, в этой ячейке обязательно будет «4». Заносим «4» в данную ячейку и вычеркиваем из других ячеек 2-го столбца и 5-ой строки. Аналогично, в желтом столбце кандидат «2» встречается один раз, следовательно, в данную ячейку заносим «2» и исключаем «2» из ячеек 7-ой строки и соответствующего блока.

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

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

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

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

Открытые пары

Если две ячейки в группе (строке, столбце, блоке) содержат идентичную пару кандидатов и ничего более, то никакие другие ячейки этой группы не могут иметь значения этой пары. Эти 2 кандидата могут быть исключены из других ячеек в группе. В примере ниже, кандидаты «1» и «5» в колонках восемь и девять формируют Открытую Пару в пределах блока (желтые ячейки). Поэтому, так как одна из этих ячеек должна быть «1», а другая должны быть «5», кандидаты «1» и «5» исключаем из всех других ячеек этого блока (зеленые ячейки).

Тоже самое можно сформулировать для 3 и 4-х кандидатов, только участвует уже 3 и 4 ячейки, соответственно. Открытые тройки: из ячеек зеленого цвета исключаем значения ячеек желтого цвета.

Открытые четверки: из ячеек зеленого цвета исключаем значения ячеек желтого цвета.

Скрытые пары

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

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

x-wing

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

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

2) если «2» записать в 7-ой столбец 4-ой строки, то из желтых ячеек «2» надо исключит и тогда в 5-ой строке положение «2» определяется однозначно 5-ым столбцом.

Следовательно, 5-ый и 7-ой столбец обязательно будут иметь цифру «2» либо в 4-ой строке, либо в 5-ой. Тогда из других ячеек данных столбцов цифру «2» можно исключить (зеленые клетки).

"Рыба Меч" (Swordfish)

Этот метод является вариацией метода .

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

Алгоритм:

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

Эта же логика применима и в случае трех колонок, где кандидат ограничивается тремя строками.

Рассмотрим пример. В трех строчках (3, 5 и 7-ая) кандидат «5» встречается не более трех раз (ячейки выделены желтым цветом). При этом они принадлежат только трем столбцам: 3, 4 и 7-ому. Согласно методу «Рыба меч» из других ячеек этих столбцов кандидата «5» можно исключить (зеленые ячейки).

В примере, приведенном ниже, так же применяется метод «Рыба меч», но уже для случая трех колонок. Исключаем кандидата «1» из ячеек зеленого цвета.

«X-wing» и «Рыба меч» можно обобщить на случай четырех строк и четырех столбцов. Данный метод будет называться «Медуза».

Цвета

Бывают ситуации, когда кандидат встречается только два раза в группе (в строке, столбце или блоке). Тогда искомая цифра обязательно будет в одном из них. Стратегия метода «Цвета» заключается в том, чтобы просматривать эту взаимосвязь с использованием двух цветов, например, желтого и зеленого. При этом решение может быть в клеточках только какого-то одного цвета.

Выделяем все взаимосвязанные цепочки и принимаем решение:

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

В следующем примере применим метод «Цвета» для ячеек с кандидатом «9». Начинаем раскрашивать с ячейки в левом верхнем блоке (2 строка, 2 столбец), закрасим ее в желтый цвет. В своем блоке она имеет только одного соседа с «9», закрасим его в зеленый цвет. Также у нее только один сосед в столбце, закрашиваем и его в зеленый цвет.

Аналогичным образом работаем с остальными ячейками, содержащими цифру «9». Получаем:

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

Еще один пример на метод «Цвета». Пометим парные ячейки для кандидата «6».

Клетка с «6» в верхнем центральном блоке (выделим сиреневым цветом) имеет двух разноцветных кандидатов:

«6» обязательно будет или в желтой или в зеленой клетке, следовательно, из этой сиреневой клетки «6» можно исключить.

Цель судоку – расставить все цифры так, чтобы в квадратах 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 и 7, либо 8 и 8, но по правилам невозможно, чтобы в строке было 2 одинаковых числа, значит все 7 и все 8 убираются из оранжевых клеток.

Еще пример:


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

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

Голые тройки

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


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

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

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

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


Числа , , , образуют голую четверку из четырех чисел 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-ю клетками. Так же со скрытой и голой пятеркой – легче отыскать голую/скрытую четверку, поэтому пятерки даже не ищутся.

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

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

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

АЛГОРИТМ РЕШЕНИЯ СУДОКУ (SUDOKU) Оглавление Введение 1.Приёмы решения судоку.* 1.1.Метод малых квадратов.* 1.2.Метод строк и столбцов.* 1.3.Совместный анализ строки (столбца) с малым квадратом.* 1.4.Совместный анализ квадрата строки и столбца.* 1.5.Локальные таблицы. Пары. Триады..* 1.6.Логический подход.* 1.7.Опора на нераскрытые пары.* 1.8.Пример решения сложного судоку 1.9.Волевое раскрытие пар и судоку с неоднозначными решениями 1.10.Непары 1.11.совместное использование двух приёмов 1.12.Полупары.* 1.12А.Раскрытие полупар и решение "Самого сложного судоку в мире". 1.13.Решение судоку с малым исходным числом цифр. Нетриады. 1.14.Квадро 1.15.Рекомендации 2.Табличный алгоритм решения судоку 3.Практические указания 4.Пример решения судоку табличным способом 5.Проверьте свои силы Примечание: пункты не помеченные звёздочкой (*) можно опустить при первом чтении. Введение Судоку - это цифровая головоломка. Игровое поле - большой квадрат состоящий из девяти строк (9 клеток в строке, счёт клеток в строке идёт слева направо) и девяти столбцов (9 клеток в столбце, счёт клеток в столбце - сверху вниз) всего: (9х9=81 клеток), разбито на 9 малых квадратов (каждый квадрат состоит из 3х3=9 клеток, счёт квадратов - слева направо, сверху вниз, счёт клеток в малом квадрате - слева направо, сверху вниз). Каждая клетка рабочего поля принадлежит одновременно одной строке и одному столбцу и имеет координаты состоящие из двух цифр: её номера столбца (ось X)и номера строки (ось Y). Клетка в верхнем левом углу игрового поля имеет координаты (1,1), следующая клетка в первой строке - (2,1) цифра 7 в этой клетке будет записана в тексте так: 7(2,1), цифра 8 в третьей клетке во второй строке - 8(3,2), и т.д., а клетка в правом нижнем углу игрового поля имеет координаты (9,9). Решить судоку - заполнить все пустые клетки игрового поля цифрами от 1 до 9 таким образом, чтобы ни в одной строке, ни в одном столбце, ни в одном малом квадрате цифры не повторялись. Цифры в заполненных клетках - это цифры результата (ЦР). Цифры, которые мы должны найти - это цифры недостающие - ЦН. Если в каком-то малом квадрате записаны три цифры, например, 158 - это ЦР(запятые опущены, читаем: один, два, три), то - НЦ в данном квадрате - это - 234679. Другими словами - решить судоку - найти и правильно расставить все недостающие цифры, каждая ЦН, место которой однозначно определено, становится ЦР. На рисунках ЦР нарисованы с индексами, индекс 1 определяет ЦР найденную первой 2 - второй и т.д. В тексте указаны либо координаты ЦР: ЦР5(6,3) или 5(6,3); либо координаты и индекс: 5(6,3) инд.12: либо только индекс: 5-12. Индексация ЦР на рисунках облегчает понимание процесса решения судоку. В "диагональных" судоку накладывается ещё одно условие, а именно: в обеих диагоналях большого квадрата цифры тоже не должны повторяться. Обычно судоку имеет одно решение, но бывают и исключения - 2 и более решений. Решение судоку требует внимания и хорошего освещения. Используйте шариковые ручки. Судоку приучает к аккуратности. 1. ПРИёМЫ РЕШЕНИЯ СУДОКУ* 1.1.Метод малых квадратов - МК.* Это самый простой приём решения судоку, он основан на том факте, что в каждом малом квадрате каждая цифра из девяти возможных может появиться только один раз. С него можно начинать решение головоломки.Поиск ЦР можно начинать с любой цифры, обычно начинаем с единицы (если они присутствуют в задаче). Находим малый квадрат в котором эта цифра отсутствует. Поиск клетки в которой должна находиться выбранная нами цифра в данном квадрате ведём следующим образом. Просматриваем все строки и столбцы проходящие через наш малый квадрат на предмет наличия в них выбранной нами цифры. Если где-то (в соседних малых квадратах), строка или столбец проходящие через наш квадрат содержит нашу цифру, то части их (строк или столбцов) в нашем квадрате будут запретными ("битыми") для установки выбранной нами цифры. Если, проанализировав все строки и столбцы (3 и 3) проходящие через наш квадрат, мы видим, что все клетки нашего квадрата, кроме ОДНОЙ "биты", или заняты другими цифрами, то в эту ОДНУ клеточку мы и должны вписать нашу цифру! 1.1.1.Пример. Рис.11 В Кв.5 - пять пустых клеток. Все они, кроме клетки с координатами (5,5) "биты" тройками (битые клетки обозначены красными крестиками), вот в эту-то "небитую" клетку мы и впишем цифру результата - ЦР3(5,5). 1.1.2.Пример с пустым квадратом. Анализ: Рис.11A. Квадрат 4 - пуст, но все его клетки, кроме одной, "биты" цифрами 7 (битые клетки обозначены красными крестиками). В эту одну "небитую" клетку с коодинатами (3,5) мы и впишем цифру результата - ЦР7(3,5). 1.1.3.Анализируем таким же способом следуюющие малые квадраты. Проработав с одной цифрой (удачно или неудачно) все квадраты не содержащие её, переходим к другой цифре. Если какая-то цифра найдена во всех малых квадратах, делаем об этом пометку. Кончив работу с девяткой - переходим снова к единице и прорабатываем все цифры ещё раз. Если очередной проход не даёт результатов, то переходим к другим способам изложенным ниже. Метод МК - самый простой, с его помощью можно решать целиком только самые простые судоку Рис.11Б. Чёрный цвет - исх. сост., зелёный цвет - первый круг, красный цвет - второй, третий круг - пустые клетки для Цр2. Для лучшего вхождения в суть дела, рекомендую нарисовать исходное состояние (чёрные цифры) и пройти весь путь решения. 1.1.4.Для решения сложных судоку хорошо использовать этот метод совместно с приёмом 1.12.(полупары), отмечая маленькими цифрами абсолютно ВСЕ полупары, которые встречаются, будь то прямые, диагональные, угловые. 1.2.Метод строк и столбцов - СиС.* Ст - столбец; Стр - строка. Когда видим, что в том или ином столбце, малом квадрате или строке осталась одна пустая клетка, то без труда заполняем её. Если же дело до этого не доходит, а единственное, чего нам удалось добиться так это две свободные клетки, то в каждую из них заносим две недостающие цифры - это будет "пара". Если три пустые клетки находятся в одной строке или столбце, то в каждую из них заносим три недостающие цифры. Если все три пустые клетки были в одном малом квадрате, то считается, что они теперь заполнены и в дальнейшем поиске в этом малом квадрате не участвуют. Если пустых клеток в какой-либо строке или столбце больше, то используем следующие приёмы. 1.2.1.СиСа. Для каждой недостающей цифры проверяем все свободные клетки. Если есть только ОДНА "небитая" клетка для данной недостающей цифры, то устанавливаем в неё данную цифру, это будет цифра результата. Рис.12а: Пример решения простого судоку методом СиСа.
Красным цветом показаны ЦР найденные в результате анализа столбцов, а зелёным - в результате анализа строк. Решение. Ст.5 в нём три пустые клетки, две из них биты двойками, а одна не бита, записываем в неё 2-1. Далее находим 6-2 и 8-3. Стр.3 в ней пять пустых клеток, четыре клетки биты пятёрками, а одна - нет, в неё и записываем 5-4. Ст.1 в нём две пустые клетки, одна бита единицей, а другая - нет, в неё и записываем 1-5, а в другую - 3-6. Это судоку можно решить до конца используя только один приём СиСа. 1.2.2.СиСб. Если же использование критерия СиСа не позволяет найти больше ни одной цифры результата (проверены все строки и столбцы и всюду для каждой недостающей цифры есть несколько "небитых" клеток), то можно поискать среди этих "небитых" клеток такую, которая "бита" всеми остальными недостающими цифрами, кроме одной, и в неё поставить эту недостающую цифру. Делаем это следующим образом. Выписываем недостающие цифры какой-либо строки и проверяем все столбцы пересекающие эту строку по пустым клеткам на соответствие критерию 1.2.2. Пример. Рис.12. Строка 1: 056497000 (нулями обозначены пустые клетки). Недостающие цифры строки 1: 1238. В строке 1 пустые клетки - это места пересечения со столбцами 1,7,8,9 соответственно. Столбец 1: 000820400. Столбец 7: 090481052. Столбец 8: 000069041. Столбец 9: 004073000.
Анализ: Столбец 1 "бьёт" только две недостающие цифры строки: 28. Столбец 7 - "бьёт" три цифры: 128, это то что нам нужно, небитой осталась недостающая цифра 3, её и запишем в седьмую пустую клетку строки 1, это и будет цифра результата ЦР3(7,1). Теперь НЦ Стр.1 -128. Ст.1 "бьёт" две недостающие цифры (как было сказано ранее) -28, небитой остаётся цифра 1, её и запишем в первую пуатую клетку Стр.1, получим ЦР1(1,1) (на Рис.12 она не показана). При некотором навыке, проверки СиСа и СиСб выполняем одновременно. Если вы таким образом проанализировали все строки и не получили результата, то необходимо провести подобный анализ со всеми столбцами (теперь уже выписывая недостающие цифры столбцов). 1.2.3.Рис. 12Б: Пример решения более сложного судоку с использованием приёмов МК - зелёный цвет, СиСа - красный и СиСб - синий. Рассмотрим применение приёма СиСб. Поиск 1-8: Стр7, в ней три пустые клетки, клетка(8,7) бита двойкой и девяткой, а единицей - нет, единица и будет ЦР в этой клетке: 1-8. Поиск 7-11: Стр.8, в ней четыре пустые клетки, клетка (8,8) бита единицей, двойкой и девяткой, а семёркой - нет, она-то и будет ЦР в этой клетке: 7-11. Этим же приёмом находим 1-12. 1.3.Совместный анализ строки (столбца) с малым квадратом.* Пример. Рис.13. Квадрат 1: 013062045. Недостающие цифры квадрата 1: 789 Строка 2: 062089500. Анализ: Строка 2 "бьёт" в квадрате пустую клетку с координатами (1,2) своими цифрами 89, недостающая нифра 7 в этой клетке "небита" она и будет результатом в этой клетке ЦР7(1,2). 1.3.1.Пустые клетки тоже способны "бить". Если в малом квадрате пуста только одна малая строка (три цифры), или один малый столбец, то легко вычислить цифры, которые подспудно присутствуют в этой малой строке, или малом столбце и использовать их свойство "бить" в своих целях. 1.4.Совместный анализ квадрата, строки и столбца.* Пример. Рис.14. Квадрат 1: 004109060. Недостающие цифры квадрата 1: 23578. Строка 2: 109346002. Столбец 2: 006548900. Анализ: Строка 2 и столбец 2 пересекаются в пустой клетке квадрата 1 с коодинатами (2,2). Строка "бьёт" эту клетку цифрами 23, а столбец - цифрами 58. Небитой в этой клетке остаётся недостающая цифра 7, она и будет результатом: ЦР7(2,2). 1.5.Локальные таблицы. Пары. Триады.* Приём состоит в построении таблицы подобной описанной в главе 2., с той разницой, что таблица строится не для всего рабочего поля, а для одной какой-то структуры - строки, столбца или малого квадрата и в применении приёмов изложенных в вышеуказанной главе. 1.5.1.Локальная таблица для столбца. Пары. Этот приём покажем на примере решения судоку средней сложности (для лучшего понимания необходимо предварительно ознакомиться с главой 2. Такая вот ситуация возникла при его решении, чёрные и зелёные цифры. Исходное состояние - чёрные цифры. Рис.15.
Столбец 5: 070000005 Недостающие цифры столбца 5: 1234689 Квадрат 8: 406901758 Недостающие цифры квадрата 8: 23 Две пустые клетки в квадрате 8 принадлежат столбцу 5 и в них будет находиться пара: 23 (о парах см. 1.7, 1.9 и 2.П7.а)), эта пара и заставила нас обратить внимание на столбец 5. Теперь составим таблицу для столбца 5, для чего во все пустые клетки столбца запишем все его недостающие цифры, таблица 1 примет вид: Вычеркнем в каждой клетке цифры идентичные цифрам в строке коей она принадлежит и в квадрате, получим таблицу 2: Вычёркиваем в другх клетках цифры идентичные цифрам пары (23), получим таблицу 3: В её четвёртой строке находится цифра результата ЦР9(5,4). С учётом этого, столбец 5 теперь будет выглядеть: Столбец 5: 070900005 Строка 4: 710090468 Дальнейшее решение этого судоку не представит трудностей. Следующая цифра результата - это 9(6,3). 1.5.2.Локальная таблица для малого квадрата. Триады. Пример на Рис.1.5.1.
Исх. сост. - 28 цифр чёрного цвета. Используя приём МК находим ЦР 2-1 - 7-14. Локальная таблица для Кв.5. НЦ - 1345789; Заполняем таблицу, вычёркиваем (зелёным цветом) и получаем триаду (триада - когда в трёх клетках какой-либо одной структуры находятся по три одинаковых ЦН) 139 в клетках (4,5), (6,5) и в клетке (6,6) после очищения от пятёрки (очищение, если есть варианты, надо делать очень осторожно!). Вычёркиваем (красным цветом) цифры, составляющие триаду, из других клеток, получаем ЦР5(6,4)-15; вычёркиваем пятёрку в клетке (4,6) - получаем ЦР7(4,6)-16; вычёркиваем семёрки - получаем пару 48. Продолжаем решение. Маленький пример на очищение. Предположим, что лок. табл. для Кв.2 имеет вид: 4, 6, 3, 189, 2, 189, 1789, 5, 1789; Можно получить триаду очистив от семёрки одну из двух клеток содержащих НЦ 1789. Сделаем это, в другой клетке получим ЦР7 и продолжим работу. Если в результате нашего выбора, мы придём к противоречию, то вернёмся к точке выбора, возмём другую клетку для очищения и продолжим решение. На практике, если число недостающих цифр в малом квадрате невелико, то таблицу не рисуем, производим нужные действия в уме, или просто выписываем НЦ в строчку для облегчения работы. При выполнении этого приёма в одну клетку судоку можно вписывать до трёх цифр. Хотя у меня на рисунках - не более двух цифр, но я это делал для лучшей разборчивости рисунка! 1.6.Логический подход* 1.6.1.Простенький пример. При решении сложилась ситуация. Рис.161, без красной шестёрки.
Анализ.Кв.6: ЦР6 должна быть либо в верхней правой клетке, либо в правой нижней. Кв.4: в нём три пустых клетки, нижняя правая из них бита шестёркой, а в какой-то из верхних шестёрка может быть. Эта шестёрка будет бить верхние клетки в Кв.6. Это значит, что шестёрка будет в нижней правой клетке Кв6.: ЦР6(9,6). 1.6.2.Красивый пример. Ситуация.
В Кв2 ЦР1 будет находиться в клетках (4,2) или (5,2). В Кв7 ЦР1 будет находиться в одной из клеток: (1,7); (1,8); (1,9). В результате все клетки в Кв1 будут биты за исключением клетки (3,3), в ней-то и будет ЦР1(3,3). Далее продолжаем решение до конца используя приёмы изложенные в 1,1 и 1,2. След. ЦР: ЦР9(3,5); ЦР4(3,2); ЦР4(1,5); Цр4(2,8) и т.д. 1.7.Опора на нераскрытые пары.* Нераскрытая пара (или просто - пара) - это две клетки в строке, столбце или малом квадрате, в которых находятся по две одинаковых недостающих цифры, уникальные для каждой из вышеописаных структур. Пара может появиться естественным образом (в структуре осталиссь две пустые клетки), или в результате целенаправленного её поиска (это может получиться даже в пустой структуре).После раскрытия пара содержит по одной цифре результата в каждой клетке. Нераскрытая пара может: 1.7.1.Уже одним своим присутствием, занимая две клетки упрощает ситуацию уменьшая на две количество недостающих цифр в структуре. При анализе строк и столбцов нераскрытые пары воспринимаются как раскрытые, если они находятся целиком в теле анализируемой Стр. (Ст.) (на Рис.1.7.1 - пары Е и Д, которые целиком находятся в теле анализируемой Стр.4), либо целиком находятся в одном из малых квадратов, через которые проходит анал. Стр. (Ст.) не являясь частью её (его) (на рис. - пары Б, В). ЛИбо пара частично или полностью находится за пределами таких квадратов, но расположена перпендикулярно к анал. Стр. (Ст.)(на Рис. - пара А) и даже может пересекать её (его) опять же не являясь при этом частью её (его) (на Рис. - пары Г, Ж). ЕСЛИ ЖЕ ОДна клетка нераскрытой пары принадлежит анал, Стр. (Ст.), то при анализе считается, что в этой клетке могут быть только цифры этой пары, а для остальных НЦ. Стр. (ст.) эта клетка занята (на Рис. - пары К, М). Диагональная нераскрытая пара воспринимается как раскрытая, если она целиком находится в одном из квадратов, через котовые проходит анал Стр. (ст.) (на Рис. - пара Б). Если же такая пара находится за пределами этих квадратов, то она вообще не учитывается при анализе (пара Н на Рис.). Аналогичный подход используется при анализе малых квадратов. 1.7.2.Участвовать в порождении новой пары. 1.7.3.Раскрывать другую пару, если пары расположены перпендикулярно друг другу, или раскрываемая пара - диагональная (клетки пары не находятся на одной горизонтали или вертикали). Приём хорош для использования в пустых квадратах, и при решении минимальных судоку. Пример, рис.А1.
Исходные цифры - чёрные, без индексов. Кв.5 - пустой. Находим первые ЦР с индексами 1-6. Анализируя Кв.8 и Стр.9, видим, что в верхних двух клетках будет пара 79, а в нижней строке квадрата - цифры 158. Правая нижняя клетка бита цифрами 15 из Ст.6 и в ней будет иметь место ЦР8(6,9)-7, а в двух соседних клетках - пара 15. В Стр.9 остаются неопределёнными цифры 234. Взглянув на Ст.7, видим, что цр2(7,9)-8 имеет мест быть. Тепеь пустой Кв.5. Семёрки бьют в нём два левых столбца и среднюю строку, то же самое делают шестёрки. Результат - пара 76. Восьмёрки бьют верхнюю и нижнюю строки и правый столбец - пара 48. Находим ЦР3(5,6), индекс 9 и ЦР1(4,6), индекс 10. Эта единица раскрывает пару 15 - ЦР5(4,9) и ЦР1(5,9) индексы 11 и 12. (рис А2).
Далее находим ЦР с индексами 13- 17. Стр.4 содержит клетку с цифрами 76 и пустую клетку, битую семёркой, в неё ставим ЦР6(1,4) индекс 18 и раскрываем пару 76 ЦР7(6,4) индекс 19 и ЦР6(6,6) индекс 20. Далее находим ЦР с индексами 21 - 34. ЦР9(2,7) индекс 34 раскрывает пару 79 - ЦР7(5,7) и ЦР9(5,8) индексы 35 и 36. Далее находим ЦР с индексами 37 - 52. Четвёрка с инд.52 и восьмёрка с инд.53 раскрывает пару 48 - ЦР4(4.5) инд.54 и ЦР8(5,5) инд.55. Вышеизложенные приёмы можно использовать в любом порядке. 1.8.Пример решения сложного судоку. Рис.1.8. Для лучшего восприятия текста и извлечения пользы из его прочтения, читатель должен нарисовать игровое поле в исходном состоянии и, руководствуясь текстом, осознанно заполнять пустые клетки. Исходное состояние - 25 цифр чёрного цвета. Используя приёмы Мк и СиСа находим ЦР: (красные) 3(4,5)-1; 9(6,5); 8(5,4) и 5(5,6); далее: 8(1,5); 8(6,2); 4(6,9); 8(9,8); 8(8,3); 8(2,9)-10; пары: 57, 15, 47; 7(3,5)-12; 2-13; 3-14; 4-15; 4-16 раскрывает пару 47; пара 36(Кв.4); Для нахождения 5(8,7)-17 используем логический подход. В Кв.2 пятёрка будет в верхней строке, в Кв3. пятёрка будет в одной из двух пустых клеток нижней строки, в Кв.6 пятёрка появится после раскрытия пары 15 в одной из двух клеток пары, исходя из вышеизложенного пятёрка в Кв.9 будет в средней клетке верхней строки: 5(8,7)-17(зелённые). Пара 19(Ст.8); Стр.9 две пустые клетки её вКв.8 биты тройкой и шестёркой, получаем цепочку пар 36 Строим локальную таблицу для ст.4: вычёркиваем, в нижней клетке получим - 19(4,9). Получилась цепочка пар 19. 7(5,9)-18 раскрывает пару 57; 4-19; 3-20; пара 26; 6-21 раскрывает цепочку пар 36 и пару 26; пара 12(Стр.2); 3-22; 4-23; 5-24; 6-25; 6-26; пара 79(Ст.2) и пара79(Кв.7; пара12(Ст.1) и пара 12(Ст.5); 5-27; 9-28 раскрывает пару 79(Кв.1), цепочку пар 19, цепочку пар 12; 9-29 раскрывает пару 79(Кв.7); 7-30; 1-31 раскрывает пару 15. Конец. 1.9.Волевое раскрытие пар и судоку с неоднозначным решением. 1.9.1. Этот пункт и пункт 1.9.2. можно не читать при первичном ознакомлении. Эти пункты можно использовать для решения судоку не совсем правильно составленных, что является теперь редким явлением Волевое раскрытие пар применяется, когда использование других приёмов не даёт результатов. Решение, которое вы примете может оказатся неверным, вы определите это, когда заметите, что у вас в какой-либо структуре есть две одинаковые цифры, или вы пытаетесь это сделать. В таком случае надо изменить свой выбор при раскрытие пары на противоположный и продолжить решение с точки раскрытия пары.
Пример Рис.190. Решение. Исх. сост. 28 цифр чёрного цвета, используем приёмы - МК, СиСа и один раз - СиСб - 5-7; после 1-22 - пара37; после 1-24 - пара 89; 3-25; 6-26; пара 17; две пары 27 - красная и зелёная. тупик. Раскрываем волюнтаристки пару 37, что вызывает открытие пары 17; далее - 1-27; 3-28; тупик. Раскрываем цепочку пар 27; 7-29 - 4-39; 8-40 раскрывает пару 89. Всё. Нам повезло, в ходе решения все пары были раскрыты правильно, в противном случае, пришлось бы возвращаться назад, альтернативно раскрывать пары. Для упрощения процесса, волевое раскрытие пар и дальнейшее решение надо делать карандашом, чтобы в случае неудачи написать новые цифры чернилами. 1.9.2.Судоку с неоднозначным решением имеют не одно, а несколько правильных решений. Неоднозначное решение - следствие нахождения в теле судоку закольцованных цепочек пар. Каждая кольцевая цепочка даёт два решения. Две кольцевых цепочки - четыре решения и т.д..
Пример. Рис.191. Решение. Исх. сост. 33 цифры чёрного цвета. Находим зелёные ЦР до 7(9,5)-21; четыре пары зелёного цвета- 37,48,45,25. Тупик. Раскрываен наобум цепочку пар 45; находим новые пары красного цвета59,24; раскрываем пару 25; нов. пара 28. Раскрываем пары37,48 и находим 7-1 красного цвета, нов. пара 35, раскрываем её и находим 3-2 тоже красного цвета: новые пары 45,49 - раскрываем их с учётом того, что их части находятся в одном Кв.2, где есть пятёрки; следом раскрываются пары24,28; 9-3; 5-4;8-5. На рис.192 приведё второй вариант решения, ещё два варианта приведены на Рис.193,194 (см. иллюстрацию). 1.10.Непары. Непара - это клетка с двумя разными цифрами, сочетание которых является уникальным для данной структуры. если же в структуре находятся две клетки с данным сочетанием цифр, то это - пара. Непары появляются как результат использования локальных таблиц или в результате их целенаправленного поиска. Раскрываются в результате сложившихся условий, либо волевым решением. Пример. Рис.1.101. Решение. Исх. сост. - 26 цифр чёрного цвета. Находим ЦР (зелёные): 4-1 - 2-7; пары 58,23,89,17; 6-8; 2-9; Кв.3 бит парами 58 и 89 - находим 8-10; 5-11 - 7-15; раскрывается пара 17; пара 46 раскрывается шестёркой из Ст.1; 6-16; 8-17; пара 34; 5-18 - 4-20; Лок. табл. дляСт.1: непара 13; ЦР2-21; непара 35. Лок. табл. для Ст.2: непары 19,89,48,14. Лок. табл. для Ст.3: непары 39,79,37. В Ст.6 находим непару 23 (красную), она образует цепочку пар с зелёной парой; в этом жв Ст. находим пару 78, она раскрывает пару 58. Тупик. Раскрываем волевым решением цепочку непар начиная с 13(1,3), включая пары: 28,78,23,34. Находим 3-27. Точка. 1.11.Совместное использование двух приёмов. Приёмы СиС можно использовать совместно с приёмом "логический подход" покажем это на примере решения судоку в котором совместно используются приём "логический подход" и приём СиСб. Рис.11101. Исх. сост. - 28 цифр чёрного цвета. Легко находим: 1-1 - 8-5. Стр.2. НЦ - 23569, клетка (2,2) бита цифрами 259, если бы она была бита ещё и шестёркой, то дело было бы в шляпе. но ведь такая шестёрка виртуально существует в Кв.4, который бит двумя шестёрками из Кв5. и Кв6. Таким образом находим ЦР3(2,2)-6. Находим пару 35 в Кв4. и Стр.5; 2-7; 8-8; пару 47. Для нахождения непар анализируем лок. табл: Стр.4: НЦ - 789 - непара 78; Стр.2: НЦ - 2569 - непары 56,29; Стр.5: НЦ - 679 - непара 67; Кв.5: НЦ - 369 - непара 59; Кв.7: нц - 3479 - непары 37,39; Тупик; Раскрываем волевым решением пару 47; находим 4-9,4-10,8-11 и пару 56; находим пары 67 и 25; пару 69, которая раскрывает непару 59 и цепочку пар 35. Пара 67 раскрывает непару 78. Далее находим 9-12; 9-13; 2-14; 2-15 раскрывает пару 25; находим 4-16 - 8-19; 6-20 раскрывает пару 67; 9-21; 7-22; 7-23 раскрывает непару 37, 39; 7-24; 3-25; 5-26 раскрывает пары 56, 69 и непару 29; находим 5-27; 3-28 - 2-34. Точка. 1.12.Полупары* 1.12.1.Если при использовани приёмов МК или СиСа нам не удаётся найти ту единственную клетку для определённой ЦР в данной структуре, и всё чего мы достигли - это две клетки в которых предположительно будет находиться искомая ЦР (например 2 Рис, 1.12.1), то вписываем в один уголок этих клеток маленькую искомую цифру 2 - это и будет полупара. 1.12.2.Прямая полупара, при анализе может восприниматся иногда как ЦР (в направлении вдоль). 1.12.3.При дальнейшем поиске мы можем определить, что другая цифра (например 5)претендует на те же самые две клетки в данной структуре - это уже будет пара 25, записываем её нормальным шрифтом. 1.12.4.Если же для одной из клеток полупары мы нашли другую ЦР, то во второй клетке актуализуем как ЦР её собственную цифру. 1.12.5.Пример. Рис.1.12.1. Исх. сост. - 25 цифр Чёрного цвета. Начинаем поиск ЦР используя приём МК. Находим полупары 1 в Кв.6 и Кв.8. полупару 2 - в Кв.4, полупары 4 - в Кв.2 и Кв.4, полупару из кв.4 используем в приёме "логический подход" и находим ЦР4-1; Здесь полупара 4 из Кв.4 представляется для Кв.7 как ЦР4 (о чём было сказано выше). полупару 6 - в Кв.2 и используем её для нахождения ЦР6-2; полупару 8 - в кв.1; полупару 9 - в Кв.4 и используем её для нахождения ЦР9-3. 1.12.6.Если есть две одинаковые полупары (в разных структурах), и одна из них(прямая) перпендикулярна другой, и бьёт одну из клеток другой, то в небитой клетке другой полупары устанавливаем ЦР. 1.12.7.Если две одинаковые прямые полупары (на Рис. не показаны) расположены одинаковым образом в двух разных квадратах относительно строк или столбцов и параллельно друг другу (предположим: Кв.1. - полупара 5 в клетках (1,1) и (1,3), а в Кв.3. - полупара 5 в клетках (7.1) и (7.3), эти полупары расположены одинаковым образом относительно строк), то искомая, однозначная с полупарами ЦР во втором квадрате будет стоять в строке (или столбце) не использованной(..ом)в полупарах. В нашем примере ЦР5 в Кв.2. будет находиться в Стр.2. Вышесказанное справедливо и для случая, когда в одном квадрате находится полупара, а в другом - пара. См. рисунок: Пара 56 в Кв.7 а полупара 5 в Кв.8 (в Стр.8 и Стр.9), а результат ЦР5-1 в Кв9 в Стр.7. Учитывая вышесказанное, для успешного продвижения решения на начальном этапе необходимо отмечать АБСОЛЮТНО ВСЕ полупары! 1.12.8.Интересные примеры связанные с полупарами. На рисунке 1.10.2. малый квадрат 5 - абсолютно пустой, в нём только две полупары: 8 и 9 (красный цвет). В малых квадратах 2,6 и 8 кроме всего прочего имеются полупары 1. В малом квадрате 4 имеется пара 15. Взаимодействие этой пары и указанных выше полупар даёт ЦР1 в малом квадрате 5, что в свою очередь даёт ещё и ЦР8 в том же квадрате!
На рисунке 1.10.3. в малом квадрате 8 находятся ЦР: 2,3,6,7,8. Там же находятся четыре полупары: 1,4,5 и 9. Когда в квадрате 5 появляется ЦР 4 она пораждает Цр4 в квадрате 8, что в свою очередь попождает ЦР9, что в свою очередь порождает ЦР5, что в свою очередь порождает ЦР1 (на рисунке не показано).
1.12А.Раскрытие полупар и решение "Самого сложного судоку в мире". Для решения этого судоку финского профессора Хельсинского университета Арто Инхала можно использовать раскрытие полупар, предварительно составив их список и анализируя, какую из полупар выгоднее раскрывать раньше, а какую - нет. Раскрытие начинаем, когда все клетки судоку заполнены цифрами и невозможно добиться продвижения в решении другими методами. Это судоку на ходится по адресу: https://pikabu.ru/story/samyiy_slozhnyiy_krossvord_sudoku_v_mire_1239756 1.13.Решение судоку с малым исходным числом цифр. Нетриады. Минимальное исходное число цифр в судоку равно 17. Такие судоку часто требуют волевого раскрытия пaры (или пар). При их решении удобно использовать нетриады. Нетриада это клетка в какой-либо структуре в которой находятся три недостающие цифры НЦ. Три нетриады в одной структуре содержащие одинаковые НЦ образуют триаду. 1.14.Квадро. Квадро - когда в четырёх клетках какой-либо одной структуры находятся по четыре одинаковых ЦН. Анологичные цифры в других клетках этой структуры вычёркиваем. 1.15.Используя вышеприведенные приёмы, вы сможете решать судоку разных уровней сложности. Начинать решение можно с использования любого из вышеприведёных приёмов. Я рекомендую начинать с самого простого метода Малых Квадратов МК (1.1), отмечая ВСЕ полупары (1.12) которые Вы обнаруживаете. Возможно, что эти полупары превратятся со временем в пары (1.5). Возможно, что одинаковые полупары взаимодействуя друг с другом определят ЦР. Исчерпав возможности одного приёма, переходите к использованию других, исчерпав их возвращайтесь к прежним и т.д. Если же вы не можете продвинуться в решении судоку, попробуйте раскрыть пару (1.9) или использовать табличный алгоритм решения, описанный ниже, найти несколько ЦР и продолжить решение используя вышеизложенные приёмы. 2. ТАБЛИЧНЫЙ АЛГОРИТМ РЕШЕНИЯ СУДОКУ. Эту и последующие главы можно не читать при начальном ознакомлении. Предлагается простой алгоритм решения судоку, он состоит из семи пунктов. Вот этот алгоритм: 2.П1.Рисуем таблицу судоку таким образом, чтобы в каждую маленькую клетку можно было вписать девять цифр. Если рисовать на бумаге в клетку, то каждую клетку судоку можно сделать размером в 9 клеток(3х3) 2.П2.В каждую пустую клетку каждого малого квадрата вписываем все недостающие цифры этого квадрата. 2.П3.Для каждой клетки с недостающими цифрами просматриваем её строку и столбец и вычёркиваем недостающие цифры тождественные цифрам результата встретившимся в строке или в столбце за пределами малого квадрата к которому принадлежит клетка. 2.П4.Просматриваем все клетки с недостающими цифрами. Если в какой-то клетке осталась одна цифра, то это ЦИФРА РЕЗУЛЬТАТА (ЦР), Обводим её кружочком. Обведя все ЦР кружочками переходим к п.5. Если очередное выполнение п.4 не даёт результата, то переходим к п.6. 2.П5.Просматриваем остальные клетки малого квадрата и вычёркиваем в них недостающие цифры тождественные вновь полученной цифре результата.. Затем тоже самое делаем с недостающими цифрами в строке и столбце к которым принадлежит клетка. Переходим к п.4. Если уровень судоку лёгкий, то дальнейшее решение представляет собой попеременное выполнение п.4 и п.5. 2.П6.Если очередное выполнение п.4 не даёт результата, то просматриваем все строки, столбцы и малые квадраты на предмет наличия следующей ситуации: Если в какой-нибудь строке, столбце или малом квадрате одна или более недостающих цифр появляются только один раз вместе с другими цифрами, появляющимися неоднократно, то она или они являются ЦИФРАМИ РЕЗУЛЬТАТА (ЦР). Например, если строка, столбец или малый квадрат имеет вид: 1,279,5,79,4,69,3,8,79 То Цифры 2 и 6 являются ЦР ибо они присутствуют в строке, столбце или малом квадрате в единственном экземпляре, обводим их кружком, а цифры стоящие рядом зачёркиваем. В нашем примере - это цифры 7 и 9 около двойки и цифру 9 около шестёрки. Строка, столбец или малый квадрат будут иметь вид: 1,2,5,79,4,6,3,8,79. Переходим к п.5. Если очередное выполнение п.6 не даёт результата, то идем к п.7. 2.П7.a)Отыскиваем малый квадрат, строку, или столбец в котором две клетки (и только две клетки) содержат одну и ту же пару недостающих цифр, как в этой строке (пара-69): 8,5,69,4,69,7,16,1236,239. и цифры, составляющие эту пару (6 и 9), находящиеся в других клетках, зачёркиваем - таким образом мы можем получить ЦР, в нашем случае - 1 (после зачёркивания шестёрки в клетке, где были цифры - 16). Строка приобретёт вид: 8,5,69,4,69,7,1,123,23. После выполнения п.5 наша строка будет выглядеть так: 8,5,69,4,69,7,1,23,23. Если такой пары нет нет, то надо поискать их (они могут существовать в неявном виде, как в этой строке): 9,45,457,2347,1,6,237,8,57 здесь пара 23 существует в неявном виде. "Очистим" её, строка примет вид: 9,45,457,23,1,6,23,8,57 Проведя такую операцию "чистки" по всем строкам, столбцам и малым квадратам мы упростим таблицу и, возможно, (см. П.6)получим новую ЦР. Если же нет, то придётся сделать выбор в какой-нибудь клетке из двух значений результата, например, в столбце: 1,6,5,8,29,29,4,3,7. Две клетки имеют по две недостающие цифры: 2 и 9. надо решится и выбрать одну из них (обвести её кружком) - превратить в ЦР, а вторую зачеркнуть в одной клетке и сделать наоборот в другой. Ещё лучше, если есть цепочка пар, то, для большего эффекта желательно воспользоваться ей. Цепочка пар - это две или три пары из одинаковых цифр расположенные таким образом, что клетки одной пары принадлежат одновремённо двум парам. Пример цепочки пар образованной парой 12: Строка 1: 3,5,12,489,489,48,12,7,6. Столбец 3: 12,7,8,35,6,35,12,4,9. Малый квадрат 7: 8,3,12,5,12,4,6,7,9. В этой цепочке верхняя клетка пары столбца принадлежит ещё и паре первой строки, а нижняя клетка пары столбца является частью пары седьмого малого квадрата. Переходим к п.5. Наш выбор (п7)будет либо правильным и тогда мы решим судоку до конца, либо неправильным и тогда мы скоро обнаружим это (в одной строке, столбце или малом квадрате появятся две одинаковые цифры результата), надо будет вернуться, сделать выбор противоположный ранее сделанному и продолжить решение до победы. Перед выбором необходимо сделать копоию актуального состояния. Делать выбор стоит в последнюю очередь после б) и в). Иногда выбора в одной паре бывает недостаточно (после определения нескольких ЦР продвижение останавливается), в этом случае необходимо раскрыть ещё одну пару. Это бывает в сложных судоку. 2.П7.б)Если поиск пар не увенчался успехом, пытаемся отыскать малый квадрат, строку или столбец в котором три клетки (и только три клетки) содержат одну и туже триаду недостающих цифр, как в этом малом квадрате (триада - 189): 139,2,189,7,189,189,13569,1569,4. и цифры составляющие триаду (189), находящиеся в других клетках, зачёркиваем - таким образом мы можем получить ЦР. В нашем случае - это 3 - после зачёркивания недостающих цифр 1 и 9 в клетке, где были цифры 139. Малый квадрат будет иметь вид: 3,2,189,7,189,189,356,56,4. После выполнения п.5 наш малый квадрат приобретёт вид: 3,2,189,7,189,189,56,56,4. 2.П7.в)Если и с триадами не повезло, то надо провести анализ основанный на том, что каждая строка или столбец принадлежат трём малым квадратам, состоят как бы из трёх частей и если в каком-то квадрате какая-то цифра принадлежит одной строке (или столбцу) только в этом квадрате, то эта цифра не может принадлежать двум остальным строкам (столбцам) в этом же малом квадрате. Пример. Рассмотрим малые квадраты 1,2,3 образованные строками 1,2,3. Стр.1: 12479,8,123479;1679,5,679;36,239,12369. Стр.2: 1259,1235,6;189,4,89;358,23589,7. Стр.3: 1579,15,179;3,179,2;568,4,1689. Кв.3: 36,239,12369;358,23589,7;568,4,1689. Видно, что недостающие цифры 6 в Стр.3 находятся только в Кв.3, а в Стр.1 - в Кв2 и в Кв3. Исходя из вышеизложенного зачёркиваем цифры 6 в клетках Стр.1. в Кв3., получим: Стр.1: 12479,8,123479;1679,5,679;3,239,1239. Мы получили Цр 3(7,1) в Кв3. После выполнения П.5 строка примет вид: Стр.1: 12479,8,12479;1679,5,679;3,29,129. А Кв3. будет иметь вид: Кв.3: 3,29,129;58,2589,7;568,4,1689. Проводим такой анализ для всех цифр от 1 до 9 по строкам последовательно для троек квадратов: 1,2,3; 4,5,6; 7,8,9. Затем - по столбцам для троек квадратов: 1,4,7; 2,5,8; 3,6,9. Если этот анализ не дал результата, то идём к а) и делаем выбор в парах. Работа с таблицей требует большой аккуратности и внимания. Поэтому, определив несколько ЦР (5 - 15) нужно пробовать продвигаться далее более простыми приёмами изложенными в I. 3.ПРАКТИЧЕСКИЕ УКАЗАНИЯ. На практике п.3 (вычёркивание) выполняем не для каждой клетки отдельно, а сразу для целой строки, или для целого столбца. Это ускоряет процесс. Контроль вычёркиания легче осуществлять, если вычёркивание выполнять двумя цветами. Вычёркивание по строкам-одним цветом, а вычёркивание по столбцам-другим. Это позволит контролировать вычёркивание не только на недовычёркивание, но и на его излишек. Далее выполняем п.4. Все клетки с недостающими цифрами результата просматриваем только при первом выполнении п.4 после выполнения п.3. При последующих выполнениях п.4 (после выполнения п.5) просматриваем один малый квадрат, одну строку и один столбец для каждой вновь полученной цифры результата (ЦР). Перед выполнением п.7 , в случае волевого раскрытия пары, надо сделать копию актуального состояния таблицы, чтобы уменьшить объём работы, если придётся возвращаться к точке выбора. 4.ПРИМЕР РЕШЕНИЯ СУДОКУ ТАБЛИЧНЫМ СПОСОБОМ. Для закрепления вышеизложенного решим судоку средней сложности (Рис.4.3). Результат решения показан на Рис.4.4. НАЧАЛО П.1.Рисуем большую таблицу. П.2.В каждую пустую клетку каждого малого квадрата вписываем все недостающие цифры результата этого квадрата (Рис.1). Для малого квадрата N1 это - 134789; для малого квадрата N2 это - 1245; для малого квадрата N3 это - 1256789, и т.д. П.3.Выполняем в соответствии с практическими указаниями для этого пункта (См.). П.4.Просматриваем ВСЕ клетки с недостающими цифрами результата. Если в какой - то клетке осталась одна цифра, то это - ЦР обводим её кружком. В нашем случае это ЦР5(6,1)-1 и ЦР6(5,7)-2. переносим эти цифры в игровое поле судоку. Таблица после выполнения п.1, п.2, п.3 и п.4 показана на Рис.1. Две ЦР обнаруженные при выполнении п.4 обведены кружками, это 5(6,1) и 6(5,7). Желающие получить полное представление о процессе решения должны нарисовать себе таблицу с исходными цифрами, самостоятельно выполнить п.1, п.2, п.3, п.4 и сравнить свою таблицу с Рис.1, если картинки одинаковы, то можно двигаться дальше. Это первая контрольная точка. Продолжаем решение. Желающие поучаствовать могут отмечать его этапы на своём рисунке. П.5.Вычёркиваем цифру 5 в клетках малого квадрата N2, строки N1 и столбца N6, это "пятёрки" в клетках с координатами: (9,1), (4,2), (6,5) и (6,6); вычёркиваем цифру 6 в клетках малого квадрата N8, строки N7 и столбца N5, это "шестёрки" в клетках с координатами: (6,8), (2,7), (3,7), (5,4) и (5,5)(5,6). На Рис.1 они вычеркнуты, а на Рис.2 их уже нет вообще. На Рис.2 все ранее вычеркнутые цифры убраны, это сделано для упрощения рисунка. Согласно алгоритму возвращаемся к П.4. П.4. Обнаружена ЦР9(5,5)-3, обводим её кружочком, переносим. П.5.Вычёркиваем "девятки" в клетках с координатами: (5,6) и (9,5), переходим к п.4. П.4 Нет результата. Переходим к п,6. П.6. В малом квадрате N8 имеем: 78, 6, 9, 3, 5, 47, 47, 2, 1. Цифра 8(4,7) встречается только один раз - это ЦР8-4, обводим её кружком, а рядом стоящую цифру 7 зачёркиваем. Переходим к п.5. П.5. Вычёркиваем цифру 8 в клетках строки N7 и столбца N4. Переходим к п. 4. П.4. Нет результата. П.6. В малом квадрате N9 имеем: 257, 25, 4, 2789, 289, 1, 79, 6, 379. Цифра 3(9,9) встречается один раз - это ЦР3(9,9)-5, обводим её кружком, переносим (см Рис.4.4), а рядом стоящие цифры 7 и 9 зачёркиваем. П.5. Вычёркиваем цифру 3 в клетках строки N9 и столбца N9. П.4. Нет результата. П.6. В малом квадрате N2 имеем: 6, 7, 5, 24, 8, 3, 9, 14, 24. Цифра 1(5,3) - ЦР1-6, обводим её кружком. П.5. Вычёркиваем. П.4 Нет результата. П.6. В малом квадрате N1 имеем: 18, 2, 19, 6, 1479, 179, 5, 347, 37. Цифра 8(1,1) - ЦР8-7, обводим её кружком. П.5. Вычёркиваем. П.4.Цифры 9(9,1) - ЦР9-8, обводим её кружком. П.5. Вычёркиваем. П.4. Цифра 1(3,1) - ЦР1-9. П.5. Вычёркиваем. П.4. Нет результата. П.6. Строка N5, имеем: 12, 8, 4, 256, 9, 26, 3, 7, 56. Цифра 1(1,5) - ЦР1-10, обводим. П..5. Вычёркиваем. П.4. Нет результата П.6. Столбец N2 имеем: 2, 479, 347, 367, 8, 367, 137, 4679, 5. Цифра 1(2,7) - ЦР1-11. Это вторая контрольная точка. Если ваш рисунок ув. читатель, в этом месте полностью совпадает с Рис.2, то Вы на правильном пути! Продолжайте заполнять его далее самостоятельно. П.5. Вычёркиваем. П.4. Нет результата П.6. Столбец N9 Имеем: 9, 57, 678, 56, 56, 2, 4, 1, 3. Цифра 8(9,3) - ЦР8-12. П.5. Вычёркиваем, П.4. Цифра 2(8,3) - ЦР2-13. П.5. Вычёркиваем. П.4 ЦР5(8,7)-14, ЦР4(6,3)-15. П.5. Вычёркиваем. П.4. ЦР2(4,2)-16, ЦР7(6,8)-17, ЦР1(8,2)-18. П.5. Вычёркиваем. П,4. ЦР4(8,4)-19, ЦР4(4,9)-20, ЦР6(6,6)-21. П.5. Вычёркиваем. П.4. ЦР3(5,4)-22, ЦР7(1,9)-23, ЦР2(6,5)-24. П.5. Вычёркиваем. П.4 ЦР3(1,6)-25, ЦР9(7,9)-26, ЦР4(5,6)-27. П.5. Вычёркиваем. П.4. ЦР: 2(1,7)-28, 8(8,8)-29, 5(4,5)-30, 7(2,6)-31. П.5. Вычёркиваем. П.4. ЦР: 3(3,7)-32, 7(7,7)-33, 4(1,8)-34, 9(8,6)-35, 2(7,8)-36, 6(9,5)-37, 7(4,4)-38, 3(2,3)-39, 6(2,4)-40, 5(3,6)-41. П.5. Вычёркиваем. П.4. ЦР: 7(3,3)-42, 6(7,3)-43, 5(7,2)-44, 5(9,4)-45, 2(3,4)-46, 8(7,6)-47, 9(2,8)-48. П.5 Вычёркиваем. П.4. ЦР: 9(3,2)-49, 7(9,2)-50, 1(7,4)-51, 4(2,2)-52, 6(3,8)-53. КОНЕЦ! Решение судоку табличным способом дело хлопотное и нет необходимости на практике доводить его до самого конца, также как и решать судоку этим способом с самого начала. 5..shtml

error: