Алгоритм решения судоку. О методах решения проблем – судоку полный курс


27 Фев, 2015 —

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

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

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

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

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

Выберите интересующую вас тему:

Сумдоку

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

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

Рассмотрим сумдоку (на рисунке справа). Для её решения следует помнить, что сумма цифр в любой строке, любом столбце и любом маленьком прямоугольнике одинакова. Для нашего случая это 1+2+3+…+9+10 = 55. Для сумдоку 9х9 было бы 45.

Обратим внимание на выделенные серым цветом блоки. Они почти полностью (кроме одной цифры) покрывают два нижних прямоугольника. Вычислим сумму цифр во всех отмеченных блоках: 13 + 8 + 13 + 15 + 13 + 7 + 14 + 12 + 5 = (13+13+14) + (13+7) + (12+8) + (15+5) = 40 + 20 + 20 + 20 = 100. Итак, сумма цифр в отмеченных блоках — 100. Но если взять два нижних прямоугольника полностью, то сумма цифр в них должна быть 55 + 55 = 110. Значит, в единственной не отмеченной клетке стоит цифра 10.

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

Рассмотрим теперь блоки, выделенные на рисунке справа. Они покрывают одну предпоследнюю горизонталь судоку и две «лишние» клетки. Вычислим сумму цифр в блоках: 13 + 8 + 15 + 13 + 10 + 14 = (13+13+14) + (10+15) + 8 = 40 + 25 + 8 = 73. Но мы знаем, что сумма цифр в горизонтали 55, а, значит, можно узнать сумму цифр в двух «лишних» клетках: 73 — 55 = 18.

Запишем все возможные комбинации цифр в этих «лишних» клетках: 10+8, 9+9, 8+10.

История судоку

9+9 — исключаем, так как клетки расположены на одной горизонтали, остаётся 10+8 и 8+10. Но если поставить в первую «лишнюю» клетку 8, то в предпоследней горизонтали получатся две пятёрки, а цифры в горизонталях не должны повторяться. Таким образом, получаем, что в первой «лишней» клетке может стоять только 10. Расставляем сразу и остальные очевидные цифры.

15.06.2013 Как решить Судоку, правила с примером.

Хочется сказать, что Sudoku — это действительно интересная и увлекательная задача, загадка, пазл, головоломка, цифровой кроссворд, называть ее можно как угодно. Решение которой, доставит не только настоящее удовольствие для людей думающих, но и позволит в процессе увлекательной игры развивать и тренировать логическое мышление, память, усидчивость.

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

Правила игры в Судоку не сложные, они встречаются на страницах газет или их достаточно легко, можно найти в Internet.

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

Сегодня мы предлагаем Вам несколько вариантов электронной игры Sudoku-4tune, включающих более миллиона встроенных вариантов головоломок в каждом игровом плеере.

Для наглядности и лучшего понимания процесса решения загадки, рассмотрим один из простых вариантов, первого уровня сложности Sudoku-4tune, 6** серии.

И так, дано игровое поле, состоящее из 81-ой ячейки, которые в свою очередь составляют: 9-ть строк, 9-ть столбцов и 9-ть мини-квадратов размером 3х3 ячейки. (Рис.1.)


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

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

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

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


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


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

Следующий ход. Столбец номер 5 (слева на право) имеет всего две свободные ячейки. После не долгих размышлений определяем недостающие цифры - 5 и 8.

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

В данном примере сложно сориентироваться только по строкам, или столбцам, но если обратить внимание на мини-квадраты то становится понятно. Вписать цифру 8 во вторую (с верху) ячейку рассматриваемого столбца нельзя, иначе во втором мине-квадрате будет две восьмерки. Аналогично и с цифрой 5 для второй ячейки (снизу) и второго нижнего мини-квадрата рис.4 (не правильное расположение).


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

Соответственно для правильного решения во вторую (сверху) ячейку необходимо вписать 5, а во вторую (снизу)-8. Данное решение полностью соответствует правилам.

Верный вариант см. рис 5.

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

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

Можно снова воспользоваться принципом минимального количества свободных ячеек и обратить внимание на третий и на седьмой столбец (слева на право). В них не заполненными остались по три ячейки. Посчитав недостающие цифры, определяем их значения - это 2,3 и 9 для третьего столбца и 1,3 и 6 для седьмого. Оставим пока заполнение третьего столбца, поскольку с ним нет определенной ясности в отличие от седьмого. В седьмом столбце сразу можно определить расположение цифры 6 — это вторая снизу свободная ячейка. Из чего сделан такой вывод?

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


Оставим пока третий столбец для более четкого понимания момента. Хотя если есть желание, можно сделать для себя пометку, и внести предполагаемый вариант необходимых для установки цифр в эти ячейки, которые можно будет исправить в случае прояснения ситуации. Электронные игры Sudoku-4tune, 6** серии позволяют вписывать более одной цифры в ячейки, для памятки.

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

Проанализировав ситуацию можно заметить (пример заполнения мини-квадрата), что для полного его заполнения не достает следующих цифр 2,5 и 8. Рассмотрев среднюю, свободную ячейку можно заметить, что из необходимых цифр сюда подходит только 5. Поскольку 2 присутствует в верхней ячейке столбца, а 8 в строке в состав, которой, помимо мини-квадрата входит данная ячейка. Соответственно в средней ячейке последнего мини-квадрата вписываем цифру 2, (она не входит ни в строку, ни в столбец), а в верхнюю ячейку данного квадрата вписываем 8. Таким образом, у нас полностью заполнен нижний правый (9-й) мини-квадрат цифрами от 1 до 9, при этом цифры не повторяются и в столбцах ни в строках, рис.7.


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

