Ну вот, дошла очередь и до самого сложного способа освоения задач судоку. До сих пор мы, хотя и моделировали решение задач, но обходились лишь явлениями, которые проявлялись в поведении таблиц судоку в процессе решения поставленных на этих таблицах задач. А диалектический принцип говорит о том, что за явлением должна обязательно стоять и сущность, обусловливающая наблюдаемое явление. Раскрытие сущности есть типичная научная задача, а если мы желаем посмотреть хотя бы в первом приближении на то, как решаются научные задачи, то не помешает нам это проследить на примере таблиц судоку. Правда, для этого потребуется достаточно развитое воображение в смысле умения проделывать довольно сложные операции в уме, но об этом мы уже говорили в предыдущей статье, вы себя в этом плане, надеюсь, уже поднакачали, так что пойдем вперед...
Однажды я задался вопросом: как можно расположить цифры в таблице судоку, чтобы они не повторялись в одном столбце или в одной строке. После нескольких проб получил такую таблицу:
Обратите сначала внимание на три верхних блока. Средняя строка с цифрами 4, 5 и 6 переходит вниз, затем перепрыгивает вверх, а прочие строки как бы следуют за ней. Мне это напомнило вращение барабана, на котором размещены эти три строки. Вернее, три последовательно расположенных барабана. Первый барабан неподвижен. Второй повернули относительно первого барабана против часовой стрелки на один щелчок. Третий тоже повернули против часовой стрелки но уже на два щелчка. Можно было бы, сразу оговорюсь, подобным образом поворачивать барабаны и по часовой стрелке. Нижняя строка при повороте барабана против часовой стрелки исчезает из виду, но в нашем "хитром" барабане она сразу перескакивает из теневой стороны в верхнюю строчку.
Для начала требуется изрядное усилие, чтобы эти вращения четко представлять в уме. Затем переходим к вращению столбцов. Здесь все аналогично, потому что если повернуть таблицу на 90 градусов, то столбцы станут строками. Тем не менее, требуется еще более значительные усилие и время, чтобы представить вращение барабанов в строках и в столбцах. Я, например, отрабатывал это умозрительное видение вращения барабанов около двух дней, после чего понял, что механизм вращения барабанов и есть сущность поведения таблиц судоку. Поведение таблицы представлялось перед нами как явление, смысла которого мы не знали, а теперь мы выявили сущность этого поведения, как механизм вращения барабанов. Когда я это понял, то у меня возникло впечатление, что теперь я смогу "раздраконивать" или щелкать задачи судоку как семечки. Но... любая теория требует ее практической проверки.
Я решил посмотреть, как выглядит таблица судуку после ее заполнения в конкретной задаче, и увидел такую, вот, картину, которую я, правда, упростил, чтобы легче было ее понять:
У наших барабанов оказалось более "хитрое" против первоначально предполагаемого вращение. Часть средней строки в верхних блоках с цифрами 5 и 6 вращаются по часовой стрелке, а синяя четверка – против часовой стрелки. Прочие строки как бы следуют вместе со средней строкой, но в двух разных направлениях: три пары 1 и 3, 5 и 6, 7 и 8 двигаются по часовой стрелке, а остальная тройка 2, 4 и 9, выделенная синим цветом, двигается в противоположном направлении. Со столбцами происходит аналогично.
Снова потребовались изрядные усилия и время, чтобы более-менее четко представлять вращение этого усложненного механизма барабанов в уме. Но неупрощенная заполненная таблица судоку выглядит еще сложнее. Например, так:
Три пары в строках верхних блоков 6 и 9, 3 и 7, 5 и 8 двигаются против часовой стрелки, а тройка 4, 2 и 1 – по часовой. При этом при переходе к следующему барабану все эти цифры перемешиваются в произвольном порядке, а в остальном, кроме перемешивания, механизм вращения барабанов и перемещения цифр остается прежним.
Снова потребовались усилия и время чтобы уяснить этом вновь усложненный механизм, в том числе применительно к вращению не только строк, но и столбцов. Далее я понял, что "перемешивание" цифр все же не совсем произвольное. При переходе от барабана первого блока ко второму, в этом блоке устанавливается новое расположение столбцов, отличное от расположения столбцов в первом блоке, причем это новое расположение столбцов в определенной мере сохраняется (через порядок вращения) и для блоков 5 и 8 – нижних по отношению к блоку 2. Кроме того, надо иметь ввиду, что последовательно передвигающиеся цифры могут находиться в разных рядах, как, например, упомянутая тройка 4, 2 и 1. Ну а чтобы представить аналогичное "перемешивание" не в строках, а в столбцах, достаточно повернуть таблицу на 90 градусов и сделать столбцы строками.
Ну вот, на этом и закончилось уточнение механизма вращения барабанов. Чтобы представить все это и прокручивать ситуации вращения в уме, требуется изрядная тренировка, которую я уже в принципе описал в предыдущей статье. Но после достижения успеха в этой части, видение таблиц судоку становится более осмысленным и часть задач, где требовалось ранее применить простой подбор цифр, могут быть решены на основе представления вращения барабанов.
Всегда ли имеют место столь сложные варианты вращений в задачах судоку? Нет, не всегда. Некоторые составители судоку как раз на этом и подлавливают. Ожидаешь, что вращение будет асинхронным, а оказывается, что все цифры вращаются синхронно и решение задачи, основанное на предположении об асинхронном вращении, оказывается неверным.
Задач судоку, где специально создаются проблемы с разгадыванием вращений, относительно не много, а вариантов разгадывания вращений в таких задачах довольно много, так что я предлагаю вам самостоятельно поискать такие задачи. Вернее, они сами встретятся, когда вы будете решать задачи судоку. В любом случае, потренируйтесь в осмыслении и прокручивании в уме вращений, тогда логика задач судоку вам станет более ясной, а мы сможем с вами перейти к следующей статье, где будет разбираться специальный вариант сверхсложного судоку.