Как разгадать судоку если тупик. Как решать судоку — алгоритмы и стратегии

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

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

Судоку - это интересная головоломка для тренировки логики, в отличие от сканвордов, где нужна эрудиция и память. Стран происхождения у судоку много, так или иначе, в нее играли в Древнем Китае, в Японии, Северной Америке… Для того чтобы нам с вами обучиться игре, мы сделали подборку Как решать судоку от легкого к сложному .

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

Когда вы заполните все клетки, у вас должно получиться в каждом из 9 квадратов все числа от 1 до 9. Так, по горизонтальной линии все цифры от 1 до 9. И по вертикальной линии то же самое, смотрите рисунок:

Казалось бы, простые правила, но чтобы ответить на вопрос, как решать судоку, а тем более, если хочется знать, как решать сложные судоку (особенно тем, кто только начинает свой путь), нужно прорешать хотя бы парочку легких задач. Тогда будет понятно, о чем речь. Ниже вам представлены игры. Попробуйте распечатать их и заполнить так, чтобы все сошлось:


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

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

Эта часть статьи ответит на вопросы:

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

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

Как решать судоку: способы и методы ячеек и полей?

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

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

2. Всегда проверяйте, какой цифры не хватает там, где осталось меньше пустых клеток. Это сэкономит время. И обязательно обращайте внимание на то, скольких и каких цифр не хватает в квадрате 3 на 3 (и на горизонтальных, и на вертикальных линиях).

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

4. Не бойтесь ничего, лучше сделать ошибку и понять, почему, чем не делать ничего!

5. Больше практики и вы станете мастером.

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

Ниже вам представлена подборка «Как разгадать сложные судоку», после которых вам многое будет по плечу!



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

Несмотря на японское название, история судоку начинается отнюдь не в Японии. Прообразом головоломки считают латинские квадраты Леонарда Эйлера – знаменитого математика, жившего в XVIII веке. Однако в таком виде, в котором она известна сегодня, ее изобрел Ховард Гарнс. Будучи по образованию архитектором, Гарнс попутно придумывал головоломки для журналов и газет. В 1979 году американское издание под названием «Dell Pencil Puzzles and Word Games» впервые напечатало на своих страницах судоку. Однако тогда головоломка не вызвала у читателей интереса.

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

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

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

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

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

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".

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

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