Способ "от обратного" в решении проблем – создание судоку

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

 

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

 

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

Итак, начнем.

 

Возьмем уже не раз рассматриваемую прямую задачу, представленную таблицей:

 

 

После ее заполнения получился следующий начальный (с которого начинал мастер) вариант:

 

 

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

 

E5-4 I7-4 G2-4 E4-5 D9-8 I6-8 H5-1

G4-7 D5-7 I1-1 I3-7

G5-6 G6-5 G9-3 H7-6 I2-6

H2-5 E2-8 F1-6 D6-6 A8-6 E1-7 F9-7 C7-7

D7-1 F8-9 D3-2 D2-9 F2-3 D4-3 F4-2 F6-1 G1-2 G3-9

B4-1 A4-8 B1-8 H3-8 H1-3 C1-4 A1-9 B6-4 C6-3 A1-3

C3-5 A5-5 A7-2 E7-3 E8-2 I9-2 I8-5 B7-9 B8-3

C5-9 B5-2 B9-5 C9-1

 

А теперь будем двигаться по этим шагам (алгоритму) в обратном порядке.

 

Делаем пустой клетку C9. Смотрим – цифра 1 была в ней необязательной, так как ее можно легко восстановить. С B9, B5 и C5 – аналогично. Чуть сложнее с ячейкой B8, но мы замечаем, что и тройку в ней восстановить не сложно: ячейки C6=3 и G9=3 оставляют место для тройки только в B8.

 

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

 

Так что дерзайте и - вперед!

 

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

 

На сегодня все!

 

09.10.2015 г. Ваш Протасов Н.Г.

 

Список и краткий обзор статей, касающихся судоку

Copyright © 2009 - 2024 Алгоритмист | Правовая информация
Карта сайта
Яндекс.Метрика