В электронных играх Sudoku-4tune, 6**серии предусмотрена возможность использования подсказки. Четыре раза за игру Вы можете задействовать эту функцию и компьютер сам, установит правильную цифру в выбранной Вами ячейке. В моделях 8** серии такая функция отсутствует, и использование второго метода становится наиболее актуальным.

Рассмотрим второй метод в используемом нами примере.

Для наглядности возьмем четвертый столбец. Незаполненное количество ячеек в нем достаточно велико, шесть. Просчитав недостающие цифры, определяем их - это 1,4,6,7,8 и 9. Сократить количество вариантов, можно взяв за основу средний мини- квадрат, в котором имеется достаточно большое количество определенных цифр и всего лишь две свободные ячейки данного столбца. Сопоставив их с необходимыми нам цифрами видно, что 1,6,и 4 можно исключить. Их не должно быть в данном мини-квадрате во избежание повторений. Остается 7,8 и 9. Обратим внимание, что в строке (четвертая с верху), в состав которой входит нужная нам ячейка уже есть цифры 7 и 8 из, тех трех оставшихся которые нам нужны. Таким образом, остается единственный вариант для данной ячейки -это цифра 9, рис.8 Сомнений в правильности данного варианта решения не вызывает и тот факт, что все рассмотренные и исключенные нами цифры, были изначально даны в задании. То есть, они не подлежат какому либо изменению или переносу, подтверждая однозначность выбранной нами цифры для установки в данную конкретную ячейку.


Используя два метода одновременно в зависимости от ситуации, анализируя и логически размышляя, Вы заполните все свободные ячейки и придете к правильному решению любой головоломки Sudoku, и данной загадки в частности. Попробуйте самостоятельно завершить решение нашего примера рис.9 и сравнить его с окончательным ответом приведен на рис.10.


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

Судоку («Sudoku» ) — это головоломка с числами. В переводе с японского «су» означает «цифра», а «доку» — «стоящая отдельно». В традиционной головоломке судоку сетка представляет собой квадрат размером 9 x 9 , разделенный на меньшие квадраты со стороной 3 клетки («регионы»). Таким образом, всё поле насчитывает 81 клетку. В некоторых из них уже стоят цифры (от 1 до 9). В зависимости от того, сколько клеток уже заполнено, задание головоломки можно отнести к лёгким или сложным.

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

Программа Cross+A умеет решать большое количество разновидностей судоку.

Задание может быть усложнено: основные диагонали квадрата также должны содержать цифры от 1 до 9. Такую головоломку называют судоку-диагонали («Sudoku X» ). Для решения этих заданий необходимо поставить «галочку» в пункте Диагонали .

Судоку-аргайл («Argyle Sudoku» ) содержит узор из линий, расположенных по диагонали.

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

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

Головоломка может содержать регионы произвольной формы; такие судоку называются геометрическими или фигурными («Jigsaw Sudoku» , «Geometry Sudoku» , «Irregular Sudoku» , «Kikagaku Nanpure» ).

Вместо цифр в судоку могут использоваться буквы; такие головоломки называются Godoku («Wordoku» , «Alphabet Sudoku» ). После решения в какой-либо строке или столбце можно прочесть ключевое слово.

Судоку-астериск («Asterisk» ) — это разновидность судоку, которая содержит дополнительную область из 9 клеток. Эти клетки также должны содержать числа от 1 до 9.

Судоку-жирандоль («Girandola» ) также содержит дополнительную область из 9 клеток, с числами от 1 до 9 (жирандоль — это фонтан из нескольких струй в виде фейерверка, «огненное колесо»).

Судоку с центральными точками («Center Dot» ) — это вариант судоку, где центральные клетки каждого региона 3 x 3 образуют дополнительную область.

Клетки этой дополнительной области должны содержать числа от 1 до 9.

Судоку может содержать четыре дополнительных региона 3 x 3 . Такая разновидность головоломки называется судоку-окно («Windoku» , «Four-Box Sudoku», «Hyper Sudoku» ).

Судоку-мозаика («Offset Sudoku» , «Sudoku-DG» ) содержит дополнительные 9 групп по 9 клеток. Клетки внутри группы не соприкасаются друг с другом и выделяются одним цветом. В каждой группе каждая цифра от 1 до 9 должна встречаться только один раз.

Ни шагу конём («Anti-Knight Sudoku» ) имеет дополнительное условие: одинаковые цифры не могут «бить» друг друга ходом коня.

В судоку-отшельники («Anti-King Sudoku» , «Touchless Sudoku» , «Судоку без касаний» ) одинаковые числа не могут стоять в соседних клетках (как по диагонали, так и по горизонтали и вертикали).

В судоку-антидиагональ («Anti Diagonal Sudoku» ) каждая диагональ квадрата содержит не более трех различных цифр.

Судоку-убийца («Killer Sudoku» , «Sums Sudoku» , «Sums Number Place» , «Samunamupure» , «Kikagaku Nampure» ; еще одно название — Сум-до-ку ) представляет собой разновидность обычной судоку. Единственное отличие: заданы дополнительные числа — суммы значений в группах клеток. Числа, содержащиеся в группе, не могут повторяться.

Судоку больше-меньше («Greater Than Sudoku» ) содержит знаки сравнения («>» и «<«), которые показывают, как соотносятся между собой числа в соседних ячейках. Еще одно название — Compdoku .

Судоку чёт-нечет («Even-Odd Sudoku» ) содержит информацию о четности или нечетности чисел в ячейках. Клетки, в которых стоят четные цифры, помечаются серым цветом, клетки, в которых находятся нечетные цифры, — белым цветом.

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

