electricschool.ru

Судоку конструкции. Логические головоломки

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

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

И так, с чего начинается решение судоку? Не важно простого уровня сложности или нет. Но всегда в начале идёт поиск очевидных клеток для заполнения.

На рисунке показан пример одиночки - это цифра 4, которую смело можно поставить на клетку 2 8. Так как шестая и восьмая горизонтали, а также первая и третья вертикали, уже четвёркой заняты. Они показан стрелками зелёного цвета. И в левом нижнем малом квадрате у нас остаётся только одна незанятая позиция. На картинке цифра помечена зелёным цветом. Так же расставлены остальные одиночки, но без стрелок. Они окрашены в синий цвет. Таких одиночек может быть довольно много, особенно если цифр в начальном условии много.

Различают три способа поиска одиночек:

  • Одиночка в квадрате 3 на 3.
  • По горизонтали
  • По вертикали

Конечно можно хаотично просматривать и выявлять одиночек. Но лучше придерживаться какой-либо определённой системы. Самым очевидным будет начинать с цифры 1.

  • 1.1 Проверить квадраты, где нет единицы, проверить горизонтали и вертикали, которые пересекают данный квадрат. И если в них уже стоят единички, то исключаем полностью линию. Таким образом ищем единственное возможное место.
  • 1.2 Далее проверяем горизонтали. В каких присутствует единичка, а где нет. Проверяем в малых квадратах, в которые входит данная горизонталь. И если в них присутствует единичка, то пустые клетки данного квадрата исключаем из возможных кандидатов на искомую цифру. Так же проверим все вертикали и исключим те, в которых так же присутствует единичка. Если остаётся единственное возможное пустое место - то ставим искомую цифру. Если осталось два и более пустых кандидатов, то оставим данную горизонталь, переходим к следующей.
  • 1.3 Аналогично предыдущему пункту проверяем все горизонтали.

"Скрытые единицы"

Ещё подобную методику называют "а кто, если не я?!" Посмотрите на рисунок 2. Поработаем с левым верхним малым квадратом. Сначала пройдёмся первым алгоритмом. После чего удалось выяснить, что в клетке 3 1 есть одиночка - цифра шесть. Ставим её, А во все остальные пустые клетки проставим мелким шрифтом все возможные варианты, применительно к малому квадрату.

После чего мы обнаруживаем следующее, в клетке 2 3 может стоять только одна цифра 5. Конечно в данный момент пятёрка может стоять и на других клетках - этому ничто не противоречит. Это три клетки 2 1, 1 2, 2 2. Но в клетке 2 3 цифры 2,4,7, 8, 9 стоять не могут, так как они присутствуют в третьей строке или во втором столбце. Исходя из этого мы с полным правом ставим цифру пять на это клетку.

Голая пара

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

И так, давайте разберёмся. Посмотрите на рисунок 3. Здесь мы обычным способом проставляем мелким шрифтом все возможные варианты. И подробно рассмотрим верхний средний малый квадрат. Здесь в клетках 4 1, 5 1, 6 1 у нас получился ряд одинаковых цифр - 1, 5, 7. Это голая тройка в истинном виде! Что это нам даёт? А то, что только в этих клетках будут расположены эти три цифры 1, 5, 7. Таким образом мы можем в среднем верхнем квадрате на второй и третьей горизонтали исключить эти цифры. Так же в клетке 1 1 мы исключим семёрку и сразу же ставим четыре. Так как других кандидатов нет. А в клетке 8 1 мы исключим единицу, насчёт четвёрки и шестёрки следует подумать дальше. Но это уже иная история.

Следует сказать, что выше рассмотрен только частный случай голой тройки. На самом деле комбинаций цифр может быть множество

  • // три числа в трех ячейках.
  • // любые комбинации.
  • // любые комбинации.

Скрытая пара

Этот способ решения судоку позволит сократить количество кандидатов, и даст жизнь другим стратегиям. Посмотрите на рисунок 4. Средний верхний квадрат как обычно заполнен кандидатами. Цифры записаны мелким шрифтом. Зелёным цветом выделены две клетки - 4 1 и 7 1. Чем они нам примечательны? Только в этих двух клетках имеются кандидаты 4 и 9. Это и есть наша скрытая пара. По большому счёту она такая же пара, как и в пункте третьем. Только в клетках имеются и другие кандидаты. Вот этих других можно смело вычеркнуть с этих клеток.

Как играть в судоку?


Судоку - очень популярная головоломка с цифрами. Стоит один раз понять, как играть в судоку, и Вы не сможете от нее оторваться!

Суть игры:

Клетки игрового поля необходимо заполнить числами от 1 до 9. В каждой линии по вертикали и по горизонтали не должно быть повторных цифр. Также они не могут повторяться и в малых квадратах (3х3 клетки). В самом начале игры уже стоят цифры (в зависимости от сложности уровня количество изначально заданных цифр может отличаться).

Правила игры в судоку:

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

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

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

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

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

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

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

Искушённые любители могут купить настольную версию судоку на 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 Связанные пары).

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

ВКонтакте Facebook Одноклассники

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

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

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

Исследователи комплексных сетей Золтан Торожкай и Мария Эркси-Раваз из Университета Нотр-Дама также смогли объяснить, почему некоторые загадки судоку более сложные, чем другие. Единственный недостаток в том, что для того, чтобы понять, что они предлагают, нужна степень доктора математики.


Вы можете решить эту головоломку? Она создана математиком Арто Инкалой, и, как утверждают, это самая сложная судоку в мире. Фото с сайта nature.com

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

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


Исследователи использовали «детерминированный аналоговый решатель», чтобы заполнить эту судоку. Фото с сайта nature.com

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

Они создали шкалу от 1 до 4, где 1 - «легко», 2 - «средняя степень сложности», 3 - «сложно», 4 - «очень сложно». Для решения головоломки с рейтингом 2 требуется в среднем в 10 раз больше времени, чем для задачки с рейтингом 1. Согласно этой системе, самая сложная загадка из известных до сих пор имеет рейтинг 3.6; более сложные задачи судоку пока неизвестны.


Теория начинается с картографии вероятностей для каждого отдельного квадрата. Фото с сайта nature.com

«Я не интересовался судоку, пока мы не начали работать над более общим классом выполнимости Булевых проблем, - говорит Торожкай. - Так как судоку - часть этого класса, латинский квадрат 9-го порядка оказался для нас хорошим полем для испытаний, так я с ними и познакомился. Меня и многих исследователей, изучающих такие проблемы, захватывает вопрос, как далеко мы, люди, способны зайти в решении судоку, детерминировано, без перебора, который является выбором наугад, и, если догадка не верна, нужно вернуться на шаг или на несколько шагов назад и начать сначала. Наша аналоговая модель решения детерминирована: в динамике нет никакого случайного выбора или возвращения».


Теория хаоса: степень сложности загадок показывается здесь как хаотическая динамика. Фото с сайта nature.com

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

Опыт исследования также сделал Торожкая большим любителем судоку.

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

Методология Торожкая и Эркси-Раваз была впервые опубликована в журнале Nature Physics, а затем - в журнале Nature Scientific Reports.



Загрузка...