Принципы разгадывания сложных судоку. Как разгадывать судоку? Правила и способы решения

СУДОКУ - это популярная игра - пазл, которая представляет собой головоломку с цифрами, одолеть которую можно только строя логические умозаключения. В названии Судоку в переводе с японского «су»— «цифра», а doku «доку»— «стоящая отдельно». Следовательно, «СУДОКУ» в приблизительном переводе означает «одиночная цифра».

Название "Sudoku" дало этой головоломке японское издательство Nicoli в 1984 году. Sudoku - это сокращение от "Suuji wa dokushin ni kagiru", что в переводе с японского означает "число должно быть единственным". Издательство Nikoli не только придумало звучное имя, но и впервые ввело симметрию в заданиях для своих головоломок. Название головоломке дал руководитель Nicoli - Кaji Maki. Весь мир принял это новое японское название, но в самой Японии головоломку называют "Nanpure". Nicoli зарегистрировало в своей стране слово "Sudoku" как торговую марку.

История происхождения СУДОКУ

Родиной шахмат считается Индия, родиной футбола - Англия. У игры судоку (sudoku), быстро распространившейся по всему миру, родины как таковой нет. Прообразом судоку можно считать головоломку “Магический квадрат”, которая появилась Китае 2000 лет назад.

История судоку как игры восходит к имени знаменитого швейцарского математика, механика и физика Леонарда Эйлера (1707 - 1783).

В бумагах его архива, датированных 17 октября 1776 года, содержатся записи о том, как образовать магический квадрат с определенным числом ячеек, особенно 9, 16, 25 и 36. В другом документе, озаглавленном «Научное исследование новых разновидностей магического квадрата» Эйлер помещал в клетки латинские буквы (Латинский квадрат), позже он заполнил клетки греческими буквами и называл квадрат греко-латинским. Исследуя различные варианты магического квадрата, Эйлер обратил внимание на проблему комбинации символов таким образом, чтобы не один из них не повторялся ни в одной строке и ни в одном столбце.

В современном виде головоломки судоку впервые были опубликованы в 1979 году в журнале Word Games magazine. Автором головоломки был Гарвард Гарис из Индианы. Головоломку «Number Place» (в переводе на русский - "место числа") - это можно считать одним из первых выпусков современных судоку. В ней были добавлены блоки размером 3х3 клетки, что было важным усовершенствованием, так как позволило сделать головоломку более интересной. Он использовал принцип латинского квадрата Эйлера, применил его в матрице размерностью 9х9 и добавил дополнительные ограничения, цифры не должны повторяться и во внутренних квадратах 3х3.

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

В Японии эта головоломка была опубликована компанией Nicoly Inc., крупным издателем сборников различных головоломок, в газете Monthly Nicolist в апреле 1984 года под заголовком «Число может использоваться только один раз». 12 ноября 2004 года газета The Times впервые на своих страницах опубликовала головоломку судоку. Эта публикация стала сенсацией, головоломка быстро распространилась по всей Британии, Австралии, Новой Зеландии; приобрела популярность и в США.

Варианты судоку

Итак, что же собой представляет судоку? В настоящее время появилось множество модернизаций для этого популярного вида головоломок, но классическая судоку представляет собой квадрат 9х9 клеток, разбитый на подквадраты со сторонами по 3 клетки каждый. Таким образом, общее игровое поле составляет 81 клетку. В приложении к моей работе я помещу разные виды судоку и варианты решений (их мне помогали решить родители).

Судоку различаются по уровню сложности в зависимости от размера квадрата:

  • 1. Для маленьких любителей головоломок делаются судоку с полями 2х2, 6х6 клетки.
  • 2. Для профессионалов существуют судоку 15х15 и 16х16 клеток

Судоку бывают разных уровней:

  • легкий
  • средний
  • сложный
  • очень сложный
  • суперсложный

Правила решения

У головоломок судоку всего одно правило. Необходимо заполнить свободные клетки так, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3Х3 каждая цифра от 1 до 9 встречалась бы только 1 раз. Часть клеток в судоку уже заполнена цифрами, и вам остается заполнить остальные. Чем больше цифр стоит изначально, тем проще решить головоломку. Кстати, правильно составленная судоку имеет только одно решение.

Решение судоку

Стратегия решения судоку включает в себя три этапа:

  • изучение расположения цифр в головоломке
  • предварительная расстановка цифр
  • анализ

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

Математическая основа. Количество возможных комбинаций в судоку 9x9 составляет по расчётам Бертхама Фельгенхауэра 6 670 903 752 021 072 936 960.

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


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

Суть игры:

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

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

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

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

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

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

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

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

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

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

История игры

Числовую структуру придумали в Швейцарии еще в XVIII веке, на ее основе в XX веке был разработан числовой кроссворд. Однако в США, где непосредственно была придумана игра, она не получила большого распространения, в отличие от Японии, где головоломка не только прижилась, но и получила большую популярность. Именно в Японии она и приобрела привычное название «Судоку», и затем распространилась по миру.

Правила игры