В Non-Consecutive Sudoku цифры в соседних ячейках (по горизонтали и вертикали) должны отличаться больше, чем на единицу. Например, если в клетке стоит цифра 3, соседние ячейки не должны содержать цифры 2 или 4.

Судоку-точки («Kropki Sudoku» , «Dots Sudoku» , «Судоку с точками» ) содержит белые и черные точки на границах между клетками. Если числа в соседних клетках отличаются на единицу, то между ними стоит белая точка. Если в соседних клетках одно число больше другого в два раза, то клетки разделены черной точкой. Между 1 и 2 может стоять точка любого из этих цветов.

Сукаку («Sukaku» , «Suuji Kakure» , «Pencilmark Sudoku» ) представляет собой квадрат размером 9 x 9 , содержащий 81 группу цифр. Необходимо оставить в каждой клетке лишь одну цифру так, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3 x 3 каждое число от 1 до 9 встречалось бы только один раз.

Судоку-цепочки («Chain Sudoku» , «Strimko» , «Судоку-извилины» ) представляет собой квадрат, состоящий из кружков.

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

Программа может решать и создавать головоломки размером от 4 x 4 до 9 x 9 .

Судоку-рама («Frame Sudoku» , «Outside Sum Sudoku» , «Судоку — суммы сбоку» , «Судоку с суммами» ) представляет собой пустой квадрат размером. Числа за пределами игрового поля обозначают суммы ближайших трех цифр в строке или столбце.

Судоку-небоскрёб («Skyscraper Sudoku» ) содержит ключевые числа, стоящие вдоль сторон сетки. Необходимо расставить цифры в сетке; каждая цифра обозначает количество этажей в небоскрёбе. Ключевые числа за пределами сетки показывают, сколько именно домов видно в соответствующей строке или столбце, если смотреть от этого числа.

Судоку-тренога («Tripod Sudoku» ) — разновидность судоку, в которой границы между регионами не указаны; вместо этого заданы точки на пересечениях линий. Точки обозначают места пересечения границ регионов. От каждой точки могут отходить только три линии. Необходимо восстановить границы регионов и заполнить сетку цифрами так, чтобы в каждой строке, каждом столбце и каждом регионе они не повторялись.

Судоку-мины («Sudoku Mine» ) объединяет в себе черты головоломок судоку и «сапёр».

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

Судоку-половина («Sujiken» ) была изобретена американцем Джорджем Хайнеманом (George Heineman). Головоломка представляет собой треугольную сетку, содержащую 45 клеток. В некоторых клетках находятся числа. Необходимо заполнить числами от 1 до 9 все ячейки сетки так, чтобы в каждой строке, в каждом столбце и на каждой диагонали числа не повторялись. Также, одно и то же число не может встречаться дважды в каждом из регионов, разделённых толстыми линиями.

Судоку XV («Sudoku XV» ) — разновидность обычной судоку. Если граница между соседними клетками помечена римской цифрой «X», сумма значений в этих двух клетках равна 10, если римской цифрой «V» — сумма равна 5. Если граница между двумя клетками не помечена, сумма значений в этих клетках не может равняться 5 или 10.

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

  • 16 x 16 (размер регионов 4 x 4 ).

Cross+A может решать и создавать разновидности судоку, состоящие из нескольких квадратов 9 x 9 .

Такие головоломки называют «Gattai» (в переводе с японского: «соединенный» , «связанный» ). В зависимости от количества квадратов головоломки обозначают «Gattai-3» , «Gattai-4» , «Gattai-5» и так далее.

Судоку-самурай («Samurai Sudoku» , «Gattai-5» ) — разновидность головоломки судоку. Игровое поле состоит из пяти квадратов размером 9 x 9 . Цифры от 1 до 9 должны быть расставлены правильно во всех пяти квадратах.

Судоку-цветок («Flower Sudoku» , «Musketry Sudoku» ) похожа на судоку-самурай. Игровое поле состоит из пяти квадратов размером 9 x 9 ; центральный квадрат целиком покрыт четырьмя другими. Цифры от 1 до 9 должны быть расставлены правильно во всех пяти квадратах.

Судоку-сохей («Sohei Sudoku» ) названа в честь монахов-воинов в средневековой Японии. Игровое поле содержит четыре квадрата размером 9 x 9

Судоку-мельница («Kazaguruma» , «Windmill Sudoku» ) состоит из пяти квадратов размером 9 x 9 : один в центре, четыре остальных квадрата почти полностью накрывают центральный квадрат. Цифры от 1 до 9 должны быть расставлены правильно во всех пяти квадратах.

Судоку-бабочка («Butterfly Sudoku» ) содержит четыре пересекающихся квадрата размером 9 x 9 , которые образуют единый квадрат размером 12 x 12 . Цифры от 1 до 9 должны быть расставлены правильно во всех четырех квадратах.

Судоку-крест («Cross Sudoku» ) состоит из пяти квадратов. Цифры от 1 до 9 должны быть расставлены правильно во всех пяти квадратах.

Судоку-три («Gattai-3» ) состоит из трех квадратов размером 9 x 9 .

Двойные судоку («Twodoku» , «Sensei Sudoku» , «DoubleDoku» ) состоят из двух квадратов размером 9 x 9 . Цифры от 1 до 9 должны быть расставлены правильно в обоих квадратах.

Программа умеет решать двойные судоку, в которых регионы имеют произвольную форму:

Тройные судоку («Triple Doku» ) представляют собой головоломку из трех квадратов размером 9 x 9 . Цифры от 1 до 9 должны быть расставлены правильно во всех квадратах.

