Логика решения судоку. Как решать судоку — алгоритмы и стратегии

Поле судоку представляет собой таблицу 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» можно исключить.

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

Правила судоку

Данная головоломка занимает мало места, в отличие от сканвордов, кроссвордов и так далее. Игровое поле, состоящее из 81 квадратов, ячейки разбиты на малые блоки, размером 3*3. Его можно легко уместить на листке бумаги. Задание выглядит в виде выборочно заполненных клеток, которые необходимо дополнить значениями и заполнить всю табличку. В судоку правила игры очень просты и позволяют исключить множественные решения. В каждой строке или столбце проставляются цифры от 1 до 9. Также значения не повторяются в рамках одного малого блока.

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

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

Правила, как разгадывать судоку

Чтобы получить верное решение, необходимо учесть несколько простых правил:

  • Цифра может быть записана в ячейку только в том случае, если ее нет в горизонтальной и вертикальной линии, а также в малом квадрате 3*3.
  • Если она может быть записана исключительно в одну клетку.

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

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

Рассмотрим на конкретном примере как разгадывать судоку. Игровое поле на картинке представляет собой относительно простой вариант игры. Правила игры судоку для простых сводятся к выявлению зависимостей в горизонтальной и вертикальной плоскости и в отдельных квадратах.

Например, в центральной вертикали не хватает цифр 3, 4, 5. Четверка не может находиться в нижнем квадрате, так как в нем уже присутствует. Также можно исключить пустую центральную клетку, так как мы видим 4 в горизонтальной линии. Из этого делаем вывод, что она располагается в верхнем квадрате. Аналогично можем проставить 3 и 5 и получить следующий результат.

Проведя линии в верхнем среднем малом квадрате 3*3 можно исключить ячейки, в которых не может находиться цифра 3.

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

Такой метод некоторые называют «Последний герой» или «Одиночка». Он также используется в качестве одного из нескольких на мастерских уровнях. Среднее время, затрачиваемое на простой уровень сложности, колеблется около 20 минут.

Как решать сложные судоку?

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

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

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

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

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

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

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

Из выделенных зеленым ячеек можно удалить значения синих и тем самым сократить количество вариантов. При этом располагающаяся в первой строке комбинация 1249 называется по аналогии «открытой четверкой». Также можно встретить «открытые тройки». Такие действия влекут за собой появление других открытых пар, например 1 и 2 в верхней строке, которые также дают возможность сузить круг комбинаций. Параллельно проставляем в обведенной ячейке первого квадрата 7, так как пятерка в данной строке в любом случае будет располагаться в нижнем блоке.

Метод «Скрытые пары/тройки/четверки»

Данный метод является противоположным к открытым комбинациям. Его суть заключается в том, что необходимо найти ячейки, в которых повторяются цифры в рамках квадрата/строки, не встречающиеся в других клеточках. Как это поможет разгадывать судоку? Прием позволяет вычеркнуть остальные цифры, так как они служат фоном и не могут быть проставлены в выбранные клетки. Данная стратегия имеет несколько других названий, например «Ячейка не резиновая», «Тайное становится явным». Сами имена объясняют суть метода и соответствие правилу, говорящему о возможности проставить единственную цифру.

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

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

Перекрестное исключение

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

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

Метод «Сокращение»

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

Цветовой метод

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

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

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

Искушённые любители могут купить настольную версию судоку на ozon.ru

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

Способ 1: Синглы

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

1.1.Очевидные синглы

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

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

Обратите внимание: не обязательно, чтобы эти три клетки содержали все числа трио! Необходимо только чтобы эти клетки не содержали других кандидатов.

В этом ряду мы имеем трио 1,4,6 в клетках A, С и G, или двух кандидатов из этого трио. Эти три клетки будут обязательно содержать всех трех кандидатов. Поэтому они не могут быть в другом месте в этом рядом, и поэтому могут быть исключены из других клеток (E и F).

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

3.2.Скрытые группы кандидатов

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

