Компьютерра - Компьютерра PDA 20.02.2010-26.02.2010
2 ноября 2004 года головоломка впервые появилась на страницах культовой британской газеты "Таймс". А уж то, что появилось на страницах Таймс – становится известным всей Европе, а затем и всему миру. Головоломка судоку начала свое победное шествие по планете. Однако, ее истинный изобретатель не дожил до этого момента – он умер в ноябре 1989 года.
Моя жена, жившая в США как раз в этот период, рассказывала, что за короткое время судоку заполонили буквально всю Америку: их можно было увидеть в самолетах, автобусах, в офисах и в обычных домах. Судоку из New York Times вырезались, ксерокопировались, рассылались по почте (обычной, а не электронной). Ей самой знакомые неоднократно присылали ксероксы задачек из очередного номера. Америку охватила настоящая эпидемия судоку.
Магические предки
Иногда судоку по старой памяти (и не совсем правильно) называют "магическим квадратом". Однако, на это есть веские причины. Дело в том, что сам принцип заполнения квадрата числами по указанному правилу известен еще с глубокой древности. В общем математическом смысле это квадрат n на n клеток, заполненных числами (любыми, а не только от 1 до 9) таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях является одинаковой.
Головоломки, подобные судоку начали появляться в прессе еще в 19-ом веке. Например, в 1892 году во французской газете Le Sie`cle публиковались головоломки, основанные на магическом квадрате, которые в строгом смысле судоку не являлись.
В судоку реализован т. н. нормальный магический квадрат – он заполнен целыми числами от 1 до n2. Причем, в судоку введено еще одно правило – цифры не должны повторяться во внутренних квадратах со стороной 3 клетки. Совпадение сумм по главным диагоналям в судоку не проверяется.
Сумма чисел в каждой строке, столбце и на диагоналях нормального магического квадрата, называется магической константой. Магическая константа нормального магического квадрата зависит только от n. Например, для квадрата со стороной 3 клетки она равна 15.
Многие почитатели головоломки судоку искренне считают ее восточным изобретением. В чем-то они правы. Первый известный нормальный магический квадрат третьего порядка, созданный человечеством, датируется 2200 г. до н.э. Он был изображен на панцире черепахи в Древнем Китае. В 13 веке китайский ученый Ян Хуэй и его последователи плотно занимались проблемой методов построения магических квадратов.
Самым ранним появлением магического квадрата в европейском искусстве считается квадрат 4 на 4, изображённый на гравюре Альбрехта Дюрера "Меланхолия". Ссылки на эту гравюру до наших дней путешествуют по страницам приключенческих таинственных романов. Вообще, с самых древних времен магическим квадратам приписываются мистические свойства (о чем красноречиво говорит их название). Известны, например, т.н. дьявольские магические квадраты. В таких квадратах с магической константой совпадают также суммы чисел по ломаным диагоналям (диагонали, которые образуются при сворачивании квадрата в тор) в обоих направлениях. Самый ранний дьявольский квадрат четвертого порядка обнаружен в надписи XI века в индийском городе Кхаджурахо.
Проблема составления магических квадратов такая же древняя, как и сами эти квадраты. Математики разных эпох бились над этой задачей, но в общем математическом смысле она так и осталась неразрешенной: общий метод построения всех магических квадратов неизвестен.
Сложное в простом
Многие сравнивают судоку с шахматами. На это есть много причин. Магические квадраты, прародители судоку, как и шахматы появились в глубокой древности. За кажущейся простотой правил (у судоку они даже гораздо проще чем у шахмат) скрывается огромное число комбинаций. Например, количество возможных комбинаций в судоку 9x9 составляет 6 670 903 752 021 072 936 960. Кстати, это всего 0.00012% от общего числа латинских квадратов со стороной 9 клеток. Правда, справедливости ради, стоит заметить, что число по-настоящему уникальных комбинаций (без поворотов и зеркальных отражений) составляет 5 472 730 538. Это число выглядит скромнее, однако и оно производит впечатление.
Обе игры с самых древних времен имели особый сакральный смысл. В общем, судоку – игра одного уровня с шахматами. Причем, если для последних требуется реквизит – доска и шахматные фигурки, то в судоку можно играть вооружившись деревянной палочкой и рисуя квадраты и цифры на песке.
Связь магических квадратов и шахмат более чем наглядно показал Леонард Эйлер. В 18-ом веке он попытался получить полный магический квадрат непрерывным обходом этого квадрата ходом коня (узнаете распространенную шахматную задачу?). В итоге окончательно сделать это ему не удалось: в главных диагоналях суммы чисел отличались от магической константы. Более мягкий вариант магического квадрата (совпадение сумм по диагоналям не обязательно) Эйлер назвал "латинским квадратом" (при решении этой задачи он пользовался латинскими буквами вместо чисел). Судоку, собственно, и является таким латинским квадратом. Существует понятие "обобщенного" судоку на поле произвольного размера N2 на N2, разделенного на меньшие квадраты со стороной N клеток. Всего на таком поле N4 клеток, в некоторых из которых уже стоят числа от 1 до N2. В итоге задача по заполнению такого поля числами – и есть задача по решению судоку в более общем виде.
Зоопарк
Любая популярная игра или головоломка рано или поздно обрастает целым зоопарком вариаций, клонов и модификаций. Так, например, было и с кубиком-рубика, и с тетрисом. Не избежало такой участи и судоку. Классическим считается вариант 9 на 9 клеток. Существуют варианты квадратов со сторонами 16 и даже 25 клеток (такие можно найти, например, на сайте http://www.sudokur.com). Эти гиганты предназначены для опытных игроков и требуют для своего разгадывания воистину титанических усилий.
Варьируются не только размеры квадратов, но и сами правила головоломки. Например, существуют судоку, в которых все поле изначально пустое: в нем нет цифр, проставленных автором, однако есть другая информация. Все поле разбивается на прямоугольники различных формы и размера, причем у каждого прямоугольника указывается сумма входящих в него цифр.
Есть даже специальные детские судоку, состоящие всего из четырех клеток. Существуют судоку, основанные не на латинских квадратах Эйлера, а на более общих магических квадратах. В таких головоломках общий квадрат не делится на маленькие квадратики, но введено дополнительное условие: требуется, чтобы в каждой строке, в каждом столбце и на двух максимальных диагоналях каждая цифра встречалась только один раз.
В детстве у меня была головоломка, основанная на кубике-рубика, но с гранями треугольной формы. Не избежало "треугольности" и судоку. Есть варианты, где необходимо заполнить треугольные клетки цифрами от 1 до 9. Всего треугольников шесть, они соприкасаются друг с другом двумя ячейками каждый и вместе образуют что-то вроде цветка. Необходимо, чтобы в каждом из шести больших треугольников и каждой линии по всем трем направлениям все цифры были разными.
Любители изобретают на основе судоку множество задач с дополнительными условиями.
Культурное явление
Учитывая популярность судоку, нет ничего удивительного в том, что по всему миру существуют многочисленные клубы и сообщества любителей этой игры. Первый мировой чемпионат по судоку был проведен в Италии в марте 2006 года. Второй – в марте 2007 года, в Праге. С 2006 года под эгидой клуба "Диоген" (это не тот, в котором все молчат, а тот, в котором разгадывают головоломки) проводится чемпионат по судоку в России.
На странице http://www.play-sudoku.de проводится бесконечное интернациональное состязание среди поклонников судоку. Сайт представлен на нескольких языках, в том числе и на русском. За каждую разгаданную головоломку зарегистрированному пользователю начисляются очки. Алгоритм расчета очков прост как и правила головоломки. Количество разгаданных клеток отнимается от общего количества клеток, затем умножается на коэффициент сложности головоломки (от 1 до 3). Затем вычитаются баллы за подсказки (3, 6 или 9 баллов в зависимости от сложности). Отрицательные значения гуманно обнуляются. Вместо того, чтобы просто с карандашиком разгадывать головоломки на бумажке или задумчиво тыкать стилусом в экран КПК, подбирая числа, каждый может потешить свое самолюбие и сразиться с любителями судоку по всему миру. Кстати, очки суммируются не только в мировом масштабе, но и по странам, регионами и городам. Применение различных автоматических решателей запрещено кодексом сайта и игровое сообщество сайта зорко следит за тем, чтобы все было по-честному.
Написание программы для автоматической генерации задач судоку любой сложности доступно любому программисту: алгоритмы известны, правила просты и незамысловаты, для отображения достаточно даже текстового интерфейса. Поэтому, в сети существует несметное множество онлайновых и оффлайновых генераторов квадратов: каждый может выбрать на свой вкус. Большинство программ не только генерируют задачи, но и предоставляют удобный интерфейс для их решения. Практически все судоку, публикуемые в прессе, составленные с помощью таких программ. Существуют версии судоку для игровых приставок, для сотовых телефонов. Выпускаются даже дешевые электронные игры судоку с черно-белым жидкокристаллическим экранчиком. Я однажды купил такую для жены, чтобы она не скучала в своих долгих путешествиях. Причем, купил я эту игрушку в знакомом нам киоске типа "Союзпечать".