Судоку-близнецы («Twin Corresponding Sudoku» ) представляет собой пару обычных головоломок судоку, в каждой из которых присутствуют несколько начальных цифр. Необходимо решить обе головоломки; при этом каждому виду цифр в первой сетке соответствует один и тот же вид цифр во второй сетке. Например, если в левом верхнем углу первой головоломки судоку стоит цифра 9, а в левом верхнем углу второй головоломки — цифра 4, то во всех ячейках, где в первой сетке стоит 9, во второй сетке находится цифра 4.

Хоши («Hoshi» ) состоит из шести больших треугольников; цифры от 1 до 9 должны быть расставлены в треугольных клетках каждого большого треугольника. Каждая линия (любой длины, даже прерывистая) содержит неповторяющиеся цифры.

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

Тридоку («Tridoku» ) была изобретена Яфетом Лайтом (Japheth Light) из США. Головоломка состоит из девяти больших треугольников; каждый из них содержит девять маленьких треугольников. Цифры от 1 до 9 должны быть расставлены в клетках каждого большого треугольника. Поле содержит дополнительные линии, клетки которых также должны содержать неповторяющиеся цифры. Две соприкасающиеся треугольные клетки не должны содержать одинаковых чисел (даже если клетки касаются друг друга лишь одной точкой).

Онлайн помощник в решении судоку.

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

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

Как обычно в первую очередь мы рассмотрим открытые одиночки. И таких оказалось только две 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 восьмёрка.

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

1.1 «Последний герой»

Рассмотрим седьмой квадрат. Всего четыре свободных клетки, значит что-то можно быстро заполнить.
"8 " на D3 блокирует заполнение H3 и J3 ; точно также "8 " на G5 закрывает G1 и G2
С чистой совестью ставим "8 " на H1

1.2 «Последний герой» в строке

После просмотра квадратов на очевидные решения, переходим к столбцам и строкам.
Рассмотрим "4 " на поле. Понятно, что она будет где-то в строке A .
У нас есть "4 " на G3 , что зыкрывает A3 , есть "4 " на F7 , убирающая A7 . И ещё одна "4 " во втором квадрате запрещает её повтор на A4 и A6 .
«Последний герой» для нашей "4 " это A2

1.3 «Выбора нет»


Иногда есть несколько причин для конкретного расположения. "4 " в J8 будет отличным примером.
Синие стрелки показывают, что это последнее возможное число в квадрате. Красные и синие стрелки дают нам последнее число в столбце 8 . Зеленые стрелки дают последнее возможное число в строке J .
Как видим, выбора у нас нет, кроме как поставить эту "4 " на место.

1.4 «А кто, как не я?»


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

На жаргоне это "Голая одиночка ". Если заполнять поле возможными значениями (кандидатами), то в ячейке такое число будет единственным возможным. Развивая эту методику, можно искать "Скрытые одиночки " - числа, уникальные для конкретной строки, столбца или квадрата.

2. «Голая миля»

2.1 «Голые» пары

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


В этом примере несколько «голых пар».
Красным в строке А выделены ячейки А2 и А3 , обе содержащие "1 " и "6 ". Я пока не знаю, как именно они расположены здесь, но я спокойно могу убрать все другие "1 " и "6 " из строки A (отмечено желтым). Также А2 и А3 принадлежат общему квадрату, поэтому убираем "1 " из C1 .

2.2 «Threesome»

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

Комбинации кандидатов для «голой тройки» могуть быть такими:

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

В этом примере все довольно очевидно. В пятом квадрате ячейки E4 , E5 , E6 содержат [5,8,9 ], [5,8 ], [5,9 ] соответственно. Получается, что в общем у этих трех ячеек есть [5,8,9 ], и только эти числа там могут быть. Это позволяет нам убрать их из других кандидатов блока. Этот трюк даёт нам решение "3 " для ячейки E7 .

2.3 «Великолепная четверка»

"«Голая» четверка" весьма редкое явление, особенно в полной форме, и все же дает результаты при обнаружении. Логика решения такая же как и у «голых троек» .

В указанном примере в первом квадрате ячейки A1 , B1 , B2 и C1 в общем содержат [1,5,6,8 ], поэтому эти числа займут только эти ячейки и никакие другие. Убираем подсвеченных желтым кандидатов.

3. «Все тайное становится явным»

3.1 Скрытые пары

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

В этой головоломке мы видим, что 6 и 7 есть в первом и втором квадратах. Кроме этого 6 и 7 есть в столбце 7 . Комбинируя эти условия, мы можем утверждать, что в ячейках A8 и A9 будут только эти значения и все другие кандидаты мы убираем.


Более интересный и сложный пример скрытых пар . Синим выделена пара [2,4 ] в D3 и E3 , убирающая 3 , 5 , 6 , 7 из этих ячеек. Красным выделены две скрытые пары, состоящие из [3,7 ]. C одной стороны, они уникальны для для двух ячеек в 7 столбце, с другой стороны - для строки E . Выделеные желтым кандидаты убираются.

3.1 Скрытые тройки

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


В этом сложном примере есть две скрытые тройки . Первая, отмеченная красным, в столбце А . Ячейка А4 содержит [2,5,6 ], A7 - [2,6 ] и ячейка A9 -[2,5 ]. Эти три ячейки единственные, где могут быть 2 ,5 или 6, поэтому только они там и будут. Следовательно убираем лишних кандидатов.

Вторая, в столбце 9 . [4,7,8 ] уникальны для ячеек B9 , C9 и F9 . Используя ту же логику, убираем кандидатов.