Если есть N клеток (2,3 или 4), содержащие N общих чисел (и они не встречаются в других клетках группы), тогда остальные кандидаты для этих клеток могут быть исключены.

В этом ряду пара (4,6) встречается только в клетках A и C.

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

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

Правило 4: Сложные методы.

4.1. Связанные пары (бабочка)

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

Этот метод может применяться к областям:

Как и в предыдущем примере, две колонки (B и C), где 9 может быть только в двух ячейках (B3 и B9, C2 и C8).

Поскольку B3 и C2, как и B9 и C8 находятся внутри одной области (а не в одном ряду, как в предыдущем примере), 9 может быть исключена из остальных клеток этих двух областей.

4.2 Сложносвязанные пары (рыба)

Этот метод является более сложным вариантом предыдущего (4.1 Связанные пары).

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

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

Как обычно в первую очередь мы рассмотрим открытые одиночки. И таких оказалось только две b5- 5, e6-3. Далее расставим возможных кандидатов на все пустые поля.

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

Плод наших трудов можно увидеть на рисунке 2. Обратим своё внимание на клетку f2. У ней есть два кандидата 5 и 9. Нам придётся пойти методом угадывания, и в случае ошибки вернуться к этому выбору. Давайте поставим цифру пять. Уберём пятёрку из кандидатов строки f, столбца 2 и квадрата четыре.

Убирать возможных кандидатов после простановки числа мы будем постоянно и в данной статье акцентировать на том внимание больше не будем!

Смотрим дальше на четвёртый квадрат, у нас имеется тройник - это клетки e1, d2, e3, которые имеют кандидатов 2, 8 и 9. Уберём их из осталных незаполненных клеток четвёртого квадрата. Идём дальше. В квадрате шесть цифра пять может быть только на е8.

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

И так на второй вертикали цифра 8 можеть быть только на клетках -h2 и i2, уберём восьмёрку с других незаполненных клеток седьмого квадрата. На третьей вертикали цифра восемь может находиться только на е3. Что у нас получилось смотрим на рисунке 3.

Дальше ничего за что можно зацепиться найти не удаётся. Нам попался довольно крепкий орешек, но мы его всё равно раскусим! И так, рассмотрим снова нашу пару е1 и d2, расставим её таким образом d2-9, e1 -2. И в случае нашей ошибки вернёмся снова к этой паре.

Теперь в клетку d9 смело можем записать двойку! А в квадрате семь, девятка может быть только на h1. После чего на вертикали 1 пятёрка может быть только на i1, что в свою очередь даёт право на клетку h9 поставить пятёрку.

На рисунке 4 изображено, что у нас получилось. Теперь рассмотрим следующую пару, это d3 и f1. У них кандидаты 7 и 6. Забегая вперёд скажу, что вариант расстановки d3- 7, f1 -6 ошибочен и мы его рассматривать в статье не будем, дабы не терять время.

Рисунок 5 иллюстрирует наши труды. Что нам остаётся делать дальше? Конечно снова перебирать варианты простановки цифр! Ставим в клетку g1 тройку. Как всегда сохраняемся, дабы можно было вернуться. На i3 ставится единица. теперь в седьмом квадрате мы получаем пару h2 и i2, с цифрами 2 и 8. Это даёт нам право исключить эти цифры из кандидатов по всей незаполненной вертикали.

Исходя из последнего тезиса расставляем. а2 -четвёрка, b2 - тройка. И после чего мы можем проставить весь первый квадрат. с1 -шестёрка, а1 - единица, b3- девятка, с3 - двойка.

На рисунке 6 показано, что получилось. На i5 у нас скрытая одиночка - цифра три! А на i2 может стоять только цифра 2! Соответственно, на h2 - 8.

Теперь обратимся к клеткам е4 и е7, это пара с кандиатами 4 и 9. Расставим их так е4 четвёрка, е7 девятка. Теперь на f6 ставится шестёрка, а на f5 девятка! Дальше на с4 получаем скрытую одиночку - цифру девять! И сразу можем проставить с 8 четыре, а затем закрыть горизонталь с: с6 восьмёрка.