Наверное, серия моих статей по решению проблем с примерами из судоку была бы не полной, если бы я не остановился на том моменте, что настоящий мастер в решении проблем должен уметь не только их решать, но и, позвольте так выразиться, их создавать.
Как было открыто интегральное исчисление? Сначала разобрались с дифференциальным исчислением, а потом пришли к интегралам обратным путем. Вот и мы можем применить этот используемый в науке прием, чтобы разобраться с тем, как можно создавать судоку.
Если начинать, что называется, с нуля или от печки, то задача совсем даже не будет простой. Но вспомним, что в предыдущих статьях мы записывали ходы решения таблиц судоку. Так что может быть проще? Еще раз запишем эти ходы и пойдем обратным путем: не от исходной таблицы к начальной, т.е. полностью заполненной таблице, а от начальной таблицы к исходной, созданной мастером судоку. Разница будет лишь в том, что, решая прямую задачу, мы постепенно заполняли цифрами пустые ячейки, а, решая обратную задачу, мы будем делать шаги в обратном направлении, создавая в начальной заполненной таблице пустые клетки.
Итак, начнем.
Возьмем уже не раз рассматриваемую прямую задачу, представленную таблицей:
После ее заполнения получился следующий начальный (с которого начинал мастер) вариант:
Мы же, не имея возможности позаимствовать у мастера начальную таблицу, заполняли эту таблицы посредством описанных в одной из предыдущих статей шагов. Нужно очень внимательно пройтись по этим шагам и довести их понимание до степени простоты:
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 г. Ваш Протасов Н.Г.