3.1 Скрытые четверки


Прекрасный пример скрытых четверок . [1,4,6,9 ] в пятом квадрате могут быть только в четырех ячейках D4 , D6 , F4 , F6 . Следуя нашей логике, убираем всеъ других кандидатов (отмеченых желтым).

4. «Нерезиновая»

Если любое из чисел появляется дважды или трижды в одном блоке (строке, столбце, квадрате), тогда мы можем убрать это число из сопряженного блока. Есть четыре вида сопряжения:

  1. Пара или Тройка в квадрате - если они расположены в одной строке, то можно убрать все другие такие же значения из соответствующей строки.
  2. Пара или Тройка в квадрате - если они расположены в одном столбце, то можно убрать все другие такие же значения из соответствующего столбца.
  3. Пара или Тройка в строке - если они расположены в одном квадрате, то можно убрать все другие такие же значения из соответствующего квадрата.
  4. Пара или Тройка в столбце - если они расположены в одном квадрате, то можно убрать все другие такие же значения из соответствующего квадрата.
4.1 Указавыющие пары, тройки

В качестве примера покажу эту головоломку. В третьем квадрате "3 " находится только в B7 и B9 . Следуя утверждению №1 , мы убираем кандидатов из B1 , B2 , B3 . Аналогично, "2 " из восьмого квадрата убирает возможное значение из G2 .


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

4.2 Сокращаем несокращаемое


Эта стратегия включает в себя аккуратный анализ и сравнение строк и столбцов с содержимым квадратов (правила №3 , №4 ).
Рассмотрим строку А . "2 " возможны только в А4 и А5 . Следуя правилу №3 , убираем "2 " их B5 , C4 , C5 .


Продолжим решать головоломку. Имеем единственное расположение "4 " в пределах одного квадрата в 8 столбце. Согласно правилу №4 , убираем лишних кандитатов и, в добавок, получаем решение "2 " для C7 .

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

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

Как играть

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

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

Сделать это нужно так, чтобы цифры не повторялись:

  • в каждом столбце,
  • в каждой строке,
  • в любом из малых квадратов.

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

Уровни сложности

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

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

Применяются различные подходы к решению задач. Рассмотрим самые распространенные.

Метод исключения

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

В первую очередь принимаемся за квадрат, наиболее заполненный цифрами, - левый нижний. В нем не хватает единицы, семерки, восьмерки и девятки. Чтобы узнать, куда поставить единичку, посмотрим на столбцы и строки, где есть эта цифра: она есть во втором столбце, поэтому наша пустая клетка (самая нижняя во втором столбце) не может ее содержать. Остается три возможных варианта. Но нижняя строка и вторая с самого низа строка также содержат единичку - поэтому методом исключения у нас остается правая верхняя пустая клетка в рассматриваемом подквадрате.

Подобным образом заполняем все пустые клетки.

Запись чисел-кандидатов в ячейку

Для решения в левом верхнем углу клетки записываются варианты - числа-кандидаты. Затем неподходящие по правилам игры «кандидаты» вычеркиваются. Таким образом постепенно заполняется все свободное пространство.

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

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

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

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

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

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

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

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

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

Я создаю такую рабочую таблицу в Excel. Сначала выделяю все пустые ячейки (клетки) таблицы. Нажимаю F5-"Выделить"-"Пустые ячейки"-"OK". Более общий способ выделения нужных ячеек: удерживаю Ctrl и кликом мышки выделяю эти ячейки. Затем для выделенных ячеек устанавливаю синий цвет, размер 10 (исходный – 12) и шрифт Arial Narrow. Это все для того, чтобы хорошо просматривались последующие изменения в таблице. Далее я ввожу в пустые клетки числа 123456789. Делаю это следующим образом: записываю и сохраняю это число в отдельной ячейке. Затем нажимаю на F2, выделяю и копирую это число операцией Ctrl+C. Далее перехожу к ячейкам таблицы и, последовательно обходя все пустые ячейки, ввожу в них число 123456789 операцией Ctrl+V, и рабочая таблица готова.

Лишние цифры, о которых будет речь далее, я удаляю следующим образом. Операцией Ctrl+клик мышкой - выделяю ячейки с лишней цифрой. Затем нажимаю Ctrl+H и в верхнее поле открывшегося окошка ввожу удаляемую цифру, а нижнее поле должно быть совершенно пустым. Далее остается щелкнуть по опции "Заменить все" и лишняя цифра удалена.

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

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

Итак, перед вами фрагмент рабочей таблицы с девятью блоками, нумеруемыми слева-направо и сверху-вниз. В данном случае у нас заполнен цифрами 123456789 четвертый блок. Это и есть наша модель. Вне блока красным цветом мы выделили "активированные" (окончательно определенные) цифры, в данном случае четверки, которые намерены подставить в оформляемую таблицу. Голубые пятерки – это пока не определенные относительно их дальнейшей роли цифры, о которых после поговорим. Назначенные нами активированные цифры как бы вычеркивают, выталкивают, удаляют – в общем, вытесняют одноименные цифры в блоке, поэтому там они представлены бледным цветом, символизирующим тот факт, что эти бледные цифры удалены. Хотел было сделать этот цвет еще бледнее, но тогда они могли бы стать вообще не заметными при просмотре в интернете.

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

Теперь уберем одну активированную четверку, например из F7. Тогда четверка в заполненном блоке может оказаться уже и только в ячейке E5 или F5, оставаясь при этом активированной в строке 5. Если к этой ситуации привлечь активированные пятерки, без F7=4 и F8=5, то в ячейках E5 и F5 возникнет голая или скрытая активированная пара 45.

