Техника решения сложных судоку. Секреты прохождения судоку. Заполнение двумерного массива m[k, mc[k]]

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

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

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

Вот второй ряд головоломки. Два из квадратов имеют одинаковый список кандидатов. Это означает, что между ними они будут использовать 6 и 7 для этой строки. Это означает, что другой квадрат, возможно, не содержит. Мы можем удалить 6 из списка кандидатов, оставив только 9-квадратную решетку!

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

Как решать судоку: способы, методы и стратегия

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

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

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

Методика решения головоломок судоку

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

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

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

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

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

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

Заполнение чисел проще проводить вышеописанными методами. Метод стоит применять, когда кажется, что все числа есть, но чего-то не хватает. 5″ в B1 ставится исходя из того, что все числа от «1» до «9», кроме «5» есть в строке, столбце и квадрате (отмечено зеленым).

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

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

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

Метод 3 из 4: Самурайский судоку

Скрытая тройка состоит из трех пар чисел, расположенных в одном блоке. Такие как, и. Вторая, в столбце 9. уникальны для ячеек B9, C9 и F9. Используя ту же логику, убираем кандидатов. Продолжим решать головоломку. Однако для тренировки мозга и прокручивания алгоритмов в голове будет полезно посидеть с ручкой и бумагой, решая судоку. В статье привел базовые алгоритмы решения. Читал статью с полным решением этой игры. В общем, если память меня не подводит, то в худшем случае 6 ходов - это минимум.

Одиночка или последний герой

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

X-wing и рыба меч

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

Программа решения судоку с объяснениями (онлайн)

Сначала пишем программу, которая умеет решать любую конфигурацию, и выдаёт варианты «нет решений/одно решение/много решений». Начинаем с пустого поля. У него, очевидно, много решений. Если у полученной карты решений нет - переходим к следующей цифре. Решение есть (одно или много) - отлично, пишем цифру в эту клетку. Проверяем, сколько решений. FYI: Минимальное количество подсказок для возможного единственного решения - 17. Причем количество решаемых уникальных задач с 17 подсказками (т.е исключая симметричные) равно 49.151.

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

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

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

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

Взаимосвязь скрытых и голых групп

Это позволяет нам удалить другие номера кандидатов из этих квадратов, например. Это превращает квадрат 6 в единственный квадрат с кандидатом 1, тем самым решая квадрат. Например, если строка выглядела так. Квадратный список 2 не содержит 5, но квадраты 1, 2 и 5 все еще образуют действительную группу. Это связано с тем, что эти три квадрата все еще между ними должны удерживать 4, 5 и 7 для этой строки. Группы, подобные этому, немного сложно заметить!

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

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

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

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

Полностью разобранный пример

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

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

Убийственный «самурайский судоку»

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

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

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

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

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

Как решать судоку: способы, методы и стратегия

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

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

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

Игровое поле — цифровой квадрат состоящий из клеток 9 на 9. В игровом поле девять квадраток, а также девять строк и девять столбцов.

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

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

Правила решения судоку

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

Строка — горизонтальный набор из 9 клеток.


Столбец — вертикальный набор из 9 клеток.


Квадрат — набор клеток размером 3 на 3. Всё судоку состоит из 9-и таких квадратов.


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

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

Сегмент — вертикальный или горизонтальный набор из 3 клеток в группе. Соответственно в квадрате находится 6 сегментов. В строке и столбце по три.


Кандидат — число или буква, которая может быть в данной клетке. Считается, что если кандидат один, то именно это значение будет в клетке. Два кандидата в клетке называют парой. Три кандидата — трио. И так далее.


G:3 — вторая строка и третий столбец. Именно так я буду обозначать положение ячейки на поле судоку. Например, «Так как в B:5 уже стоит тройка, то…».


Об алгоритмах решения судоку

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

Следующая статья будет описывать самый простой способ поиска кандидата. Это метод «Одиночка ».