Кроссворд имеет простую структуру: задается матрица из 9 квадратов, называемых секторами. Эти квадраты располагаются по три в ряду и имеют размер 3х3 клетки. Матрица Судоку выглядит как квадрат, состоящий из 3 строк и 3 столбцов, которые делят его на 9 секторов, содержащих по 9 клеток каждый. Часть клеток заполнена цифрами – чем больше цифр известно, тем проще головоломка.

Цель игры

Нужно заполнить все пустые клетки, при этом есть всего 1 правило: цифры не должны повторяться. Каждый сектор, строка и столбец должны содержать цифры от 1 до 9 без повторений. Лучше заполнять пустые клетки карандашом: так будет проще внести изменения в случае ошибки или начать заново.

Методы решения

Рассмотрим простой вариант судоку. Например, в секторе или строке осталась всего 1 пустая клетка, – логично, что в нее надо вписать то число, которого нет в числовом ряду.

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

Таким образом, часть поля кроссворда заполнится. Затем можно приступать к изучению строк. Допустим, в строке есть 3 свободных клетки, вам понятно, какие цифры должны быть туда вписаны, но неизвестно, куда конкретно. Нужно попробовать подстановку. Часто бывают варианты, когда в 2 других клетках цифра не может располагаться, потому что либо она есть в соответствующем столбце, либо в секторе.

Сложные судоку

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

Маленький секрет

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

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

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

Начните решение с единицы.

1. Сначала "осмотритесь" на игровом поле, отыскав все ячейки с цифрой "1".

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

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

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

После того как вы "пройдете" все блоки с цифрой "1", повторите поиск с другим числом. Например с двойкой. Потом с тройкой и так далее. До тех пор, пока вы не проверите все цифры от 1 до 9. И вы увидите, что заполнили уже много клеток. После чего советуем повторить всю "процедуру" еще раз с самого начала - снова от 1 до 9. Во второй раз дело пойдет легче, потому что многие клетки уже заполнены. И там, где вы сомневались, можно уверенно вписать цифру.

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

Для удобства объяснения будем использовать нумерацию строк, столбцов и блоков 3х3 от 1 до 9. Порядок нумерации: слева - направо и сверху - вниз.

Обозначения:

1. Серый блок, строка или столбец - это "зона", которую анализируем в поисках решения;

2. Выделенная "жирная" цифра(синего цвета) - искомая цифра, найденная в процессе анализа;

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

Находим цифру "1" во 2-м блоке. Линии, идущие от единиц 5-го и 8-го блоков, перечеркивают остальные пустые клетки.

Находим цифру "1" в 4-м блоке. Для этого снала определим, где в 6-м блоке могут быть единицы, проводя линии от единиц 5-го и 9-го блоков - две единички в верхнем ряду. Уже от них проводим линию в сторону 4-го блока и линию от единицы 5-го блока.

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

Начнем новый поиск единиц. Нашлась единица в первом блоке: линии от единиц во 2-м и 9-м блоках определили возможные положения единицы в 3-м блоке, от них линии потянулись в 1-й блок. Остальные линии видны на рисунке. Следующая единица нашлась в блоке 7.

Первая двойка нашлась в блоке 4, после чего там же определилась и первая пятерка. Цифры "3", "4", "6", "7" найдены не были.

Цифра "8" блока 1 определяется по линиям от восьмерок из блоков 4 и 7. Затем найдем девятку 9-го ряда: так как ее не может быть в блоках 7 и 8 (см. линии от соответствующих девяток), то она стоит в блоке 9.

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

Первой нашлась четвертка 6-го блока. Затем четверка 5-го столбца - она не может быть в 4-й и в 7-й строке. Тройки не может быть в 7-й строке, значит она в 4-й. Тогда в оставшейся ячейке шестерка.

В следующем шаге очередь не обязательна: сначала находим восьмерку, а затем единицу в блоке 6, или наоборот.

Продолжаем расставлять восьмерки: сначала находим "8" в блоке 9, а от нее ведем линию, определяя восьмерку в блоке 3.

Следующими нашлись цифры "1" и "6" в блоке 3, очередность нахождения не принципиальна.

Затем определимся с цифрой "7" в 9-м столбце: ее не может быть в блоке 6, тогда она во 2-й строке. От пятерки в блоке 1 проводим линию - находим место цифре "5" в 3-м блоке. В свободную клетку вписываем последнюю цифру - "2".

Во втором ряду находим цифру "2", затем "4" и, наконец "9".

Затем находим цифру "4" в блоке 8. В оставшейся клетке - "7". Ведем от нее линию вверх до блока 5 - новая семерка. В незаполненной клетке 9-й строки - "7".

Найдем последовательно цифры "5", "2", "6" в блоке 5 и цифры "7", "3" в 6-м ряду. Затем получим "5" и "6" в 6-м блоке. Последняя цифра "6" в 4-м блоке.

Следующие "7" и "3" в 1-м блоке; цифры "7" и "2" в 7-м столбце и "5" в блоке 9. Анализируем 7-ю строку, 2-й столбец и расставляем сначала "9", затем "3" и "2". Последний штрих - "4" и "6".

Решение закончено.

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