После того как вы в достаточной мере отработаете и осмыслите разные варианты с голыми и скрытыми одиночками, двойками, тройками и т.д. не только в блоках, но и в строках и столбцах, мы можем перейти к еще одному эксперименту. Создадим голую пару 45, как было сделано раньше, а потом подключим активированные F7=4 и F8=5. В результате возникнет ситуация E5=45. Подобные ситуация очень часто возникает в процессе обработки рабочей таблицы. Такая ситуация означает, что одна из этих цифр, в данном случае 4 или 5, обязательно должна находиться в блоке, строке и столбце, включающих в себя ячейку E5, потому что во всех этих случаях должны присутствовать две цифры, а не одна из них.

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

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

Надо сказать, что скрытые и открытые одиночки, а также открытые пары, тройки и даже четверки, – это обычные ситуации, возникающие при решении задач судоку с рабочей таблицей. Скрытые пары случались редко. А вот скрытые тройки, четверки и т.д. мне при обработке рабочих таблиц как-то не попадались, так же, как и многократно описанные в интернете методы обхода контуров "x-wing" и "рыба-меч", при которых возникают "кандидаты" на удаление при любом из двух альтернативных способов обхода контуров. Смысл этих способов: если уничтожаем "кандидата" х1, то остается эксклюзивный кандидат х2 и при этом удаляется кандидат х3, а если уничтожаем х2, то остается эксклюзивный х1, но и в этом случае удаляется кандидат х3, так что в любом случае следует удалить х3, не затрагивая пока кандидатов х1 и х2. В более общем плане, это частный случай ситуации: если два альтернативных способа приводят к одному и тому же результату, то этот результат может использоваться для решения задачи судоку. В таком, более общем, плане ситуации мне встречались, но не в варианте "x-wing" и "рыба-меч" и не при решении задач судоку, для которых достаточно знания лишь "базовых" подходов.

Особенности применения рабочей таблицы можно показать на следующем нетривиальном примере. На одном из форумов решателей судоку http://zforum.net/index.php?topic=3955.25;wap2 мне встретилась задача, представленная как одна из сложнейших задач судоку, не решаемая обычными способами, без применения перебора с допущениями относительно подставляемых в ячейки цифр. Покажем, что с рабочей таблицей можно решить эту задачу без подобного перебора:

Справа исходная задача, слева рабочая таблица после "вычеркивания", т.е. рутинной операции удаления лишних цифр.

Сначала договоримся об обозначениях. ABC4=689 означает, что в ячейках A4, B4 и C4 находятся цифры 6, 8 и 9 – по одной или по несколько цифр на ячейку. Со строками аналогично. Так, B56=24 означает, что в ячейках В5 и В6 находятся цифры 2 и 4. Знак ">" – это знак обусловленного действия. Так, D4=5>I4-37 означает, что вследствие сообщения D4=5 следует поместить число 37 в ячейку I4. Сообщение может быть явным – "голым" – и скрытым, которое следует выявить. Воздействие сообщения может быть последовательным (передаваться опосредованно) по цепочке и параллельным (воздействовать непосредственно на другие ячейки). Например:

D3=2; D8=1>A9-1>A2-2>A3-4,G9-3; (D8=1)+(G9=3)>G8-7>G7-1>G5-5

Эта запись означает, что D3=2, но этот факт нужно выявить. D8=1 передает A3 свое воздействие по цепочке и в A3 следует записать 4; одновременно D3=2 воздействует непосредственно на G9, что приводит к результату G9-3. (D8=1)+(G9=3)>G8-7 – совместное воздействие факторов (D8=1) и (G9=3) приводит к результату G8-7. И т.п.

В записях может также встретиться сочетание типа H56/68. Оно означает, что в ячейках H5 и H6 запрещены цифры 6 и 8, т.е. их следует из этих ячеек удалить.

Итак, начинаем работу с таблицей и для начала применяем хорошо проявленное, заметное условие ABC4=689. Это означает, что во всех остальных (кроме A4, B4 и C4) ячейках блока 4 (средний, левый) и 4-й строки должны быть удалены цифры 6, 8 и 9:

Аналогичным образом применяем B56=24. В совокупности имеем D4=5 и (после D4=5>I4-37) HI4=37, а также (после B56=24>C6-1) C6=1. Применим это к рабочей таблице:

В I89=68скрытая>I56/68>H56-68: т.е. в ячейках I8 и I9 находится скрытая пара цифр 5 и 6, которая запрещает нахождение этих цифр в I56, что приводит к результату H56-68. Этот фрагмент мы можем рассмотреть по другому, подобно тому, как это делали в экспериментах на модели рабочей таблицы: (G23=68)+(AD7=68)>I89-68; (I89=68)+(ABC4=689)>H56-68. То есть, двусторонняя "атака" (G23=68) и (AD7=68) приводит к тому, что в I8 и I9 могут находиться только цифры 6 и 8. Далее (I89=68) подключается к "атаке" на H56 совместно с предыдущими условиями, что и приводит к H56-68. Дополнительно к этой "атаке" подключается (ABC4=689), что в данном примере выглядит излишним, однако если бы мы работали без рабочей таблицы, то фактор воздействия (ABC4=689) оказался бы скрытым, и вполне уместным было бы обратить на него внимание специально.

Следующее действие: I5=2>G1-2,G6-9,B6-4,B5-2.

Надеюсь, оно уже понятно без комментариев: подставляйте цифры, которые стоят после тире, не ошибетесь:

H7=9>I7-4; D6=8>D1-4,H6-6>H5-8:

Следующая серия действий:

D3=2; D8=1>A9-1>A2-2>A3-4,G9-3;

(D8=1)+(G9=3)>G8-7>G7-1>G5-5;

D5=9>E5-6>F5-4:

I=4>C9-4>C7-2>E9-2>EF7-35>B7-7,F89-89,

то есть, в результате "вычеркивания" – удаления лишних цифр – в ячейках F8 и F9 возникает открытая, "голая" пара 89, которую, вместе с другими результатами, указанными в записи, применяем к таблице:

H2=4>H3-1>F2-1>F1-6>A1-3>B8-3,C8-5,H1-7>I2-5>I3-3>I4-7>H4-3

Их результат:

Затем следуют довольно рутинные, очевидные действия:

H1=7>C1-8>E1-5>F3-7>E2-9>E3-8,C3-9>B3-5>B2-6>C2-7>C4-6>A4-9>B4-8;

B2=6>B9-9>A8-6>I8-8>F8-9>F9-8>I9-6;

E7=3>F7-5,E6-7>F6-3

Их результат: окончательное решение задачи:

Так или иначе, будем считать, что с "базовыми" способами в судоку или в иных областях интеллектуального приложения мы разобрались на основе подходящей для этого модели и даже научились их применять. Но это лишь часть нашего продвижения в методологии решения проблем. Далее, повторюсь, следует не всегда учитываемый, но непременный этап доведения предварительно усвоенных способов до состояния простоты их применения. Решение примеров, осмысливание результатов и способов этого решения, переосмысливание этого материала на основе принятой модели, снова продумывание всех вариантов с доведением степени их понимания до автоматизма, когда решение с применением "базовых" положений становится рутинных и исчезает как проблема. Что это дает: это каждый должен прочувствовать на своем опыте. А суть в том, что когда проблемная ситуация становится рутинной, то поисковый механизм интеллекта направляется к освоению все более сложных положений в области решаемых проблем.

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

В статье Василенко С.Л. "Числовая гармония Судоку" я нахожу пример задачи с 18 симметричными ключами:

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

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

Итак, в первых (верхних) трех строках (1, 2 и3) мы можем заметить вращение пар (3+8) и (7+9), а также (2+х1) с неизвестным х1 и тройка одиночек (х2+4+1) с неизвестным х2. При этом, мы можем обнаружить, что каждое из х1 и х2 могут быть либо 5, либо 6.

В строках 4, 5 и 6 просматриваются пары (2+4) и (1+3). Должна быть также 3-я неизвестная пара и тройка одиночек из которых известна лишь одна цифра 5.

Аналогичным образом просматриваем строки 789, затем тройки столбцов ABC, DEF и GHI. Собранную информацию мы запишем в символическом и, надеюсь, достаточно понятном виде:

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

Цветами я выделил альтернативные варианты. Голубой цвет означает "разрешено", а желтый – "запрещено". Если, скажем, разрешено в A2=79 разрешено A2=7, то C2=7 – запрещено. Или наоборот – разрешено A2=9, запрещено C2=9. А далее разрешения и запрещения передаются по логической цепочке. Такая расцветка сделана для того, чтобы было проще просматривать разные альтернативные варианты. В общем, это некоторая аналогия упомянутым ранее способов "x-wing" и "рыба-меч" при обработке таблиц.

Просматривая вариант B6=7 и, соответственно, B7=9, мы можем обнаружить сразу два момента, несовместимых с этим вариантом. Если B7=9, то в строках 789 возникает синхронно вращающаяся тройка, что недопустимо, так как синхронно (в одном направлении) могут вращаться либо только три пары (и три одиночки асинхронно им), либо три тройки (без одиночек). Кроме этого, если B7=9, то через несколько шагов обработки рабочей таблицы в 7-й строке обнаружим несовместимость: B7=D7=9. Так что подставляем единственно приемлемый из двух альтернативных вариант B6=9, и далее задача решается простыми средствами обычной обработки без всякого слепого перебора:

Далее, у меня есть готовый пример с применением модели вращения для решения задачи из чемпионата мира по судоку, но этот пример я опускаю, чтобы слишком уж не растягивать данную статью. К тому же, как оказалось, эта задача имеет три варианта решения, что плохо подходит для первоначального освоения модели вращения цифр. Еще я изрядно "попыхтел" над вытащенной из интернета задачей Гэри МакГайра с 17 ключами для решения его головоломки, пока с еще более изрядным раздражением не выяснил, что эта "головоломка" имеет более 9 тысяч вариантов решения.

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

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

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

При внимательном анализе структуры задачи Арто Инкала можно заметить, что вся она построена по принципу трех синхронно вращающихся пар и тройки вращающихся асинхронно парам одиночек: (х1+х2)+(х3+х4)+(х5+х6)+(х7+х8+х9). Порядок вращения может быть, например, такой: в первых трех строках 123 первая пара (х1+х2) переходит из первой строки первого блока во вторую строку второго блока, затем в третью строку третьего блока. Вторая пара переходит из второй строки первого блока в третью строку второго блока, затем, в этом вращении, перепрыгивает в первую строку третьего блока. Третья пара из третьей строки первого блока перепрыгивает в первую строку второго блока и далее в этом же направлении вращения переходит во вторую строку третьего блока. Тройка одиночек движется в подобном режиме вращения, но в противоположном вращению пар. Ситуация со столбцами выглядит аналогично: если таблицу мысленно (или реально) повернуть на 90 градусов, то строки станут столбцами, с тем же, как ранее для строк, характером движения одиночек и пар.

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

Не должно быть синхронно (в одном направлении) вращающихся троек и пар – такие тройки, в отличие от тройки одиночек, будем в дальнейшем называть триплетами;

Не должно быть асинхронных между собой пар или асинхронных между собой одиночек;

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

Кроме этого есть и другие ограничения:

Не должно быть ни одной пары в 9-ти строках, совпадающей с парой в каком-либо из столбцов и то же самое относительно столбцов и строк. Это должно быть очевидным: потому что сам факт расположения двух цифр в одной строке свидетельствует о том, что они находятся в разных столбцах.

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

Исследование блоков 4,5,6.

В блоках 4-6 возможны пары (3+7) и (3+9). Если принять (3+9), то получится недопустимое синхронное вращение триплета (3+7+9), так что имеем пару (7+3). После подстановки этой пары и последующей обработки таблицы обычными средствами получим:

При этом мы можем сказать, что 5 в B6=5 может быть лишь одиночкой, асинхронной (7+3), а 6 в I5=6 является параобразующей, так как она находится в одной строке H5=5 в шестом блоке и, следовательно, она не может быть одиночкой и может двигаться лишь синхронно с (7+3.

и расположил кандидатов на одиночки по количеству появления их в этой роли в данной таблице:

Если принять, что наиболее частотные 2, 4 и 5 и есть одиночки, то по правилам вращения с ними могут сочетаться только пары: (7+3), (9+6) и (1+8) - пара (1+9) отброшена, так как она отрицает пару (9+6). Далее после подстановки этих пар и одиночек и дальнейшей обработки таблицы обычными методами получим:

Вот такая непокорная таблица оказалась – не желает обрабатываться до конца.

Придется поднапрячься и заметить, что в столбцах ABC есть пара (7+4) и что 6 перемещается синхронно 7 в этих столбцах, поэтому 6 – параобразующая, так что в столбце "C" 4-го блока возможно лишь сочетания (6+3)+8 либо (6+8)+3. Первое из этих сочетаний не проходит, так как тогда в 7-м блоке в столбце "B" возникнет недопустимая синхронная тройка – триплет (6+3+8). Ну а далее, после подстановки варианта (6+8)+3 и обработки таблицы обычным способом приходим к благополучному завершению задачи.

Второй вариант: вернемся к таблице, полученной после выявления сочетания (7+3)+5 в строках 456 и перейдем к исследованию столбцов ABC.

Здесь мы можем заметить, что пара (2+9) не может иметь место в ABC. Другие комбинации (2+4), (2+7), (9+4) и (9+7) дают синхронную тройку - триплет в A4+A5+A6 и B1+B2+B3, что неприемлемо. Остается одна приемлемая пара (7+4). Причем 6 и 5 двигаются синхронно 7, значит они параобразующие, т.е. образуют какие-то пары, но не 5+6.

Составим список возможных пар и их сочетаний с одиночками:

Сочетание (6+3)+8 не проходит, т.к. иначе образуется недопустимая тройка-триплет в одном столбце (6+3+8), о чем уже говорили и в чем можем убедиться еще раз, проверив все варианты. Из кандидатов на одиночки больше всех очков набирает цифра 3, а наиболее вероятное из всех приведенных сочетаний: (6+8)+3, т.е. (С4=6 + C5=8) + C6=3, что дает:

Далее самый вероятный кандидат на одиночку либо 2, либо 9 (по 6 баллов), однако в любом из этих случаев остается в силе кандидат 1 (4 балла). Начнем с (5+29)+1, где 1 асинхронно 5, т.е. поставим 1 из В5=1 в качестве асинхронной одиночки во все столбцы ABC:

В блоке 7, столбец A, возможны лишь варианты (5+9)+3 и (5+2)+3. Но мы лучше обратим внимание на то, что в строках 1-3 теперь проявились пары (4+5) и (8+9). Их подстановка приводит к быстрому результату, т.е. к завершению задачи после обработки таблицы обычными средствами.

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

Снова возвращаемся в исходное положение:

В блоках 4-6 возможны пары (3+7) и (3+9). Если принять (3+9), то получится недопустимое синхронное вращение триплета (3+7+9), так что для подстановки в таблицу имеем только вариант (7+3):

5 здесь, как мы видим, одиночка, 6 – параобразующая. Допустимые варианты в ABC5: (2+1)+8, (2+1)+9, (8+1)+9, (8+1)+2, (9+1)+8, (9+1)+2. Но (2+1) асинхронна (7+3), поэтому остаются (8+1)+9, (8+1)+2, (9+1)+8, (9+1)+2. В любом случае 1 является синхронной (7+3) и, следовательно, параобразующей. Подставим 1 в этом качестве в таблицу:

Цифра 6 здесь является параобразующей в бл. 4-6, но бросающейся в глаза пары (6+4) нет в списке допустимых пар. Следовательно четверка в A4=4 асинхронна 6:

Так как D4+E4=(8+1) и согласно анализу вращения образует эту пару, то получаем:

Если ячейки C456=(6+3)+8, то B789=683, т.е. получится синхронная тройка-триплет, так что остается вариант (6+8)+3 и результат его подстановки:

B2=3 здесь одиночка, С1=5 (асинхронная 3) - параобразующая, A2=8 - также параобразующая. В3=7 может быть и синхронной и асинхронной. Теперь мы можем проявить себя и на более сложных приемах. Натренированным взглядом (или хотя бы при проверке на компьютере) мы видим, что при любом статусе В3=7 – синхронном или асинхронном – мы получаем один и тот же результат A1=1. Следовательно, мы можем подставить это значение в A1 и далее уже более обычными простыми средствами завершить нашу, вернее Арто Инкала, задачу:

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

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

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

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

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

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

На сегодня пока все.