В.Н.ДУБРОВСКИЙ А.Т.КАЛИНИН

Математические головоломки

НАРОДНЫЙ УНИВЕРСИТЕТ

естественнонаучный факультет

Издается с 1961г.

В.Н.ДУБРОВСКИЙ А.Т.КАЛИНИН

Mатематические головоломки

Выпуск 1

ДО И ПОСЛЕ КУБИКА РУБИКА

Издательство „Знание“ Москва 1990 г.

ББК 22.1. Д 79

ДУБРОВСКИЙ Владимир Натанович — кандидат физико-математических наук, член редколлегии журнала «Квант», преподаватель специализированного учебно-научного центра МГУ, автор научно-популярных книг по математике и многих статей в журнале «Квант».

КАЛИНИН Анатолий Тимофеевич — инженер, изобретатель головоломок, автор статей о головоломках в журналах «Наука и жизнь», «Квант», «Семья и школа» и др.

Редактор: Н. ФЕОКТИСТОВА

Дубровский В. Н., Калинин А. Т.

Д 79 МАТЕМАТИЧЕСКИЕ ГОЛОВОЛОМКИ. Вып. 1.— М.: Знание, 1990.— 144 с. + 8вкл. — (Нар. ун-т. Естественнонаучный фак.).

ISBN 5-07-000097-7

50 к. 100 000 экз.

Головоломки относятся к познавательным играм. Занятия с ними учат логически мыслить, развивают пространственное воображение, тренируют память. Они счастливо соединяют в себе умственный труд и игру, учение и развлечение. Центральный вопрос, который рассматривается в книге: «Как научиться решать головоломки?» Показана связь логических игр, таких, как кубик Рубика, с областями серьезной математики — комбинаторикой и алгеброй.

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

ББК 22.1

ISBN 5-07-000097-7

© Издательство «Знание», 1990 г.

ПРЕДИСЛОВИЕ

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

Традиционно головоломки относятся к занимательной математике не только потому, что в основе почти любой головоломки лежит некий математический замысел — такие головоломки и называются математическими,— но также и потому, что решение головоломки по своему духу очень близко к решению математических проблем. Знаменитейшая головоломка нашего времени — кубик Рубика — начала свое победное шествие по свету с 1978 года, когда с ней впервые ознакомились математики на Международном математическом конгрессе в Хельсинки. Лишь несколько кубиков увезли математики с конгресса, но это стало начальным толчком лавинного распространения игрушки по всему миру.

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

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

М. М. ПОСТНИКОВ, профессор, доктор физико-математических наук, лауреат Ленинской премии

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

А. Эйнштейн

О ЧЕМ ЭТА КНИГА

Из всех известных нам книг наиболее длинное название имеет книга, в которой, как и в нашей, рассказывается о головоломках. Это название вы прочтете в самом начале второй главы, оно состоит из 53 слов. В названии нашей книги только два слова, да и то первое из них, пожалуй, можно было бы убрать. Ведь любая головоломка в некотором смысле математическая, ибо для ее решения нужны такие качества, как умение мыслить абстрактно и логично, перебирать и держать в памяти большое число вариантов, пространственное воображение и просто богатая фантазия, т. е. все то, что принято считать математическими способностями. И все же слово «математические» попало на обложку не случайно. Ломая голову над игрушками, которые мы отобрали для этой книги, вы осознанно или нет решаете самые настоящие математические задачи. Причем не из той школьной математики, которая у многих вызывает, увы, не очень приятные чувства, а из раздела алгебры, изучающего так называемые группы перестановок. Впрочем, само понятие «группа» нам не потребуется: если рассказы о головоломках пробудят в вас желание более глубоко и систематически познакомиться с теорией групп, чему мы будем только рады, рекомендуем обратиться к книге П. С. Александрова «Введение в теорию групп» (М.: Наука, 1980).

Многообразие математических головоломок удивительно: только в коллекции одного из авторов их без малого тысяча. Даже кратко рассказать обо всех в одной книге невозможно. Мы взяли только один тип головоломок — перестановочные, или комбинаторные. Наиболее известны из них игра «15» и кубик Рубика, которые наверняка найдутся почти в любом доме, где есть дети. Широко распространены и такие их собратья, как «волшебные кольца», «варикон», «волшебная пирамидка». Что же их объединяет?

Главное в них — набор подвижных элементов одинаковой формы и размеров, которые могут занимать строго определенные места на головоломке и переводиться с места на место по строго определенным правилам. Подвижными элементами могут быть разноцветные шарики, кубики с картинками, фишки с буквами или цифрами, пирамидки и т. д. «Места» (гнезда, ячейки, лунки) для элементов задаются устройством головоломки — это может быть всего лишь расчерченный лист бумаги или коробочка, а может быть хитроумный шарнирный механизм. Конструкция механизма позволяет поворачивать или сдвигать некоторые группы элементов, каждое такое передвижение будем называть ходом. Ходы могут описываться и просто словесными правилами. Наконец, выделено некое стандартное правильное расположение элементов. Обычно вы приобретаете головоломку в «собранном», правильном виде. Несколькими ходами элементы перепутываются — и перед вами встает проблема: вернуться к правильному расположению. Это и есть основная задача перестановочных головоломок.

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

В некоторых головоломках (скажем, в игре «15») легко определить, куда какой элемент нужно ставить. А главный вопрос: как это сделать? В других надо еще догадаться, куда ставить элементы, чтобы получилось правильное расположение (пример — минус-кубики). А есть головоломки, пока немногочисленные, в которых сначала надо определить сорта элементов (поляроид). Короче говоря, уже одни перестановочные головоломки столь разнообразны, что книгу пришлось разбить на два выпуска. В первый вошли преимущественно те голово-

ломки, элементы которых, как в игре «15», могут располагаться в каждом гнезде одним-единственным способом, так сказать, чисто перестановочные. Во второй — головоломки типа кубика Рубика. Их элементы можно поворачивать на месте, так что правильное расположение определяется не только расстановкой элементов, но и их ориентацией в каждой ячейке.

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

Для тех, кто хочет узнать, как решить неподдающуюся головоломку, в большинстве случаев приводятся краткие указания, а для головоломок, которые нетрудно приобрести или смастерить,— более подробные алгоритмы решения. Здесь вам могут встретиться незнакомые обозначения и термины, чаще всего коммутатор, транспозиция, цикл, сопряжение, четность перестановки. Как правило, их смысл можно понять из контекста и рисунков, но все же мы бы посоветовали изучить разделы «Три ключа к перестановочным головоломкам» и «Знаменитая головоломка Сэма Лойда», где объясняются эти термины. Все математические термины и обозначения тоже перечислены в специальном указателе.

За рубежом издана масса книг о перестановочных головоломках. Однако авторы этих книг обычно ограничиваются конкретными рецептами решения конкретных головоломок. Пожалуй, наиболее близка к нашей книга болгарского математика Д. Вакарелова «Игра и математика». Нам кажется, что полностью раскрыть секрет головоломки — все равно, что сообщить заядлому болельщику счет футбольной игры перед ее показом по телевидению. И главным для нас было рассказать не о том, как решить ту или иную головоломку, а о том, как решать перестановочные головоломки вообще. Этой цели посвящены многие разделы первых двух глав, в особенности упомянутый раздел о «трех ключах», эта цель определяла

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

Есть еще одна категория читателей, на которую мы рассчитываем. Это те, кто преподает и изучает математику в основном на уровне специализированных математических школ и классов. Головоломки дают разнообразный материал для упражнений на перестановки (в книге есть раздел, так и озаглавленный «Перестановки», посвященный элементарному введению в эту область алгебры). Есть такие упражнения и среди включенных нами в текст задач. Другие задачи посвящены комбинаторике головоломок, более полному их изучению. Решения задач, отмеченных звездочкой, нам не известны, хотя это и не значит, что эти задачи наиболее трудны. Такие задачи преподаватель может предложить ученикам в качестве тем для небольших самостоятельных исследований.

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

Глава 1. КАРТИНКИ НА КУБИКАХ

Детские кубики с картинками есть в каждой семье. Пожалуй, сейчас это самая популярная развивающая игра для малышей. Но придумана она, видимо, не так уж давно. Во всяком случае, ни археологи, ни знатоки средневековых трактатов пока не отыскали ничего на нее похожего. Сохранился комплект кубиков с картинками, выпущенный в Германии около 1850 года. Получается, что кубики только на несколько десятков лет старше игры «15» Сэма Лойда. Тем не менее с тех пор придумано столько игр, задач и головоломок с кубиками, что о них одних можно написать толстую книгу. Осталось ли в любимых всеми кубиках что-либо такое, что и сегодня способно увлечь своей необычностью, неизвестностью, трудностью разгадки? Оказывается, да! Мы начинаем рассказ о новых играх-головоломках с кубиками. По его ходу читатель познакомится с некоторыми математическими понятиями, помогающими решать самые разные головоломки, как вошедшие, так и не вошедшие в эту книгу.

ИГРА ПЕРВАЯ — ПЕРЕСТАНОВКИ РЯДОВ

Сложим на кубиках правильную картинку. Затем перепутаем ряды: возьмем любой ряд — горизонтальный или вертикальный — и переставим его на край (рис. 1,а), a потом снова сдвинем ряды вместе. Повторим это несколько раз, и когда первоначальная картинка как следует перемешается, поставим себе обратную задачу: восстановить картинку на верхних гранях кубиков, переставляя ряды указанным способом.

* * *

Задача эта совсем простая. Для шести кубиков (набор 3X2) с ней легко справляются и 4-летние малыши. Правда, с большими наборами будет небезынтересно повозиться и нашим более солидным читателям. Вы потратите меньше времени, если сначала сами исследуете игру с пе-

Рис. 1. а — перестановка ряда; б — нумерация кубиков

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

Поиск решения

Для определенности договоримся, что кубиков у нас будет 12 и уложены они прямоугольником 4X3 — с 4 вертикальными рядами (колонками) и 3 горизонтальными (шеренгами). Обозначим колонки буквами а, b, с, d, шеренги — цифрами 1, 2, 3 (рис. 1,б), тогда каждый кубик получит «имя» из буквы и цифры, как в шахматах: а1, а2, b3 и т. д. Расположение номеров, показанное на рис. 1,6, будет для нас «правильной» картинкой.

Перепутаем ряды (рис. 2,а) и начнем решать нашу головоломку. Попытаемся сначала ставить кубики на места по очереди — а3 (левый верхний), b3 и т. д. Кубик а3 поставить легко — надо переставить колонку с этим кубиком налево, а затем содержащую его шеренгу наверх (рис. 2,б). При этом кубик b3 сам собой оказался в нужной шеренге — верхней (повезло?). Возьмем его колонку... стоп! Ее надо вставить между двумя крайними слева колонками, а это правилами игры не разрешается. В со-

Рис. 2. Пример решения головоломки «перестановки рядов»: а — исходное положение; б — так действовать не надо; в, г — работа алгоритма; д — правильное положение

всем простой игре обнаружилась закавыка. Впрочем, найти выход не так уж трудно: надо позаботиться, чтобы рядом с каждым новым поставленным на место кубиком все время оставалось свободное пространство для его соседей. А это значит, что кубик а3 надо поместить не в левый верхний, а в противоположный — правый нижний угол. Тогда справа от него останется место для кубика b3, а снизу — для кубика а2, справа от кубика b3 — место для кубика с3 и т. д. В таком порядке и будем переставлять ряды (см. рис. 2,б, г, д). Довольно скоро мы обнаружим, что кубики b3, с3 и d3 почему-то оказались в одной шеренге с а3, а а2 и а1 — в одной колонке с ним. Более того, когда все эти кубики (т. е. все кубики первой шеренги и первой колонки) будут расставлены по местам, остальные кубики займут свои места автоматически. Это легко объясняется следующим очевидным свойством нашей игры, которое, пользуясь терминологией физики, можно назвать законом сохранения рядов: при перестановках рядов, разрешенных правилами игры, шеренги и колонки сохраняются, т. е. кубики, составлявшие первоначально, скажем, одну колонку, на всем протяжении игры будут оставаться в одной колонке, хотя внутри нее они могут перемещаться, да и сама колонка может уйти на другое место. Аналогичные «законы сохранения» выполняются в большинстве перестановочных головоломок.

Алгоритм

Теперь правило решения головоломки «перестановки рядов» можно коротко записать так: поставьте на свои места все колонки, а затем все шеренги.

Но является ли такое правило алгоритмом в строгом понимании этого слова? Поставим этот вопрос иначе. Пусть нам нужно научить играть в перестановки рядов робота. Сумеет ли он воспользоваться нашим кратким правилом? Ответ, конечно, зависит от того, что он умеет делать, какие предписания способен исполнять. Совершенно ясно, что он должен уметь: 1) находить кубик с указанным номером, 2) переставлять указанную ему колонку или шеренгу на заданный край поля, соответственно левый или правый, верхний или нижний. Требовать от него большего в нашей ситуации значило бы, пожалуй, чересчур его очеловечивать. Но такой робот просто не поймет наше правило, и даже если бы и понял, что это правило рекомендует делать, все равно не понял бы как. Для робота нужна инструкция вроде следующей:

1) найди кубик а3 и переставь его колонку направо;

2) сделай поочередно с кубиками b3, с3 и d3 то же, что с кубиком а3 в п. 1;

3) найди кубик а3 и переставь его шеренгу вниз;

4) сделай поочередно с кубиками а2 и а1 то же, что с кубиком а3 в п. 3.

Это уже алгоритм, т. е. список последовательных заданий, понятных предполагаемому «исполнителю» и не выходящих за рамки его возможностей, который позволяет решить поставленную задачу. (Кстати, старшеклассникам, изучающим основы информатики, было бы полезно записать его на школьном алгоритмическом языке.) Строго говоря, и этот алгоритм нуждается в дополнении. Например, надо предусмотреть случай, когда кубик а3 сразу окажется в крайней справа колонке,— тогда переставлять ее не нужно. Однако вдаваться в такие мелкие детали мы здесь не намерены, так же как не намерены в дальнейшем для всех головоломок выписывать подробные и, как правило, длинные и скучноватые «машинные алгоритмы». Эту работу читатель при желании может выполнить сам. Мы же постараемся в этом ему помочь, рассказывая идеи алгоритмов и более общие идеи того, как алгоритмы придумывать. Однако понимание требова-

нии, предъявляемых к истинному алгоритму, становится все более необходимым, особенно сейчас, в эпоху «компьютерного ликбеза». (Авторам довелось убедиться, что пока еще это понимание не стало всеобщим, читая отклики на некоторые публикации о кубике Рубика и даже, как это ни печально, некоторые из этих публикаций.) На примере перестановок рядов нам хотелось особо выделить два условия, которым должен удовлетворять алгоритм,— четкость и полноту.

Общая задача

Вернемся к нашей игре. До сих пор мы считали, что «перепутанная» картинка получалась из правильной перестановками рядов. А если совсем рассыпать кубики и потом произвольно составить их вместе? Удастся ли тогда перестановками рядов вернуть правильную картинку? Ясно, что далеко не всегда: в силу «закона сохранения рядов» для этого необходимо, чтобы в перепутанной картинке шеренги и колонки состояли из тех же кубиков, что и в правильной (допустима, например, шеренга Ы, cl, а1, dl, но не Ы, с2, dl, b3). Оказывается, это условие является и достаточным. Если оно выполнено, то, применяя наш алгоритм, мы всегда сможем выстроить в верхней шеренге по порядку кубики а3, b3, с3, d3, а в левой колонке — а3, а2, al. Тогда любой другой кубик попадет на пересечение тех же рядов, что и в правильной расстановке, т. е. на свое место.

Еще более общая задача — когда и как можно одну из двух заданных произвольных расстановок кубиков превратить в другую перестановками рядов?

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

расстановку А можно превратить в расстановку В тогда и только тогда, когда состав шеренг и колонок в этих

Рис. 3. Общая задача для перестановок рядов: перенумерация

расстановках одинаков; чтобы осуществить это превращение, надо в расстановке А последовательно переставлять направо колонки, занимающие в расстановке В 1, 2, 3 и 4-е места, считая слева, а затем аналогично переставить шеренги.

В частности, на рис. 3 расстановка А не может превратиться в Ö, так как, например, в расстановке А кубик а1 стоит в одной колонке с с2 и cl (номера старые), а в расстановке В — в одной колонке с а2 и Ы.

Число расстановок и число орбит

Если расстановку А можно перевести в В, будем говорить, что А связана с В; тогда и В связана с Л, поскольку состав шеренг и колонок у этих двух расстановок одинаков. Множество всех расстановок, связанных с Л, называется орбитой расстановки А. Легко понять, что орбиты любых двух расстановок А и В либо совпадают (если А и В связаны), либо вообще не пересекаются (если А и В не связаны). Меняя номера кубиков, как мы делали это выше, можно любую орбиту превратить в орбиту правильной расстановки, поэтому число расстановок во всех орбитах одинаково. Это число показывает, сколько разных комбинаций в принципе может встретиться в нашей игре; мы будем называть его длиной орбиты. В какой-то мере длина орбиты может служить «показателем занимательности» головоломки, кроме того, через длину орбиты можно оценивать (правда, очень грубо) число ходов в решении головоломки. Поэтому редко какой рассказ о перестановочной головоломке обходится без ука-

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

Любую расстановку, связанную с данной расстановкой Л, можно получить из Л, произвольно переставив шеренги и колонки. Сколькими способами это можно сделать? Имеются 6 разных способов записать номера шеренг по порядку: 123, 213, 132, 231, 312, 321. Легко проверить, что других способов нет. Поэтому существуют 6 способов переставить шеренги. Если у вас хватит терпения, выпишите все перестановки четырех цифр 1, 2, 3, 4 — их должно получиться 24, значит, 4 колонки можно переставить 24 разными способами (мы обозначаем колонки буквами, а не цифрами, но это, разумеется, дела не меняет). Итак, на каждую из 6 перестановок шеренг приходится 24 перестановки колонок, а общее число перестановок рядов, т. е. искомая длина орбиты, равно 6X24=144.

А как найти число перестановок, не выписывая их? Рассмотрим снова числа 1, 2, 3, 4. Первые три из них, как мы уже знаем, можно переставить 6 способами. Теперь к ним надо присоединить цифру 4; для нее имеются 4 места, так как из каждой перестановки цифр 1, 2, 3 можно получить 4 перестановки цифр 1, 2, 3, 4 (например, из 231 получаются 4231, 2431, 2341, 2314); итого 6X4 = 24 перестановки. Точно так же можно найти, что число перестановок цифр 1, 2, 3, 4, 5 (и вообще любых пяти различных чисел, букв, разноцветных шариков — чего угодно) равно 24X5=120. Если обозначить через Рп число перестановок п различных элементов (скажем, тех же чисел 1, 2, /г), то для числа Рп + \ получается формула Рп + \ = (я+ 1)-Prt. Очевидно, Рр=1, поэтому последующие значения Рп равны:

Р2= 1*2 = 2 (перестановки 12 и 21), P3 = /V3=l-2«3 = 6 (эти перестановки мы выписывали),

Произведение 1«2-3«...-/г обозначается п\ (читается «эн факториал»). Итак, число Рп перестановок п различных элементов, т. е. число

способов расставить эти элементы по п местам, равно п\ Теперь ясно, что длина орбиты в игре перестановки рядов в общем случае (для набора кубиков пХт) равна п\т\.

Еще одна важная характеристика перестановочных головоломок — число орбит; подробнее мы поговорим о нем в связи с другими головоломками, а пока —

Задача 1. Найдите число орбит для игры «перестановки рядов» пхт.

Длина алгоритма

Для одной и той же головоломки можно придумать разные алгоритмы. Какой из них лучше? Однозначного ответа на этот вопрос не дашь — слишком разным, порой противоречащим друг другу требованиям должен удовлетворять «хороший алгоритм». Но, пожалуй, самым объективным критерием оценки является количество ходов, необходимых для решения головоломки: чем оно меньше, тем алгоритм лучше. В нашем случае это число N (А) перестановок рядов, которые надо сделать, следуя алгоритму, чтобы перевести данную расстановку кубиков А в правильную. Конечно, это число зависит от расстановки А. Наибольшее из чисел N (А) будем называть длиной алгоритма. Таким образом, длина алгоритма — это число ходов для упорядочения самой неудобной расстановки (по этому алгоритму!). Легко найти длину нашего алгоритма перестановки рядов. В худшем случае нам придется переставить направо каждую из четырех колонок (по одному разу) и переставить вниз каждую из трех шеренг. Всего получается 4 + 3 = 7 ходов. Это число может уменьшиться на 1, если кубик а3 с самого начала стоит в правой колонке или нижней шеренге, и на 2, если он находится на их пересечении — в правом нижнем углу. Все другие расстановки требуют 7 ходов, т. е. являются «самыми неудобными». Интересно, что и сама правильная расстановка является для этого алгоритма одной из «самых неудобных» — если слепо следовать ему, придется переставить все колонки и все шеренги. Допустим, этот случай мы оговорим отдельно, но как быть с расстановкой на рис. 4 и ей подобными, которые можно упорядочить одним ходом, а по алгоритму — тоже за 7 ходов? Добавлять к алгоритму новые оговорки? С таким же положением мы встретимся

Рис. 4. У всякого алгоритма есть неудобные позиции — здесь наш алгоритм работает неоправданно долго

и при рассмотрении других головоломок: цена, которую приходится платить за экономность описания алгоритма,— неэкономность числа ходов. «Перестановки рядов» в этом смысле еще счастливое исключение — здесь удается найти не только кратчайший алгоритм (с наименьшей длиной), но и алгоритм, идеальный по числу ходов, т. е. с наименьшим число N (А) для каждой расстановки А.

Задача 2. Покажите, что наименьшая длина алгоритма для «перестановки рядов» пХт равна п-\-т — 2. Каково наименьшее возможное число ходов, переводящих данную расстановку А в правильную, и как должен быть устроен идеальный алгоритм?

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

ИГРА ВТОРАЯ — ВРАЩЕНИЯ РЯДОВ

Если в первой игре мы переставляли кубики на новые места, сохраняя их ориентацию, т. е. у каждого кубика все время одна и та же грань была сверху, одна и та же — справа и т. д., то теперь мы введем такие правила, при которых кубики будут не передвигаться, а, оставаясь на своих местах, поворачиваться — менять ориентацию. Один ход будет заключаться в том, что какой-то ряд кубиков — колонка или шеренга — вынимается из набора, поворачивается вокруг своей продольной оси на 90° (в ту или другую сторону) или на 180°, а затем ставится на место (рис. 5). Как и раньше, наша задача — вернуть первоначальную правильную картинку на верхних гранях после того, как она была разрушена несколькими такими поворотами. Попробуйте порешать ее — и вы увидите, что она гораздо интереснее и сложнее задачи о перестановках рядов. По сути дела, это настоящая перестановочная головоломка, вполне выдерживаю-

Рис. 5. Игра «вращение рядов»: пример основной операции

Рис. 6. Обозначения кубиков и вращений рядов

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

Учимся играть

Итак, перед вами на столе комплект из 12 детских кубиков, уложенных прямоугольником 4X3. На верхних гранях — полный хаос, в котором надо разобраться и навести порядок. С чего начать? Какой план действий избрать? Довольно естественно первым делом попробовать вывести наверх все кусочки правильной картинки, а потом «довернуть» их в горизонтальной плоскости так, чтобы правильное изображение восстановилось полностью. Есть и другой путь — о нем мы расскажем в конце этой главы.

Условимся о раскраске кубиков (рис. 6). Пусть у каждого кубика 5 граней красные, а одна белая; на белых гранях написаны номера а1, а2,...— они позволяют следить за тем, как кубики повернуты. По нашему плану первый шаг к правильному положению — сделать все белые грани верхними. Пусть, например, у левого кубика первой шеренги а1 (рис. 7,а) белая грань передняя. Она переводится наверх поворотом этой шеренги на 90°. Но тогда «испортятся» те кубики, у которых белые грани уже наверху. Однако это легко предотвратить: повернем предварительно колонки, в которых стоят эти кубики,

Рис. 7. Поворот лицевой грани кубика а1 наверх

на 90°— их белые грани окажутся сбоку (рис. 7,б), затем уже поворачиваем шеренгу (рис. 7,в) и возвращаем повернутые колонки в исходное положение (рис. 7,г).

Наша цель достигнута — белая грань левого кубика попала наверх. Обратим внимание на побочный эффект, очевидный на рис. 7: кубики, которые поворачивались в колонках Ы и cl, в результате всей операции повернутся на 90° в горизонтальной плоскости, а остальные кубики первой шеренги (у нас это только один, правый кубик) повернутся так же, как и интересующий нас левый кубик; в других шеренгах, как легко понять, изменений не будет. Примерно так же нужно поступать и для других положений белой грани. Ниже мы рассмотрим еще несколько вариантов, но если бы мы и дальше пользовались только словесными описаниями операций и картинками, наша книжка превратилась бы в фолиант, который вообще невозможно читать. К счастью, на этот случай математики давно уже изобрели символы и формулы.

Формулы операций

Как мы условились еще в первой игре с кубиками, колонки обозначаются буквами а, b, с, d, шеренги— цифрами 1, 2, 3. Поворот каждого ряда на 90° в направлении, указанном на рис. 6, будем обозначать той же буквой или цифрой, что и сам ряд, но курсивом: а, b, 1, поворот, обратный к повороту х, т. е. тоже на 90°, но в противоположном направлении,— через х~]. Многократное повторение поворота х обозначается как возведение в степень: хх = х2— поворот ряда х на 180°, XXX —X3— поворот на 270°; очевидно, х3~х~\ а х4 возвращает ряд в исходное положение. Удобно иметь спе-

циальное название и обозначение для «преобразования», которое ничего не меняет. Его называют тождественным преобразованием и обозначают буквой /. Таким образом, х4 = /.

Операция, состоящая из нескольких последовательных поворотов, называется их произведением, или композицией, и обозначается так же, как обычное произведение чисел, например, операция на рис. 7 запишется так: b'С-1 >с~х -Ь~х. Знак умножения можно опускать: bclc~xb~x. «Сомножители» можно, как при умножении чисел, группировать и сокращать: а-Ь-с2»с -Ь~х *а2 = = а-Ь'С >Ь~Х • а2 = a*b *Ь~Х -а2 = аъ = а~х, но (обратите внимание!) перестановка сомножителей здесь, вообще говоря, меняет произведение: например, а*1ф1-а (рис. 8), хотя ab — ba.

Теперь можно выписать операции, переводящие белую грань данного кубика наверх и не портящие другие кубики. Для определенности возьмем кубик b2. Если его белая грань впереди, то нужно выполнить операцию acd2d~xc~xa~x, если внизу — acd22d~xc~xa~x, если сзади— acd2~xd~xc~xa~x, если слева — 13ЬЗ~Х1~Х, а если справа— 13Ь~Х3~Х1~Х. Все эти операции устроены так же, как показанная на рис. 7, но на всякий случай сохраняют верхние грани у всех кубиков, кроме b2. Аналогично можно поднять белые грани у других кубиков.

Итак, первый этап мы прошли. Теперь нужно правильно, повернуть номера на всех кубиках. И для этого ничего существенно нового придумывать не надо. Мы уже отмечали побочный эффект операций первого этапа — они поворачивают в горизонтальной плоскости часть кубиков одной колонки или шеренги. Посмотрев еще раз, как это происходит (см. рис. 7), легко составить операции, которые поворачивали бы все кубики данного ряда. Их примеры приведены на рис. 9. Эти операции либо поворачивают все кубики одного ряда на ±90° (рис. 9,а,б),

Рис. 8. При перестановке сомножителей произведение поворотов может измениться.

Рис. 9. Разворачивание кубиков в горизонтальной плоскости

либо — на 180° (рис. 9,в). Выполнив подряд две операции типа показанных на рис. 9,а,б, мы повернем на 180° несколько кубиков одной шеренги. В частности, можно повернуть только один-единственный кубик, однако это можно сделать короче, всего за 5 ходов: а/а2/_,а — для кубика а1 (рис. 9,г).

Вооружившись этими операциями, приступим к установке номеров в правильное положение. Сначала повернем кубик а1 (вместе с другими кубиками колонки а) с помощью операции 123апЗ~]2~Ч~\ где /1=1, если нужен поворот на 90°, лг = — 1, если на —90°, и /г = 2, если на 180°. Вслед за этим точно так же поворачиваем остальные кубики первой шеренги. Естественно, в формуле операции поворот а нужно будет заменить на 6, с или d для кубиков Ы, cl или dl соответственно. Далее переходим к кубику а2. Чтобы не портить шеренгу 1, будем поворачивать его не «по колонке», а «по шеренге» вместе с b2, с2, d2: abcd2nd-xc-xb-xa~x (л=±1, 2). И таким же образом поворачиваем а3 (в последней операции нужно цифру 2 заменить на 3). Итак, правильно установлены все кубики шеренги 1 и колонки а. И вот здесь наша игра преподносит нам приятный сюрприз: у каждого из остальных шести кубиков номера будут стоять или правильно, или будут повернуты «вверх ногами». Нечто подобное мы наблюдали и в первой игре. В той игре действовал «закон сохранения рядов», здесь тоже действует свой «закон сохранения», но о нем мы расскажем позже. А сейчас мы можем закончить сборку, развернув перевернутые кубики на 180°. Формула соответствующей операции для кубика хп: хпх2п~хх, где х = а,Ьус или d\ /1=1, 2 или 3.

Подытоживая, перечислим еще раз этапы алгоритма решения головоломки «вращения рядов»: 1) поворачивание белых граней кверху (см. рис. 7);

Рис. 10. Пример одновременной установки стрелок на нескольких кубиках

2) повороты кубиков шеренги 1 и колонки а (с использованием операций рисунков 9,а,б,в и им подобных);

3) разворачивание оставшихся кубиков на 180° (см. рис. 9,г).

На каждом из этих этапов каждый кубик «обрабатывается» поодиночке, поэтому алгоритм получается очень длинным по числу ходов. Сократить его нетрудно. Например, на втором этапе можно повернуть кубики одновременно во всей шеренге 1 операцией вида: 123ааХ ХЬ*сЧ*3-12~Ч-\ где a,В,y,o= 1,— 1,2 или 0, если кубик а1,bl,cl или dl нужно повернуть на 90°, —90°, 180° или 0° (по определению, а° = b° = ... = /). Рис. 10, на котором номера заменены стрелками, причем правильному положению номера отвечает стрелка, направленная вверх, иллюстрирует действие такой операции. Но, как правило, выигрывая по числу ходов, т. е. укорачивая алгоритм, мы проигрываем в его сложности — приходится вводить новые основные операции, рассматривать большее число различных случаев и т. д. В основном мы будем отдавать предпочтение более простым по описанию алгоритмам, хотя везде, где возможно, будем из них выбирать более короткие.

Закон сохранения четности квартетов

Выведем теперь тот «закон сохранения», который позволил на последнем шаге нашего алгоритма обойтись только поворотами на 180°. Для этого представим, что на всех гранях кубика нарисованы линии, параллельные его ребрам, причем линии на соседних гранях взаимно перпендикулярны (а на противоположных параллельны, рис. 11,а). Будем следить за линией на

Рис. 11. а — разметка кубика для определения четности его положения; б — квартет кубиков, содержащий один нечетный кубик с3

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

Выделим далее в нашем наборе кубиков любые две шеренги и любые две колонки и рассмотрим 4 кубика, стоящих на пересечениях этих рядов (рис. 11,б). Такую четверку кубиков назовем квартетом. Заметим, что для комплекта 4X3 имеется всего 6X3=18 квартетов.

Будем считать квартет четным, если в нем четное число (0, 2 или 4) нечетных кубиков, т. е. кубиков с горизонтальной полоской на верхней грани, и нечетным в противном случае. На рис. 11,6 — нечетный квартет.

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

Это и есть закон сохранения четности квартетов. Из него, в частности, следует, что если в шеренге 1 и колонке а все кубики стоят правильно и это состояние кубиков связано с исходным, т. е. получено из него вращениями рядов, то номера на остальных кубиках будут повернуты либо правильно, либо «вверх тормашками». Действительно, если бы, скажем, номер кубика с3 был повернут влево или вправо, то квартет а1, а3, с3, cl был бы нечетным (ср. рис. 11,б), но в исходном положении все квартеты четные. Тем самым мы обосновали переход от 2-го к 3-му этапу нашего алгоритма.

Инварианты и орбиты

«Законам сохранения» часто можно придать удобную алгебраическую форму. Продемонстрируем это на примере игры «вращения рядов».

Сопоставим кубику хп число S(xn), равное 1, если положение кубика четно, и —1, если нечетно. Назовем это число знаком кубика хп. В правильном состоянии все знаки равны 1. При повороте ряда все стоящие в нем кубики меняют знак. Нарисованные на гранях линии позволяют увидеть это непосредственно: вертикали («единицы») меняются на горизонтали («минусы») и обратно. При этом произведение знаков кубиков любого квартета, которое мы назовем знаком этого квартета, меняться не будет (в нем могут измениться на противоположные только два сомножителя одновременно).

Величина, не меняющаяся при некотором преобразовании, называется инвариантом (от лат. «неизменный») этого преобразования. Таким образом, знак квартета есть инвариант вращений рядов. Инвариантность знака квартета равносильна закону сохранения четности квартетов, потому что знак четного квартета равен 1, а нечетного — 1.

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

Пусть для определенности все знаки квартетов некоторого расположения равны 1 и требуется превратить его в правильное. Применим алгоритм из предыдущего раздела. Первые два его этапа всегда выполняются беспрепятственно — никакие знаки квартетов здесь роли не играют. Это и понятно, ведь среди кубиков шеренги 1 и колонки а, которые устанавливаются правильно после 2-го этапа, нет квартетов. Теперь знаки остальных 6 кубиков будут равны 1 (кубик хп входит в квартет а1,an, хп, xl, поэтому S(xn) =S(al)-S(an)-S(xl)-S(xn) = 1). Следовательно, линии на них направлены вертикально и правильное положение достигается с помощью операций 3-го этапа.

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

т. е. квартеты вида а1, an, xn, xl, где x = b, с, d; n = 2, 3. Поэтому для связанности двух расположений необходимо и достаточно, чтобы совпадали знаки этих шести квартетов. Это объяснимо, так как через знаки этих квартетов можно выразить знак любого другого квартета. Например, знак квартета Ы, cl, с2, b2 равен произведению знаков квартетов а1, Ы, b2, а2 и а1, cl, с2, а2, поскольку знаки кубиков а1 и а2 входят в это произведение дважды, a S(al )2 = S(a2)2= 1.

Оценка длины алгоритма

Попробуем прикинуть, сколько потребуется ходов, т. е. вращений рядов, для решения головоломки по нашему алгоритму. Чтобы повернуть один кубик белой гранью кверху, нужно не более 7 ходов. Это число рассчитано на самый плохой случай, когда кубик устанавливается поворотом шеренги, а три других кубика этой шеренги уже стоят правильно. На самом деле в начале сборки какие-то верхние грани уже могут оказаться белыми, а если их нет, то первую верхнюю белую грань можно получить просто одним поворотом ряда. Таким образом, на первый кубик надо будет потратить не 7, а не более одного хода. Более тщательный анализ, который могут проделать и читатели, показывает, что во всей первой шеренге белый цвет наверху можно получить не более чем за 6 ходов, если не обращать внимания на две другие шеренги. Для доказательства приходится рассмотреть несколько случаев, но принципиально новых операций придумывать не надо; самый плохой 6-ходовый случай показан на рис. 12. Отсюда уже нетрудно получить, что во второй шеренге белый цвет устанавливается не более чем за 8 ходов (не портя первую), а в третьей — не более чем за 10 ходов (с сохранением белого цвета в двух первых шеренгах). На втором и третьем этапах тоже можно добиться большой экономии: для их выполнения хватает всего 30 ходов. Итак, после усовершенствований наш алгоритм позволяет собрать головоломку не более чем за 54 хода. Здесь мы вынуждены ограничиться этим голословным утверждением, чтобы не утомлять читателя скучным и по большому счету бессмысленным перебором случаев. Но другой алгоритм, приводимый в конце главы, даже в самом примитивном своем варианте укладывается в 66 ходов, а с совсем неболь-

Рис. 12. Экономное проведение первого этапа алгоритма: самый трудный случай

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

Много это или мало? Ответ на этот вопрос зависит от того, каково наименьшее число ходов, достаточное, чтобы «упорядочить» любое расположение кубиков (конечно, связанное с правильным). Это число обозначим через /. Можно определить его и как наименьшее число ходов, достаточное, чтобы из правильного положения получить любое связанное с ним. Действительно, если расположение А можно превратить в расположение В за п ходов (ну, например, операцией 12аЬ~12)ч то, выполняя обратные ходы в обратном порядке (в нашем примере 2~,6а~1/2), мы получим обратную операцию из того же числа ходов, переводящую В в А.

Имеется простой способ оценки числа /, пригодный для всех комбинаторных головоломок. Вот его идея: пусть N(k)—число расположений, которое можно получить из правильного не более чем за k ходов, а N — число всех расположений, связанных с правильным; тогда N(l—\)<Ny N(l)=N (за / ходов можно достичь любого расположения, а за меньшее число ходов нет).

Чтобы оценить N(k) для «вращений рядов», заметим, что первый ход можно сделать 21 способом (любой из 7 рядов можно повернуть на один из трех углов 90°, 180°, 270°), т. е. УУ(1) = 21, после этого второй ход можно сделать 6X3=18 способами (снова вращать ряд, повернутый на первом ходу, нет смысла), каждый из следующих ходов также можно выбрать 18 способами. Таким образом, первые k ходов можно сделать 21 X 18fe— 1 способами, следовательно, число расположений, которые можно получить ровно за k ходов, не превосходит 21X18*-', a W(fe)<S(fe) = 21+2lXl8 + ... + 2lXl8*-1. Надо сразу сказать, что эта оценка очень грубая. Уже

21x 18 = 378 двухходовых операций дают всего 275 разных расположений; такие операции, как ab и bау а212 и 12а , 12 и 21 и т. д., дают одинаковые расположения, хотя в числе 378 учитывается каждая по отдельности. А с ростом числа ходов доля таких совпадений только увеличивается. Тем не менее доведем нашу оценку до конца.

Найдем N — число расположений, связанных с правильным. Прежде всего заметим, что у каждого кубика имеется 6X4 = 24 положения: любую из шести граней можно сделать нижней, а потом любую из четырех боковых — передней; при этом половина положений — четные, половина — нечетные. У нас 12 кубиков, и потому число всевозможных расположений в нашей головоломке равно 2412. Но с правильным связаны те и только те из них, у которых все квартеты, содержащие а1, четные (ем. предыдущий раздел). Чтобы получить все эти расположения, поставим произвольно 6 кубиков шеренги 1 и колонки а (246 способов), тогда четности остальных 6 кубиков определятся четностями квартетов и для каждого из них останется по 12 положений. Итого получаем 246Х 126 = 2886 различных расположений, связанных с правильным. Теперь несложно подсчитать, что S(ll)< <С = 2886< S( 12). Поэтому 11 ходов заведомо недостаточно, чтобы получить все N расположений (/V(11)<C ^S(ll)), т. е. /^12. Утверждать, что /=12 или, наоборот, />12, мы пока не можем, ведь из неравенства S(\2)>N еще не следует ни что N(12)>N, ни что N(\2)=N. Чтобы улучшить оценку числа /, надо учесть, что разные последовательности ходов могут давать одинаковый результат. Дело это хлопотное, но в данном случае несложно привести пример расположения, которое нельзя упорядочить меньше чем за 14 ходов. Этот пример позволяет сразу утверждать, что /^14. Он показан на рис. 13: восемь кубиков стоят белыми гранями кверху, причем в каждом ряду есть хотя бы один «правильный кубик» и хотя бы один «перевернутый» (для простоты номера кубиков, как и на рис. 10, заменены здесь стрелками). Положение остальных четырех кубиков нам безразлично — лишь бы эта расстановка была связана с правильной. Легко понять, что для разворота двух противоположно направленных стрелок одного ряда в одну сторону требуется по меньшей мере два вращения этого ряда (не говоря о вращениях других рядов). Всего ря-

Рис. 13. Для исправления этого расположения кубиков нужно не менее 14 ходов

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

Итак, чтобы добраться из правильного расположения в наиболее «удаленное», но все же достижимое из него расположение, потребуется от 14 до 54 ходов. Доработав алгоритм, приводимый в конце этой главы, верхнюю оценку можно, вероятно, снизить до 45. Все равно разрыв оценок остается значительным и не позволяет сказать что-либо определенное об истинной величине /. И надежды сократить его «вручную» мало. Для сравнения приведем аналогичные числа для кубика Рубика: грубая оценка через число fc-ходовых операций N(k) дает /^18, а кратчайший известный алгоритм, построенный, кстати, с помощью компьютера, имеет длину 52 хода, т. е. дает оценку /<52.

ИГРЫ ТРЕТЬЯ, ЧЕТВЕРТАЯ...

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

Комбики

— так мы назвали игру, в которой к комбинации первых двух игр, т. е. к перестановкам и вращениям рядов, добавляются операции третьего типа — переворачивание рядов. Перевернуть ряд — значит выдвинуть его из комплекта кубиков, повернуть в горизонтальной плоскости на 180° и вдвинуть обратно (рис. 14). Переворачивание ряда x будем обозначать SX:S,, S2, Sa, ... . Одно из расположений кубиков, как обычно, объявляется «правильным», и ставится задача получить это расположение из заданного. Оказывается, трех видов операций — перестановок, вращений и переворачиваний рядов — уже хватает, чтобы решить эту задачу для совершенно произвольного исходного расположения набора 4X3.

Для комплекта кубиков тХп это верно, только если хотя бы одно из чисел тип нечетно. В остальных случаях можно получить только четное число кубиков в нечетном положении (повернуть один кубик на 90° нельзя); если к тому же оба числа тип делятся на 4, то достижимыми становятся не все, а только так называемые четные перестановки кубиков, составляющие половину общего числа (тп)\ всех перестановок (что это за перестановки, рассказывается в следующей главе).

Мы рассмотрим лишь случай 4X3, один из простейших.

Основным звеном алгоритма комбиков являются операции, меняющие местами кубик а1 с любым другим кубиком. Перестановку кубиков а1 и хп будем обозначать al^xn и называть обменом этих кубиков. Обмен al^-^а3 осуществляется непосредственно переворачиванием Sa: al«-*a3~Sa (значок ~ будем ставить между записью результата операции и ее формулой). Также с помощью переворачиваний можно обменять а1 с другими угловыми кубиками (проверьте!): al^d3^S3SaS3; al*->dl ~SdS3X XSaS3Sd. Побочным результатом этих операций являются повороты кубиков в горизонтальной плоскости на 180°: во всех трех случаях — кубика а2, в первом и третьем — еще и переставляемых кубиков а1 и а3 или dl.

Обмен кубика а1 с неугловым кубиком хп производится так: сначала перестановкой рядов переводим хп в один из трех углов а3, d3 или dl так, что а1 остается на месте (проверьте, что это всегда возможно!), затем

Рис. 14. Игра комбики: переворачивание ряда

меняем его с а1 одной из трех приведенных выше операций и, наконец, возвращаем ряды в исходное положение— при этом а1 попадает на место хп.

Теперь можно описать весь алгоритм. Он разбивается на четыре этапа.

1-й этап: расстановка кубиков. Если на месте а1 стоит кубик, который должен попасть на место хп, выполняем обмен al«-*xn — место хп будет занято правильно, а на месте а1 появляется новый кубик. Так продолжаем, пока на а1 не попадет «правильный» кубик. Если при этом еще не все кубики оказались «дома», то любой из неправильно стоящих кубиков отправляем на место а1 и повторяем все сначала. В конце концов мы получим правильную расстановку, но не обязательно правильное расположение — некоторые кубики еще требуется повернуть.

2-й этап: вращения рядов. Пользуясь алгоритмом нашей второй игры, развернем все кубики лицевой стороной кверху (на всех верхних гранях появляются кусочки правильной картинки) и правильно повернем 4 кубика 1-й шеренги. Теперь остаются 8 кубиков 2-й и 3-й шеренг, их надо «довернуть» в горизонтальной плоскости — часть на 180°, часть на ±90°. Сперва займемся последними.

3-й этап: повороты на 90°. Повернем все кубики 1-й шеренги в горизонтальной плоскости на 90°, как в игре «вращения рядов» (см. рис. 9), затем сделаем обмен al^xn (п = 2 или 3, х = а, b, с или d). После этого повернем кубики 1-й шеренги (с хп на месте al) на —90° и снова сделаем обмен al^xn. В результате а1 повернется на 90°, хп — на —90°, а остальные кубики останутся в исходных положениях (рис. 15). Аналогично можно повернуть а1 на —90°, а хп на 90° или оба кубика на 90° в одну сторону. Эти попарные повороты на ±90°— основные операции 3-го этапа. Если на ±90° надо повернуть четное число кубиков 2-й и 3-й шеренг, то, последовательно применяя к ним (и кубику al) попарные

Рис. 15. Игра комбики: одновременный поворот кубиков а1 и хп на 90°

повороты, мы все их установим правильно, при этом кубик а1 будет повернут четное число раз на ±90° и при соответствующем выборе направлений поворота вернется в исходное положение. Если же поворачивать нужно нечетное число кубиков, то предварительно повернем на 90° все кубики колонки а. Тогда во 2-й и 3-й шеренгах попрежнему нужно будет делать нечетное число поворотов на ±90°, но и кубик а1 будет повернут на 90°. Так что, применяя попарные повороты нечетное число раз, мы все эти кубики установим правильно.

4-й этап: повороты на 180°. Теперь остается повернуть еще несколько кубиков в горизонтальной плоскости на 180°. Это делается точно так же, как на 3-м этапе алгоритма «вращений рядов».

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

Задача 3. Исследуйте игру комбики для комплекта кубиков mX«: придумайте алгоритм, опишите достижимые расположения. (Ответ зависит от m и п\)

Эти универсальные кубики...

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

Например, если удалить из комплекта один кубик и

разрешить сдвигать кубики поочередно на образующееся пустое место, мы получим аналог всем известной игры «15». Эта игра, как и перестановки рядов, чисто перестановочная, в ней важны только места, занимаемые кубиками, но не их положения на этих местах. Изменим правила: пусть кубик переводится на свободное место не сдвигом, а перекатыванием через ребро. Теперь уже с каждым ходом будет меняться и расстановка, и ориентация кубиков. Головоломки этого типа называются перевертыши. Еще один чисто перестановочный вариант изображен на рис. 16: снова один из кубиков, например а1, удаляется, а остальные можно переставлять, сдвигая целиком полные ряды (2, 3, b, с и d) так, чтобы образованный их пересечениями прямоугольник 2X3 все время оставался заполненным. Это — одна из решетчатых головоломок. Наконец, приведем еще одну игру, в которой допускаются и перестановки и повороты, но только в горизонтальной плоскости; такие игры мы называем вертушками. Ход в этой игре состоит в том, что один из двух пересекающихся квадратов 3X3, составляющих прямоугольник 3X4, поворачивается на ±90° вокруг своего центра (рис. 17).

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

Рис. 16. Решетчатая головоломка из детских кубиков

Рис. 17. Вертушка из кубиков

Кубики в контейнере

Головоломки из детских кубиков, о которых мы только что рассказали, хороши тем, что их не нужно изготавливать. Но переставляя и поворачивая ряды кубиков, можно их рассыпать, перепутать и нарушить правила игры. Для игры «вращения рядов» изобретатель из города Тюмени Н. К. Замятин придумал специальную конструкцию, позволяющую вращать ряды кубиков1. Но она довольно сложна, поэтому для небольшого числа кубиков мы рекомендуем сделать игрушку, показанную на первом рисунке цветной вклейки. Из толстой полиэтиленовой пленки легко сшить контейнер для восьми кубиков. Ребра кубиков скругляются, а размеры контейнера подбирают такими, чтобы кубики легко поворачивались внутри него. Играют так: двумя пальцами зажимают ряды кубиков через отверстия в стенках и поворачивают кубики на 90°. После нескольких поворотов боковые стенки игрушки становятся разноцветными. Контейнер для игрушки сшивают нитками швом наружу из двух половинок, показанных на рис. 18. Приведенная выкройка рассчитана на кубики со стороной 30 мм. Для других кубиков размеры выкройки легко пересчитать.

Эта головоломка, по существу,— пространственный вариант игры «вращения рядов», и решать ее можно послойно по тем же самым правилам. Любопытно, что в пространственной игре 2X2X2 сохраняются не четности квартетов, а суммарная четность всех 8 кубиков.

Аналогичную игрушку можно сделать из четырех кубиков, при этом сложность решения практически не уменьшится. Изобретатель этой игрушки С. Грабарчук из города Ужгорода, фамилию которого вы еще встретите в этой книжке, предложил сделать стенки контейнера жесткими, но соединить их резинками. Для игрушки из четырех кубиков можно обойтись всего двумя щечками (рис. 19). Если щечки будут из непрозрачного материала, то в них можно просверлить отверстия, чтобы видеть цвета граней на кубиках.

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

1 Для интересующихся читателей сообщаем номер авторского свидетельства: 1146072.

Рис. 18. Выкройка контейнера Рис. 19. Головоломка С. Грабарчука

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

ТРИ КЛЮЧА К ПЕРЕСТАНОВОЧНЫМ ГОЛОВОЛОМКАМ

Запутать перестановочную головоломку легче легкого: 5—10 ходов — и полный хаос. Если бы уметь так же быстро восстанавливать порядок! При запутывании мы действуем как попало и стараемся испортить сразу все. При сборке же охватить сразу всю картину слишком сложно, нам удобнее продвигаться методично, шаг за шагом, устанавливая сначала один кусочек, подгоняя к нему второй, и т. д. На первых шагах мы чаще всего даже удаляемся от правильного расположения, потому что, наводя порядок в одном уголке головоломки, увеличиваем беспорядок в остальной, большей ее части. Эти первые шаги обычно даются легко — одну грань кубика Рубика может научиться собирать любой его обладатель, хотя и здесь приходится придумывать какие-то нехитрые уловки. Но только в наиболее простых головоломках этих уловок хватает. По мере выстраивания правильной картины свобода наших действий все более ограничивается, ведь достигнутое надо на последующих шагах сохранять. А ближе к концу сборки очередные продвижения уже невозможны без жертв — мы вынуждены на время отдавать завоеванное с тем, чтобы вернуть его с прибылью. Здесь уже требуются специально разработанные операции, можно назвать их «локальными», или «минимальными», которые вносят в расположение элементов голово-

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

Повторение

Возьмем наш комплект кубиков 4X3 из игры «вращения рядов» и повернем последовательно 1-ю шеренгу и колонку а на 90° (рис. 20), т. е. выполним операцию F= 1 -а. Что получится? Все кубики этих двух рядов, кроме а1, повернутся на 90°, кубик а1 повернется на 120° вокруг одной из диагоналей, а остальные 6 кубиков останутся неподвижными. Будем повторять операцию F. Через каждые три повторения кубик а1 будет совершать полный оборот (3-120° = 360°), т. е. возвращаться в исходное положение. Пять других кубиков рядов а и 1 будут возвращаться в исходное положение после 4-кратных повторений (4-90° = 360°). Если же повторить эту операцию 12 раз, все кубики вернутся к началу. Для нашей игры, очевидно, наиболее полезна операция F4, при которой поворачивается только один кубик а1 на угол 4-120° = 360°+120°, что совпадает с поворотом на 120°. Появление «локальной» операции в результате повторений некоторой операции не случайно.

Чтобы объяснить это, рассмотрим последовательность повторений произвольной операции: F, F2, F3.....Поскольку число всевозможных состояний головоломки конечно, число различных операций тоже конечно (две операции считаются одинаковыми, если они одинаково преобразуют головоломку, при этом записываться они могут по-разному, например bа2сА13 = а2Ы~~\ (/а)3 = = а~Ч~] и т. д.). Следовательно, в бесконечной последовательности повторений обязательно найдутся одинаковые операции: Fk = Fn, k<n. Но тогда предшествующие им в нашей последовательности операции тоже совпадают: Fk-' = Fk-F-' = Ffl = Г'“1 (F'1 операция, обратная к F); аналогично Fk~2 = Fn~2..... F = F“ А' Еще раз выполняя F~\ получим, что F“~k = F-F '=/, где, напомним, / — тождественное.

Рис. 20. Операция 1 - а

Рис. 21. Операция S\-Sa

ничего не меняющее преобразование. Итак, для любой операции F найдется такое число повторений т>>0, что Fm = I2. Наименьшее из всех таких чисел m, по определению, называется порядком операции F. В нашем примере порядок операции F=ha равен 12.

Вы скажете, что тождественное преобразование — это уж чересчур минимальная операция, и будете правы. Но дело в том, что еще до полного возврата к исходному состоянию при повторениях операции может произойти частичный возврат, как при операциях (/а)3 и (1а)4 в нашем примере. Это случается тогда, когда на разных частях головоломки операция F действует независимо и на каждой части имеет свой, отличный от других порядок. Снова обратимся к нашему примеру. Действие операции 1а можно рассматривать на каждом кубике по отдельности. На кубике а1 ее порядок равен 3, на кубиках а2, а3, Ы, cl и dl — 4, а на остальных — 1, они вообще не поворачиваются. Благодаря этому нам и удается с помощью повторений частично восстанавливать исходную картинку.

Рассмотрим еще один пример — операцию 5,• Sa в игре комбики. В результате этой операции (рис. 21) кубики Ы и cl меняются местами и поворачиваются на 180°,

2 Это утверждение, как и его доказательство, справедливо в очень общей ситуации. Существенны только три условия: 1) конечность числа состояний; 2) обратимость операции F; 3) возможность неограниченного повторения F. Первым двум условиям удовлетворяют все перестановочные головоломки. Третье может не выполняться: например, в игре «15» набор возможных ходов — сдвигов дырки — зависит от ее положения. Но можно считать операциями только такие цепочки ходов, которые возвращают дырку в исходное положение, тогда и здесь третье условие будет выполнено.

кубики а1, dl и а3 переставляются «по кругу»: al-^dl->--^a3->-al, при этом а1 и а3 поворачиваются на 180°, а кубик а2 совершает полуоборот на месте. Поэтому порядок этой операции, рассматриваемой на кубиках Ы, cl и а2, равен 2, на а1, а3, dl — 3, а в целом — 6. Отсюда получаем две «локальные» операции: (S,Sa)2 переставляет только три кубика al->a3-^dl-^al, a (S,Sa)3 переставляет Ы и cl и переворачивает а2.

Задача 4. Пусть F — это произведение поворотов двух соседних граней кубика Рубика на 90° по часовой стрелке. Проследите, как переставляются маленькие кубички этих граней при операции F. Определите теоретически порядок /\ а затем проверьте свой результат практически. Выясните, когда происходят частичные возвраты (только реберных кубичков или только угловых кубичков с учетом и без учета их ориентации). Ответьте на те же вопросы для случая, когда грани поворачиваются в противоположных направлениях.

Коммутатор

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

Еще раз обратимся к «вращениям рядов». Если в операции F=ha (см. рис. 20) поменять порядок вращений, мы получим операцию G = a-1 (рис. 22), единственное отличие которой от F состоит в том, что кубик а1 поворачивается на те же 120° вокруг другой диагонали. Поэтому, выполняя вслед за F операцию G-1 = 1~ха~ху обратную к G, мы получим операцию FG~X = îal~xa~\ поворачивающую только один кубик а1,— легко проверить, что это будет поворот на 120° вокруг третьей диагонали (рис. 23).

Вот мы и познакомились со вторым ключом к перестановочным головоломкам — коммутатором. По определению, коммутатором операций А и В называется операция АВА~ХВ~Х, сокращенно обозначаемая [Л, В]. В нашем примере А — это поворот 1-й шеренги, В — поворот колонки а. Рассмотрим еще несколько примеров.

Рис. 22. Операция а -1

Рис. 23. Коммутатор [1,а]

Пусть в игре «вращения рядов» А = 1, В = а2. Тогда [Л, В]= 1а21~1а2 (напомним, что а2 = а~2) дает поворот одного кубика а1 на 180° вокруг оси 1-й шеренги. Этот результат можно проверить экспериментально, а мы объясним его ниже, когда будем говорить о сопряжении. Аналогично [а, /2] поворачивает а1 на 180° вокруг оси колонки а. Операцию (S,Sa)2 игры комбики, которую мы упомянули выше, тоже можно рассматривать как коммутатор: S, = Sr\ Sa = S~\поэтому (SlSaf = SlSaS^*S-\ Кстати, на третьем этапе алгоритма комбиков мы уже пользовались коммутатором — одновременный поворот кубика а1 на 90° и хп(п = 2, 3) на —90° в горизонтальной плоскости производится коммутатором [Л, В], где А = = abcdld~]c~lb~la~l—поворот всех кубиков 1-й шеренги на 90°, a В — обмен кубиков а1 и хп.

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

Задача 5. Пусть А и В — повороты двух соседних граней кубика Рубика на 90° по часовой стрелке. Проследите за действием коммутатора /( = [Л, В]. Проверьте, что К2 переставляет только 3 реберных кубика, а К3— 4 угловых. Определите порядок К. Рассмотрите коммутаторы [Л, В_1], [Л, В2], [Л2, В2] и их повторения.

Почему же коммутаторы оказываются, как правило, «хорошими» операциями? Понять это можно, заметив, что Л“1 В~1=(ВА)-\ и переписав [Л, В] в виде {АВ)-{ВА)~{. Из этой записи видно, что [Л, В]— это своего рода разность, или, лучше сказать, отношение произведений AB и БЛ, отличающихся порядком сомножителей. Чем мень-

ше AB отличается от ВА, тем меньше коммутатор [А, В] отличается от единицы — тождественного преобразования /, т. е. тем он минимальнее; в частности, если операции А и В перестановочны, т. е. АВфВА, то их коммутатор [А, В]=1. К этому можно добавить, что если операция А действует на одной части головоломки, а В — на другой, то AB отличается от ВА только на элементах, принадлежащих пересечению этих частей или попадающих в пересечение под действием А или В. И если пересечение маленькое, то и коммутатор [А, В] минимален. Это соображение мы используем в следующем разделе.

Колесо обозрения, или метод посадки-высадки

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

Итак, пусть произошла посадка А и поворот В. Результат изображен на рис. 24,6: Некто х поднят колесом на одно деление, Некто у стоит в толпе, Некто z, сидевший первоначально на колесе вслед за у, завис над посадочной площадкой. При этом все сидевшие на колесе тоже продвинулись на одно место, а в толпе возникли какие-то перестановки. Допустим далее, что теперь Некто у захотел покататься еще: он поднял скандал, высадил г, правда, по-божески — в начало очереди, а сам занял его место; короче говоря, устроил операцию Л-1. Это не понравилось заведующему колесом, и он почему-то повернул колесо на одно место назад (операция В_l). После всех этих перипетий— т. е. после выполнения коммутатора АВХ ХА~1В~1— мы имеем результат, показанный на рис. 24,е. Наши герои х, у и z переставились по кругу: x-*y-*~z-+x; все остальные граждане возвратились в исходное положение: сидевшие на колесе проехали туда и обратно, а стоявшие в толпе как-то передвинулись при операции А и вернулись назад при А~\

Рис. 24. Схема посадки-высадки: а — исходное положение; 6 — после посадки и поворота колеса; в — после высадки и обратного поворота

Подведем итог. Если В — это перестановка нескольких элементов по кругу (колесо обозрения), а А — операция, заменяющая ровно один из этих элементов (посадка), то коммутатор [А, В] дает нам круговую перестановку трех элементов.

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

Задача 6. Выясните, как действует операция АВА~1Х ВАВА~ХВ~*% где А и В — те же операции, что и на рис. 24.

Сопряжение

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

acd2d-xc~xa-\ 123a23~l2^1 1~\ ala2l~xa. Все они представимы в виде GFG~X—в первой G = acd, F = 2, во второй G = 123, F = a2, a третья приобретает такой вид, если переписать ее как ala2l~xa2a~x =а-[/, а2)]-а~х— здесь G = a, F = [/,a2].

Говорят, что операция F\ = GFG~X получена из F сопряжением с помощью операции G. Поскольку и F получается из F\ сопряжением с помощью G~x (F=G~XF\G), операции F и F\ называют сопряженными друг другу.

В чем смысл сопряжения? Взгляните на рис. 25, поясняющий действие операции ala2l~xa, сопряженной с F= 1а21~ха2 ( = [/, а2]) с помощью G = a. Операция F, как уже говорилось, поворачивает кубик а1 на 180° вокруг оси 1 (т. е. так же, как операция I2). Выполняя поворот а, мы устанавливаем на место оси 1 вертикальную ось кубика, поэтому производимая вслед за этим операция F фактически поворачивает кубик вокруг бывшей вертикальной оси, а поворотом а~х мы возвращаем эту ось в вертикальное положение. В итоге получим поворот на 180° вокруг вертикальной оси.

Вот еще пример. Операция 1~х поворачивает кубик а1 вокруг оси 1 на 90° против часовой стрелки, если смотреть справа, а операция а2 меняет правую и левую стороны этого кубика, поэтому, сопрягая первую операцию с помощью второй, мы получаем операцию а21~ха2, которая поворачивает кубик а1 на 90° против часовой стрелки, если смотреть слева, т. е. по часовой стрелке, если смотреть справа. Таким образом, эта операция поворачивает кубик а1 так же, как и операция /. И теперь становится понятно, почему коммутатор [/, а2]= 1 *(а21~ха2) действует на этот кубик так же, как /• /=}2.

Следующий пример — с перестановками элементов. На первом этапе алгоритма игры комбики использовались операции Sa (переворачивание ряда а на 180° в горизонтальной плоскости), S3SaS3 и SdS3SaS3Sd. Две последние операции сопряжены с Sa, так как Srl = S3 и Sd“l = Sd. Операция Sa переставляет два кубика — а1 и а3, S3 ставит на место а3 кубик d3 и не задевает а1, поэтому S3SaS3 переставляет а1 и d3. Сходным образом SdSВВВd переставляет а1 и dl.

В предыдущем разделе мы объяснили, как «методом колеса» устроить коммутатор [А, В\ осуществляющий тройную перестановку jc-w/-*z-kk. Допустим, что у нас есть еще операция С, которая ставит на места х, у, z

Рис. 25. Сопряжение операции \а2\ ха2 с помощью а

какие-то элементы р, q, г. Тогда сопряженная операция С [А, В]С~Х дает перестановку p-+q-+r-+p (почему?).

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

Задача 7. На рис. 23 показано, как коммутатор [/, а] поворачивает кубик al. Пользуясь этой подсказкой, определите, как действуют сопряженные с ним операции

Еще раз о «вращениях рядов»

Если вы решили задачу 7, то должны были убедиться, что коммутаторы [/, а], [а, /_|], [а-1, /], [У-1, а-1] вместе с обратными к ним операциями, тоже являющимися коммутаторами, короче говоря, все 8 коммутаторов, которые можно составить из поворотов a±l и /±!, дают все повороты кубика а1 на 4=120° около четырех его диагоналей. (А если задачу вы не решали, возможность убедиться в сказанном у вас сохраняется.) Добавив к ним коммутаторы [/, а2] и [а, /2] и операцию aîa2î~xa, мы получим еще и повороты на 180° вокруг трех осей, соединяющих центры противоположных граней кубика. Все эти 11 поворотов сохраняют «четность положения» кубика (см. с. 22), причем других поворотов, сохраняющих четность, за исключением тождественного, нет, поскольку, как мы видели раньше, имеется всего 12 четных положений. Заменяя в этих операциях ряды а и 1 на произвольную колонку и шеренгу, мы получим все вращения любого кубика, сохраняющие четность. Это позволяет составить новый, двухэтапный алгоритм.

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

На втором этапе каждый из 12 кубиков по отдельности переводится в правильное положение одной из перечисленных выше операций. Самая длинная из этих операций состоит из 5 ходов, поэтому на этот этап уйдет не более 5« 12 = 60 поворотов, а на всю сборку — не более 66.

Но и этот алгоритм можно сократить.

Задача 8. Докажите, что на первом этапе можно обойтись не более чем тремя поворотами. (Указание: повороты каких-то k рядов на 90° меняют четность так же, как и повороты на 90° остальных 7 — k рядов.)

Назовем кубик «плохим», если он переводится в правильное положение поворотом на 180° вокруг вертикальной оси (т. е. единственной 5-ходовой операцией 2-го этапа), и «хорошим», если он уже стоит правильно. «Плохой» кубик можно сделать «хорошим», повернув оба содержащих его ряда на 180°. Введем в наш алгоритм новый, «промежуточный», этап между 1-м и 2-м: именно, если после 1-го этапа появится не менее трех «плохих» кубиков, повернем все содержащие их ряды на 180°; в результате все «плохие» кубики станут «хорошими», но могут появиться новые «плохие».

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

Задача 10. Покажите, что всю сборку можно провести не более чем за 53 хода. Это отвечает двум «плохим» кубикам после 1-го этапа — 53 = 3+ 10 • 4 + 2»5.)

На самом деле можно внести изменения в промежуточный этап так, чтобы уложиться в 3+12*4 = 51 ход. Возможны и дальнейшие сокращения, но они уже связаны с усложнением алгоритма.

Глава 2. ИГРЫ С ДЫРКОЙ

До изобретения кубика Рубика для многих людей знакомство с головоломками начиналось с «пятнашек» — так часто называют широко известную игру «15». Мы, например, в свои детские годы познакомились с ней благодаря книге С. Боброва «Волшебный двурог, или Правдивая история небывалых приключений нашего отважного друга Ильи Алексеевича Камова в неведомой стране, где правят: Догадка, Усидчивость, Находчивость, Терпение, Остроумие и Трудолюбие, и которая в то же время есть пресветлое царство веселого, но совершенно таинственного существа, чье имя очень похоже на название этой удивительной книжки, которую надлежит читать не торопясь».

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

ЗНАМЕНИТАЯ ГОЛОВОЛОМКА СЭМА ЛОЙДА

История и легенды

Игру «15» придумал в 70-х годах прошлого века прославленный американский изобретатель головоломок Сэмюэль Лойд. Время появления его игрушки и известного всем кубика Рубика разделяют ровно сто лет. Любопытно, что возраст обоих изобретателей, когда они

придумали свои знаменитые головоломки, был одинаков — немногим больше тридцати лет. Массовое увлечение венгерским кубиком у нас у всех еще в памяти, но и популярность игры «15» тоже, кажется, была не меньше. Никакая другая головоломка до этого таким успехом не пользовалась. Великий Марк Твен, будучи современником Лойда и свидетелем всеобщего ажиотажа вокруг игры «15», включил в свою сатирическую повесть «Американский претендент» изложение сообщения, якобы переданного агентством «Ассошиэйтед пресс», в котором говорилось, что «за последние несколько недель вошла в моду новая игрушка-головоломка... и что от Атлантического океана до Тихого все население Соединенных Штатов прекратило работу и занимается только этой игрушкой; что в связи с этим вся деловая жизнь в стране замерла, ибо судьи, адвокаты, взломщики, священники, воры, торговцы, рабочие, убийцы, женщины, дети, грудные младенцы,— словом, все с утра до ночи заняты одним-единственным высокоинтеллектуальным и сложным делом... что веселье и радость покинули народ,— на смену им пришли озабоченность, задумчивость, тревога, лица у всех вытянулись, на них появились отчаяние и морщины — следы прожитых лет и пережитых трудностей, а вместе с ними и более печальные признаки, указывающие на умственную неполноценность и начинающееся помешательство; что в восьми городах день и ночь работают фабрики, и все же до сих пор не удалось удовлетворить спрос на головоломку».

Вскоре после своего появления на свет коробочка с цифрами 15 на крышке пересекла океан, быстро распространилась во всех европейских странах и получила новое имя «такен». Это название имеет двоякий смысл: по-французски jeu du taquin — задорная игра, по-английски takein — обман. Как бы то ни было, игра Лойда, несомненно, обладает некоей завораживающей, притягательной силой — вспомните свои ощущения, когда вам впервые довелось двигать квадратики-фишки в маленькой коробочке. Изобретателю посчастливилось найти ту неуловимую меру сложности, когда головоломка решалась без труда почти всеми и в то же время требовала определенной сообразительности, благодаря чему каждый мог получить удовольствие от сознания своего высокого интеллектуального уровня.

Первому успеху головоломки в немалой степени спо-

Рис. 26. Задачи Сэма Лойда: а — ловушка Лойда — позиция L\ б — позиция задачи 1; в—задача с поворотом

собствовало и напечатанное в газетах объявление о призе в 1000 долларов за решение следующей задачи:

в исходной позиции фишки располагаются по порядку номеров, за исключением двух последних, которые переставлены местами друг с другом (рис. 26,а); передвигая по одной фишке, но не вынимая их из коробочки, нужно поменять местами номера 15 и 14 так, чтобы все фишки стояли по порядку номеров, а правый нижний угол был свободен.

Помещая это объявление, Лойд знал, что ничем не рискует, так как предлагает неразрешимую задачу. Но надо же было случиться, что его задача с недостижимой премией в 1000 долларов, только из-за которой многие и покупали игрушку, сыграла злую шутку с самим изобретателем. Когда Лойд пошел в патентное бюро оформлять изобретение, он захватил модель головоломки и предложил чиновнику свою задачу, а когда тот попросил приложить к документам на патент описание решения, Лойд вынужден был признаться, что задача неразрешима. На это чиновник ответил, что нельзя получить патент на игру, не имеющую решения. Изобретатель не стал спорить, так как считал свою игрушку ничуть не лучше сотен других своих занимательных задач. Кстати, многие головоломки Лойда публиковались и выпускались без указания его авторства. Вероятно, поэтому в Европе долгое время считали, что игра «15» изобретена случайно неизвестным глухонемым американцем. Именно эта версия происхождения игрушки приводится в изданных до революции в России книгах по занимательной математике.

Ажиотаж вокруг игры «15» начал стихать после того, как головоломкой занялись математики. Первая статья, посвященная разбору игры, появилась в «Американском

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

Задачи и фокусы

Классическая задача Лойда, за которую была назначена премия, фактически была не задачей, а мистификацией. Но, как сказал Жюль Верн, «все, что один способен вообразить, другие могут осуществить». Неоднократно находились люди, которые утверждали, что им удалось решить задачу Лойда, и даже брались показать это. И показывали. Конечно, во всех подобных случаях головоломка решалась с каким-нибудь нарушением правил. Например, когда задачу формулируют устно, обычно забывают сказать о возврате пустого поля в правый нижний угол. Если это условие нарушить, то игру «15» можно решить. И даже несколькими способами. Одно из решений показано на рис. 26,6.

Решение головоломки можно превратить в фокус. Для этого углы фишек закругляют так, чтобы номера 6 и 9 при перемещении можно было незаметно поворачивать. Во время решения меняют местами не одну, как требуется, а две пары фишек: 14 и 15, 6 и 9, но фишки 6 и 9 при движении поворачивают на 180°, и они как бы «меняются» вторично. Этот способ обыграть Лойда придумал Д. Вакарелов, а его кратчайшую 26-ходовую реализацию — московский математик А. Пантелеев. Вот его последовательность ходов: 12, 11, 10, 9, 13, 15, 9, 6, 7, 10, 14, 9, 15, 13, 6, 14, 9, 15, 14, 9, 10, 7, 9, 10, 11, 12 (мы указываем номера фишек, которые нужно двигать).

Изобретатель игры «15», кроме классической неразрешимой задачи, придумал и несколько оригинальных, вполне корректных задач. Три наиболее известные из них мы приводим ниже. В первых двух требуется получить заданную расстановку, исходя из позиции L (рис. 26,а) с перепутанными фишками 14 и 15, которую мы будем называть ловушкой Лойда. Поскольку в принципе любая расстановка достигается без труда — или уж вообще недостижима,— в этих задачах дополнительно требуется обойтись наименьшим числом ходов. В третьей задаче главная трудность в том, чтобы понять, как должны быть расставлены фишки в искомой позиции.

Задача 1. Расставьте фишки по порядку номеров так, чтобы дырка была в левом верхнем углу (см. рис. 26,б). Существует решение в 44 хода.

Задача 2. Поверните коробку на 90° и расставьте все фишки по порядку (рис. 26,в). Существует решение в 39 ходов.

Задача 3. Расставьте фишки так, чтобы их номера составили магический квадрат, т. е. сумма номеров по любой горизонтали, вертикали и главным диагоналям была одинакова (пустое место считается за 0). Найдите решения для двух исходных позиций — правильной и ловушки Лойда (ответы см. на рис. 27 и 31,а; есть и другие варианты).

Секрет игры «15»

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

В первой главе мы уже встречались с тем, что не всегда можно головоломку перевести из одного состояния в другое — запрещены такие переходы, при которых нарушаются те или другие законы сохранения. Есть такой закон и в игре «15». Чтобы объяснить его, мысленно заполним пустое место фишкой с номером 16. Тогда каждый ход — сдвиг фишки — будет состоять в том, что эта фишка меняется местами с фишкой 16. Операцию, при которой какие-то две фишки (не обязательно соседние!) меняются местами, так и назовем — обменом; математический термин для таких операций — транспозиция. Очевидно, что из любой расстановки 16 фишек можно не более чем за 15 обменов получить правильную позицию — мы обозначим ее So — и вообще любую другую расстановку. (Во избежание недоразумений поясним, что при этих обменах не запрещается вынимать фишки из коробки.) Например, можно сначала поставить на свое место фишку 1, обменяв ее с той фишкой, которая это место занимает, затем точно так же поставить на место фишку 2 и т. д. Последними мы обменяем фишки 15 и 16 — при этом сразу обе встанут правильно. Конечно, не исключено, что по ходу дела какие-то фишки

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

Это очень важное и неочевидное утверждение мы докажем ниже, а пока вы можете проверить его экспериментально. Оно позволяет дать следующее определение: расстановка называется четной, если ее можно превратить в правильную позицию с помощью четного числа обменов, и нечетной в противном случае. В математике обычно говорят не «расстановка», а «перестановка»; к этому мы еще вернемся. Сама правильная расстановка So всегда четная (нуль обменов), а ловушка Лойда L нечетная (один обмен). Но почему они не переводятся друг в друга?

Мы уже сказали, что каждый ход в игре «15» можно рассматривать как обмен фишки с одной из соседних. Следовательно, при каждом ходе четность расстановки 16 фишек меняется: если до хода расстановку можно было упорядочить за N обменов, то после него — за iV+1 обменов (взяв этот ход назад), а числа N и N+1 —разной четности. В обеих расстановках классической задачи Лойда дырка (или фишка 16) расположена одинаково. Если бы мы сумели одну расстановку перевести в другую, то фишка 16 должна была совершить столько же ходов вверх, сколько вниз, и столько же ходов вправо, сколько влево, иначе она не вернулась бы назад. Поэтому мы сделали бы четное число ходов, а так как при каждом ходе четность расстановки меняется, в начале и в конце она была бы одинаковой. Но позиции So и L, как мы видели, имеют разную четность.

Таким же образом можно исследовать и позиции трех других задач Лойда. Возьмем, например, расстановку на рис. 26,6. Она нечетная. Действительно, снова представим, что пустое место занято фишкой 16. Чтобы получить правильную расстановку So, достаточно последовательно поменять местами эту фишку с фишками 1, 2, 3, 4, 15—всего потребуется 15 (нечетное число!) обменов. Но в то же время для перевода дырки из левого верхнего

Рис. 27. Магический квадрат в игре «15»

угла в правый нижний нужно, чтобы число ее сдвигов вправо было на 3 больше, чем число сдвигов влево, а вниз — на 3 больше, чем вверх. Всего получится л + + (л + 3) + н + (я + 3) = 2л + 2я + 6 ходов, где л и н — число ходов влево и вниз, т. е. четное число обменов. А это значит, что четность исходной расстановки после возвращения дырки на место не изменится. Итак, расстановку с рис. 26,6 превратить в правильную нельзя. В следующем разделе мы опишем алгоритм, который позволяет любую исходную позицию превратить в So или в L. А это значит, что позицию рис. 26,6 можно преобразовать в ловушку Лойда и, следовательно, обратной операцией получить из ловушки Лойда.

Так, не решая конкретной задачи, мы можем узнать, разрешима ли она в принципе.

Задача 4. На рис. 27 изображено одно из решений третьей задачи Лойда (магический квадрат). Определите, не двигая фишки, из какой исходной позиции — So или L — можно получить эту расстановку.

Алгоритм игры «15»

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

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

Пусть, например, фишки 1 и 2 уже поставлены правильно, и мы ставим фишку 3 (рис. 28,а). Можно указать замкнутую цепочку клеток игрового поля, содержа-

щую фишку 3, предназначенное ей место и дырку и не задевающую установленных ранее фишек 1 и 2, в которой каждая клетка граничит по стороне со следующей (на рис. 28,а эта цепочка отмечена пунктиром). Будем последовательно сдвигать фишки по цепочке. При этом дырка будет двигаться в обратном направлении (рис. 28,б), и когда она сделает полный оборот, фишки окажутся передвинутыми на одно место — все, кроме одной, соседней с дыркой: эта фишка проскочит дырку и сделает сразу два шага. Если в результате некоторой перестановки фишка а попала на место фишки b, b — на место фишки с, а фишка z — на место а, то эта перестановка называется циклической, или просто циклом. Когда дырка обходит цепочку из п+1 клеток, происходит циклическая перестановка расположенных в них п фишек (п-цикл). Повторив эту операцию нужное число раз (в нашем примере два раза), мы переведем фишку 3 на ее место. Можно это сделать и быстрее, перегоняя фишки по цепочке меньшей длины (рис. 28,в),— для этого сначала надо освободить место на этой цепочке (красная стрелка на рис. 28,а). И если уж экономить ходы, то самое лучшее — это продвинуть фишку 3 на одно место по еще более короткой цепочке Z\ (рис. 28,г), а потом по кратчайшей цепочке из четырех клеток z2.

Но нам не удастся таким же способом установить на свое место фишку 4, не трогая фишку 3, так как любая цепочка, проходящая через это место, задевает и фишку 3. Здесь можно использовать операцию, показанную на рис. 29: поставить фишку 4 на место № 8 (рис. 29,а) по цепочке, a затем циклически переставить фишки 4, a, b (рис. 29,б), где а — фишка, занимающая место № 4. Обратим внимание на то, как устроена эта перестановка: 3-цикл z получается сдвигом по цепочке из 4 клеток (в квадрате 2X2), а нужный нам 3-цикл образуется из z сопряжением.

Двух описанных приемов — сдвига вдоль цепочки и 3-цикла — достаточно для завершения сборки: если фишку нельзя перевести на свое место сдвигом, т. е. нужно загонять ее в угол или, наоборот, извлекать из угла, используем 3-цикл. Таким образом можно последовательно установить фишки 5, 6, 7, 8, 9, 13, 10, 11, затем, следуя рисунку 30,— фишку 12 (ср. рис. 29,а). После этого последние две фишки 14 и 15 могут сразу очутиться на своих местах, и тогда задача решена — получена пози-

Рис. 28. Движение по цепочке: а — цепочка, по которой можно сдвинуть фишку 3 на ее место; б — когда дырка обходит цепочку из 11 клеток, происходит циклическая перестановка расположенных в них 10 фишек в обратном направлении; в,г — более экономные способы перевода фишки 3 на место

Рис. 29. Заполнение угла

Рис. 30. Последний шаг алгоритма игры «15»

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

ПЕРЕСТАНОВКИ

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

Что такое перестановка

Изучая комбинаторные головоломки, мы постоянно сталкиваемся с необходимостью как-то задавать расположение их элементов и действие различных операций. Вспомним, например, задачу 2 этой главы, в которой требовалось найти операцию, превращающую одну заданную позицию в другую. В ее условии даны «словесные портреты» этих позиций, еще и подкрепленные рисунками. Но как дать словесный портрет более или менее беспорядочной позиции, вроде магического квадрата на рис. 31,а? Не мудрствуя лукаво, перенумеруем все места в коробочке числами от 1 до 16 (рис. 31,б), и для каждой фишки /, в том числе для дырки 16, укажем номер р (*') занимаемого ею места. Тем самым мы зададим отображение р множества номеров {1, 2, 16} на себя. Записать его можно табличкой из двух строк — в первой строке ставят по порядку все номера /, а под ними, во второй, соответствующие номера р (/). Для позиции рис. 31,а эта табличка выглядит так:

— фишка 1 стоит на 3-м месте, фишка 2 — на 2-м, 3 — на 16-м и т. д. Отображение р взаимно-однозначно, т. е. во второй строке встречается по одному разу каждый номер из первой строки, поскольку на каждом месте есть

Рис. 31. а — второй магический квадрат; б — исходная нумерация — позиция So; в — граф перестановки для второго магического квадрата распадается на 3 цикла и две неподвижные точки

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

Перестановками называют также и отдельно взятые вторые строчки наших табличек, т. е. всевозможные расположения элементов множества в определенном порядке. Именно это имелось в виду, когда мы подсчитывали число перестановок в главе 1; напомним, что для N элементов оно равно N1 Но над второй строкой всегда можно написать первую, так что разницей в оттенках смысла можно пренебречь.

Итак, любая позиция S игры «15» задается перестановкой чисел 1, 16. Эту перестановку будем обозначать ps. Аналогично перемещения фишек при произвольной операции F задаются перестановкой pF: рД/), для каждого i — это номер места, на которое попадает под действием F фишка с /-го места. Выпишем для примера перестановку, отвечающую операции F из задачи 2 (см. рис. 26,в) :

— фишка 13, стоящая на старте на 1-м месте, должна попасть на свое, 13-е место (рД1 ) = 13), фишка 9 — со 2-го места на 9-е (рД2) = 9) и т. д.

Пусть теперь заданы перестановки ps и pFy отвечающие некоторой позиции S и операции /\ а мы хотим узнать, какая позиция S' получится из позиции S, если выполнить операцию F. Фишка 1 в позиции S находится на месте номер i = p^\), операция F переводит фишку

с места i на место рД/). Следовательно, в позиции S' фишка 1 будет находиться на месте рД/): Ps(l)=PÂP£l»• Точно так же ps(2) = pДр^(2)) и т. д., т. е. перестановка ps, получается последовательным выполнением ps и pF.

Говорят, что Ps — это композиция, или произведение перестановок ps и pF (эти термины нам уже знакомы — см. с. 19). Обозначение: ps,=ps.pFy или просто PsPf-В книгах по алгебре композицию перестановок чаще записывают справа налево (если после р\ выполняется рг, то результат обозначается • Pi ) • Нам удобно выбрать порядок записи таким же, как и для композиции операций — слева направо. С помощью композиции перестановок можно найти и результат последовательного выполнения (композиции) двух операций F и G: если F переводит фишку с места i на место j = pF(i\ a G — с места / на место k= pa(j)\ то «суммарная» операция FG переводит фишку с места / на место /л т. е.

Перестановки — незаменимый инструмент для решения головоломок. Как поступает неискушенный любитель? Он берет в руки головоломку и начинает «методом тыка» изобретать какие-нибудь хорошие операции. И здесь его подстерегает опасность уйти слишком далеко от правильного положения, заблудиться и не найти обратной дороги. В игре «15» это не страшно — можно вынуть фишки и начать все сначала. А кубик Рубика пришлось бы ломать! Недаром в некоторых странах он продавался в комплекте с молотком. Иное дело профессионал. Он рассматривает несколько простых операций, обычно коммутаторов, выписывает соответствующие перестановки и ищет то, что ему нужно, вычисляя их разнообразные композиции. Головоломка остается в целости и сохранности.

Задача 5. Выпишите перестановку, отвечающую позиции на рис. 27.

Задача 6. Какая перестановка отвечает правильной позиции So? Покажите, что если S = /r(So), т. е. позиция S получена из So операцией /\ то ps=pF.

Задача 7. Перестановка р~ \ обратная к перестановке р, определяется так: надо переставить столбики в табличке перестановки р так, чтобы номера во второй строке стояли по порядку, и поменять строки местами. Покажи-

те, что Р'Р 1—это тождественная перестановка е (e(i) = = /) и что pF^={pF)-x.

Разложение на циклы

Если при перестановке z элементы i\, /2, ik переходят друг в друга по кругу так, что i\ переходит в Î2 — z{i\)> /2—в /з, ik—в ii, а остальные элементы остаются неподвижными, то z называется циклической перестановкой длины (или порядка) k, или k-циклом. Обозначается fe-цикл так: (/1/2.-Л) (обычно множество, на котором определена перестановка, известно заранее, поэтому неподвижные элементы, т. е. все элементы, не вошедшие в цикл, как правило, не указывают). Естественно, записывать цикл можно, начиная с любого его элемента,— у него «начала нет и нет конца»: (Ï1/2—*'*) = = (*2*3-.-*Vi) = (*Vi...**-i) и т. д. С понятием цикла мы уже встречались в связи с алгоритмом игры «15», а сейчас покажем, что любая перестановка сводится к нескольким независимым, т. е. не имеющим общих элементов, циклам.

Рассмотрим произвольную перестановку р и возьмем первый попавшийся элемент i\. Пусть р(/|) = /2, p(h) = = р2(/1) = /3, р(/3) = р3(/1) = /4 и т. д. Поскольку множество переставляемых элементов конечно, на каком-то шаге нам вновь встретится элемент, уже появлявшийся в нашей последовательности i\t /2, ... раньше. И первым таким элементом будет i\\ если бы первым повторился какой-то другой элемент, например /3, и произошло это на k-м шаге, т. е. ;3 = p*(/,) = , то ik = p-l(ih+x) = — р (*з) = *2, а значит, элемент /2 повторился бы раньше, на (k— 1)-м шаге. Итак, мы получили первый цикл Z\ = = (i\i2..,ik). Далее возьмем любой элемент /ь не вошедший в этот цикл, если такие элементы еще остались, и проделаем с ним то же самое. Получится второй цикл Z2 = = (/1/2.../л), не имеющий общих элементов с первым. Точно так же образуются и следующие циклы; в частности, любой неподвижный элемент i образует одноэлементный «цикл» (/). В результате перестановка р будет представлена в виде независимых циклов Zi, z2, zm:

Хотя, вообще говоря, переместительный закон на композицию не распространяется, непересекающиеся циклы,

очевидно, можно перемножать в любом порядке, не меняя произведения.

Наше рассуждение станет понятнее, если изобразить каждый элемент i точкой на плоскости и провести от нее стрелку к элементу p(ï). Тогда в каждую точку будет входить одна стрелка и из каждой точки будет выходить одна стрелка. Следовательно, стрелки образуют несколько замкнутых цепочек, не имеющих общих вершин; каждая цепочка — это независимый цикл. На рис. 31,в это проделано для перестановки р, отвечающей позиции рис. 31,а. На рисунке видно, что перестановка р разлагается на два 3-цикла, один 8-цикл и два 1-цикла:

р = (1, 3, 16, 13, 15, 4, 8, 12)(5, 10, 7)(6, 11, 9),

1-циклы (2) и (14) в записи, как это принято, опущены.

Такая запись более компактна и наглядна, чем таблички. Скажем, транспозиция (обмен) элементов а и 6, т. е. 2-цикл, записывается всего двумя буквами: (a,ft). Особенно удобно разложение на циклы, когды мы хотим построить «хорошую» операцию с помощью повторений. Если, например, для операции F

то сразу видно, что F2— это 3-цикл (р* = (а,с,&)), a F3— пара транспозиций (p3F=(d,e)(fyg)). Вообще при fe-кратном повторении fe-цикла z все его элементы совершают полный круг и возвращаются на исходные места, т. е. zk— тождественная перестановка. Недаром длину цикла называют также его порядком (см. стр. 35).

Задача 8. Разложите на циклы перестановку, отвечающую позиции игры «15» на рис. 27.

Задача 9. Пусть некоторая перестановка разлагается на независимые циклы длин fei, k2y km. Докажите, что ее порядок равен наименьшему общему кратному чисел fe|, fe2..... fem-

Циклы, транспозиции и четность

Чтобы раскрыть секрет игры «15», нам пришлось ввести понятие четности расстановки (или перестановки) фишек. С его помощью мы научились определять, к какому из двух стандартных положений S0 или L приводится данная позиция. Аналогичная задача возникает и в других головоломках — там тоже приходится

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

Согласно нашему определению, для того чтобы найти четность перестановки р, нужно умножением на транспозиции превратить ее в тождественную перестановку e(e(i) = i для всех /)3; тогда четность р совпадает с четностью числа транспозиций. Но разложение на независимые циклы позволяет находить четность проще и быстрее. Оказывается, достаточно подсчитать число m циклов в разложении (с учетом 1-циклов). Ниже мы докажем, что четность перестановки совпадает с четностью разности N — m, где N — число элементов множества, на котором действует перестановка.

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

Для доказательства разберемся, что происходит с числом циклов 2| в разложении p = Z\...zm перестановки р, когда мы умножаем ее на транспозицию /. Рассмотрим два возможных случая.

Пусть оба элемента, переставляемых транспозицией /, принадлежат одному циклу, скажем zm = (ai,a2,...,a,,). Можно считать, что / = (ai,a,)(/ = 2, п\ ведь цикл можно записать, начиная с любого элемента. Тогда

(1)

(циклы Zi,...,zm_i транспозиция не задевает; элемент a,_i при Zm переходит в a,, a а, при транспозиции / — в ai, т. е. (zmt) (a,_i) = ai, аналогично (zmt) (an) = a/; остальные элементы a* переставляются так же, как в цикле zm). Итак, в этом случае число циклов увеличивается на 1.

Пусть теперь элементы, переставляемые транспозицией, принадлежат разным циклам, скажем zm-i и zm> и пусть Zm-\ =(ab...,a/_i), zm = (a/,...,a„), а /=(ai,a,). Ана-

3 На самом деле в определении говорилось о транспозициях, превращающих расстановку S в правильную, но ясно, что это одно и то же.

логично равенству (1) легко проверить, что zm-\Zmt = = (ai,...,£*/_i) (a,-,...,an) (ai,a,-) = (ai,...,a„), следовательно, pt = zl...zm-2Zm-\Zmt = Z\...zm-2 (ai,. ..,a„), т. е. здесь число циклов уменьшилось на 1.

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

Наконец, предположим, что перестановка р после умножения на транспозиции Л,...,/* превращается в тождественную: pt\...tk = e. Каждая транспозиция меняет четность числа циклов в разложении перестановки. Если перестановка р разлагается на га циклов, то после k умножений на транспозиции мы должны получить перестановку, у которой число циклов в разложении имеет ту же четность, что и число m-\-k. Но итоговая перестановка е разлагается на N 1-циклов (все элементы неподвижны), поэтому числа m + fe и N одной четности. Следовательно, четность перестановки р, по определению равная четности £, совпадает с четностью N — га, что и требовалось доказать.

Строго говоря, для обоснования определения четности перестановки нужно еще показать, что любую перестановку можно превратить умножением на транспозиции в тождественную. Для расстановок фишек в игре «15» это уже было сделано. В общем случае, как видно из (1), можно одной траспозицией превратить любой цикл, содержащий не менее двух элементов, в два цикла (см. (1)). Так, последовательно разбивая циклы, мы придем к перестановке, в которой все циклы одноэлементны, т. е. к тождественной перестановке е. Умножая равенство pt\...tk — e сначала на потом на tk-\ и т. д. и пользуясь тем, что t-t = e для любой транспозиции /, получим, что p = tktk-\...t\. Таким образом, любую перестановку можно представить как произведение транспозиций, и четность числа сомножителей равна четности перестановки.

Задача 10. Докажите равенства

(2) (3)

(4)

Равенства (2) и (3) показывают, что любой цикл, а значит, и любая перестановка представляются как произведение транспозиций, причем достаточно только

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

Четность и композиция. Инвариант игры «15»

Назовем знаком перестановки р число е(р), равное -(-1, если перестановка четная, и —1, если нечетная. Очевидно, е(р) = ( — 1)*, где k — число транспозиций к каком-нибудь представлении перестановки р: р = = t\...tk. Пусть для перестановки q аналогичное число равно n:q = s\...sn, где s,— транспозиции. Тогда pq = = /,.. .tks\.. .s,„ поэтому e(pq)=(-\)k+n=(-\)k(-\)n=e(p)e(q).

Другими словами, при композиции перестановок их знаки перемножаются. Поэтому композиция pq будет четной, если перестановки р w q одной четности, и нечетной в противном случае. В частности, при умножении перестановки р на нечетную перестановку q четность р меняется. Теперь фиксируем любую нечетную перестановку q, например q — {a,b)y и разобьем все перестановки на пары (p,p')» где р' = qp = (a,b)-p (тогда и р = (а,б)-р'). В каждой паре одна перестановка четная, другая — нечетная. Следовательно, число четных перестановок равно числу нечетных и равно ЛП/2, где N — число элементов множества, на котором рассматриваются перестановки.

Завершая наш рассказ о перестановках, вернемся к игре «15» и выведем общее условие того, что две позиции связаны, т. е. переводятся одна в другую сдвигами фишек. Назовем знаком e(S) позиции S знак соответствующей перестановки: e(S) = e(ps). Определим еще для каждой позиции знак дырки /(S). Для этого раскрасим все поля коробочки в шахматном порядке (поле 1 — белое, 2 и 5 — черные и т. д.) и положим %(S)= -f- 1, если свободное поле (дырка) белое, и %(S)= — 1, если оно черное. Поскольку при каждом ходе одновременно меняются цвет свободного поля и четность перестановки ps, произведение i(S) =

= e(S)X%(S) будет все время одним и тем же, т. е. является инвариантом. Следовательно, если две позиции S и S' связаны, то i(S) = i(S').

Справедливо и обратное: если i(S)=i(S'), то позицию S можно превратить в S'. Действительно, пусть, например, i(S)=i(S')=l. «Запустим» наш алгоритм. Он превращает любую позицию или в S0, или в L. Но /(S0) = 1, a i(L)= — 1 (х(50) = х(^)= 1. e(SG)= — e(L)= 1), поэтому обе позиции S и S' превратятся в S0, так как / — инвариант. Следовательно, мы можем перейти от S к S0, а потом от SQ к S', значит, S и 5'связаны. Аналогично рассматривается случай i(S)=i(S')= — 1 : здесь S и S' связаны через ловушку Лойда L.

Подведем итог сказанному. Все позиции в игре «15» разбиваются на две орбиты относительно преобразований, разрешенных в этой игре. Для одной орбиты /(S)=l, она содержит правильную расстановку S0; для другой i(S) = = —1, в нее входит ловушка Лойда L. Каждая орбита состоит из 16!/2 позиций.

Задача 11. Определите, используя разложения на циклы, к каким орбитам принадлежат магические квадраты на рис. 27 и 31,а.

Задача 12. Для того чтобы можно было упорядочить фишки после поворота коробки на 90° (см. задачу 2 и рис. 26,в), за исходную позицию нужно взять L. Покажите, что это верно и для игры «ai2—1» (в коробочке пХп), если п делится на 4, и что для остальных значений п исходная позиция в этой задаче должна быть правильной. Проанализируйте аналогичную задачу при разных я, если вместо поворота на 90° взять симметрию относительно диагонали или относительно средней линии коробки.

ПУТЕШЕСТВИЯ ПО ГРАФАМ

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

После игры «15»

Первыми подверглись изменению форма коробочки и число фишек. Для малышей оказалась интересной даже игра на самом маленьком поле 2X3 клетки, особенно если цифры заменить картинками. В архивах хранятся патенты на самые разные конфигурации игрового поля, и только наиболее распространенные из них показаны на рис. 32. Единственная трудность, возникающая при решении этих головоломок,— это «заполнение угла». Преодолевается она везде одинаково (см., например, рис. 29). Правда, головоломки на рис. 32,в и г можно разнообразить требованием найти кратчайшее решение. Но все-таки все эти игрушки мало отличаются друг от друга. Более плодотворной оказалась другая идея — закреплять некоторые фишки на поле. Этим создаются преграды на пути движения остальных фишек, что значительно усложняет головоломку. В этом легко убедиться на примере широко распространенной в нашей стране головоломки «слон», показанной на первой странице вклейки. Для этого нужно в центрах нескольких фишек просверлить сквозные отверстия диаметром 1—3 мм. Перед игрой в эти отверстия вставляют штифты (можно использовать спички), после чего начинают перепутывать и заново ставить на свои места остальные фишки (рис. 33,а). Самый сложный вариант получится, если закрепить на поле шесть фишек. Можно закреплять фишки и в игре «15» (рис. 33,б).

Другой способ воздвигнуть препятствия на пути движения фишек — это установить в коробочке перегородки. (Кстати, их нетрудно сделать в домашних условиях.) Такие головоломки патентные ведомства до сих пор признают изобретениями, если авторам удается доказать, что их конструкция интереснее придуманных ранее. Последнее изобретение этого рода датировано 1984 годом. Если сделать перегородки съемными, можно по собственному желанию изменять сложность задачи. На рис. 34 показано несколько вариантов перегородок для игры «15».

Рядом с каждым вариантом вы видите схемы, состоящие из точек и линий, попарно соединяющих некоторые точки. (Аналогичные схемы приводятся и на других рисунках головоломок в этом разделе.) Такие схемы называют графами. Думаем, что и без особых объяснений вы уже поняли, как они связаны с головоломками: точки (вершины графа) изображают все клетки игрового поля,

Рис. 32. Головоломки из семейства игры «15»: а — игра «5» для малышей; б — игра «8»; в — выгоните козла (К) из огорода; г — поменяйте местами тигров (Т) со сторожами (С) (головоломка Л. Мочалона)

Рис. 33. Головоломки с закрепленными на поле фишками: а — головоломка слон (автор Е. Прокопов); кружками на головоломке отмечены места закрепления фишек в двух вариантах; б — варианты игры «15» с закрепленными фишками и их графы

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

Рис. 34. Головоломки с перегородками: а — лабиринт; б — полоска; в — варианты игры «15» с перегородками и соответствующие им графы

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

Следующий этап эволюции игры «15» — изменение формы фишек. На этом этапе могут появиться «особи» с качественно новыми признаками. Пример — головоломка «в трех соснах», которую придумал В. Рыбинский из Тулы. Ее граф показан на рис. 35,a, a реализация с круглыми фишками на шестиугольном поле — на рис. 35,6. Автор предлагает следующие задачи:

1) поменять местами фишки 1 и 9 не более чем за 31 ход;

2) изменить порядок расстановки фишек по периметру поля на обратный не более чем за 74 хода;

3) получить «магическую» расстановку фишек с суммой 15 (рис. 35,в) не более чем за 37 ходов.

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

Рис. 35. Игра «в трех соснах»: а — граф головоломки; б — внешний вид; в — «магическая» расстановка фишек

Что же это за новый признак игры «в трех соснах»? Если провести дырку по одному из пятиугольников на графе, циклически переставятся 4 фишки например, (2, 3, 4, 5), а 4-цикл, как мы знаем,— перестановка нечетная. В то же время в игре «15» возможны только четные перестановки фишек (при фиксированной дырке), и при установке препятствий множество достижимых перестановок может только уменьшиться.

А вот замена квадратных фишек треугольными ничего особо нового не дает. Взгляните на головоломку И. Рябова (рис. 36,а), в которой треугольники передвигаются на соседнее свободное место поворотом вокруг вершины на 60° (для этого между фишками и стенками коробки оставлен зазор). Трудно узнать ее на рис. 36,6, где изображена игра «24» (24 = 5X5— 1 ) с закрепленными фишками и перегородками. Тем не менее сравнение их графов убеждает, что эти головоломки вполне эквивалентны. Правда, в отличие от квадратов треугольники при передвижениях поворачиваются, меняют «ориентацию». Но и это дает немного, потому что каждую фишку можно повернуть на ее месте отдельно от других: если, например, перевести треугольничек 2 на свободное место поворотом вокруг одной вершины и вернуть обратно поворотом вокруг другой вершины (см. рис. 36,а), то в результате он повернется на 120° вокруг своего центра.

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

Рис. 36. Головоломка с треугольными фишками: а — внешний вид и граф головоломки; б — аналог головоломки с треугольными фишками на квадратном поле 5X5 клеток и соответствующий граф

Рис. 37. «Мамина головоломка». Требуется соединить фишки с рисунком мамы и сына

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

Игры с дыркой по-научному

Развитие игры «15» привело в конце концов к отказу и от коробочки, и от препятствий, и от той или иной конкретной формы фишек. Что же осталось? Остался граф, на все вершины которого, кроме одной, поставлено по фишке,— это могут быть кусочки картона с буквами или номерами. И осталась прежняя задача: передвигая

фишки по дугам графа на свободное место, получить какое-то стандартное «правильное» расположение, например сложить из букв слово. Такие головоломки придумал и изучил болгарский математик Д. Вакарелов. Он назвал их путешествия по графам. Подробный рассказ о них не входит в нашу задачу. Сейчас мы коснемся только самого основного.

Посмотрим еще раз на рис. 33—36. Все изображенные на них графы, кроме двух последних (в головоломке Рябова), состоят из замкнутых несамопересекающихся цепочек отрезков. Эти цепочки называют циклами графа. Поскольку слово «цикл» имеет и другой смысл — «циклическая перестановка», мы часто будем заменять его словом контур. У графа головоломки Рябова (см. рис. 36) есть своего рода хвосты — концевые ребра. Если сдвинуть фишку с кончика хвоста, то туда переедет дырка, и для дальнейших перемещений фишку придется вернуть обратно. Так что концевые фишки в игре фактически не участвуют. Вершина, из которой растет хвост,— узкое место графа. Если ее удалить, граф распадается на два не связанных дугами куска. Примеры узких мест имеются и у графов на рис. 38 — они обведены красными кружками. На узком месте фишки застревают, а других путей, соединяющих куски, на которые распадается граф после удаления любого узкого места, нет. Поэтому можно ограничиться только рассмотрением отдельных кусков, т. е. графов без узких мест. Такие графы назовем прочными. Примеры прочных графов приведены на рис. 39, 40.

Простейший из них (не считая совсем уж неинтересных графов с одной и двумя вершинами) — это замкнутый контур (рис. 39,а). Очевидно, все, что здесь можно делать,— это переставлять фишки по кругу, сохраняя их взаимный порядок. Учитывая, что дырка может быть на любом месте, получаем, что общее число возникающих в этом случае расположений равно (п-\-\)-п, где я+1 — число вершин контура, т. е. п — число фишек. В дальнейшем нам будет удобнее считать, что за дыркой зарезервировано одно и то же место, и рассматривать операции, все время ее туда возвращающие.

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

Рис. 38. Непрочные графы: узкие места отмечены красными кружками

Рис. 39. Прочные графы: а — замкнутый контур и соответствующий цикл; б — пара контуров и соответствующие циклы; в,г — действие коммутатора К — АВА~]В~'; д — особый случай прочного графа

тура выражается через циклы А и В вдоль двух других контуров: С = АВ% поэтому без нее можно обойтись. Выполнив операцию K = ABA~lB~] =СА~1В~1 (коммутатор [А, В] циклов А и В), мы получим, как легко проверить, либо пару транспозиций (рис. 39,в), либо 3-цикл (рис. 39,г). С помощью сопряжения из него образуется еще куча операций того же типа, но для других фишек. И их почти всегда хватает, чтобы составить любую четную перестановку. Как это делается, мы покажем впоследствии на конкретных примерах головоломок «рамка» и «восьмерка». Единственное исключение показано на рис. 39.д. В этом случае три фишки можно переставить на любые места, но расположение трех других фишек этим будет определено однозначно. Это дает ровно 120 возможных перестановок.

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

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

Итак, мы рассказали, какие перестановки возникают при путешествиях по графам. Более того, по сути дела, мы наметили и общий план решения головоломок этого типа. Но, честно говоря, алгоритмы, составленные по этому плану, будут неуклюжими, громоздкими, плохо защищенными от ошибок. Так что в каждом конкретном случае, будь то совсем простая игра «15» или наоборот, одна из самых трудных головоломок — «роторы» (о ней речь впереди), простор для применения фантазии, изобретательности и логических способностей остается открытым.

Граф — это скелет любой перестановочной головоломки: всегда есть определенный набор «гнезд» для фишек

Рис. 40. Любая вершина прочного графа соединена двумя дорожками (по красным ребрам) с выбранными циклами

Рис. 41. Рамка: а — общий вид; б — корпус; в — каретка

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

Рамка

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

Коллективным автором рамки является семья Еренбургов из Москвы. Первоначально головоломка ожила на экране персонального компьютера, и только затем

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

Задача 13. За наименьшее число ходов (сдвигов фишек) переведите головоломку из стандартной позиции (см. рис. 41,а) в следующие:

147 258 369 столбики

987 654 321 обратный порядок

741 852 963 поворот

123 894 765 спираль

672 159 834 магический квадрат

Если эти задачи вас заинтересовали, а рамки в продаже не оказалось, нетрудно сделать ее своими руками. Желательно только найти готовые фишки; можно взять их от игры «15», но подойдут и обычные детские кубики небольшого размера с наклеенными сверху картинками. Из фанеры, пластмассы или толстого картона склеивают каретку, на которой устанавливают две перегородки (рис. 41,б). Исходя из размеров каретки, делают корпус. Он состоит из двух рамок: одна из них имеет прямоугольный вырез по размерам каретки и две боковые ниши, другая — такой же вырез, но без ниш. Эта вторая рамка будет дном головоломки. На нее наклеивают верхнюю рамку с нишами. Теперь остается положить корпус на стол, вставить в вырез каретку с фишками — и можно играть.

Впрочем, можно поступить проще. Достаточно нарисовать граф — такой, как на рис. 42, взять фишки с номерами и начать по нему путешествовать. Действительно, с места 1 в рамке фишку можно сдвинуть или на место 2, если оно свободно, или в левую нишу (для этого верхний ряд каретки устанавливается посередине рамки) — и больше никуда. И на графе вершина 1 соединена с вершинами 2 и А (левая ниша). Очевидно, и все другие линии на графе соответствуют возможным сдвигам фишек в рамке. Так вооружимся путеводителем из предыдущего раздела и отправимся в путешествие по этому графу.

Сначала исследуем вариант игры с дополнительной фишкой. Допустим, что она установлена в левой нише Л, а правая ниша П свободна. Наш граф похож на графы рис. 39. В этом случае путеводитель советует рассмотреть циклы А и В (рис. 42,а) и их коммутатор К = АВА~'В-1.

Рис. 42. Основные операции алгоритма рамки

Соответствующая перестановка показана на рис. 42,6. Это пара транспозиций (3, 6) (Л, 7):

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

(рис. 42,в; пояснение: операция А2В переводит фишки с мест 1, 3, 7, 8 на 3, 6, Л, 7 соответственно, К попарно их переставляет, В~1А~2 возвращает обратно). Отсюда можно получить транспозиции любых двух соседних фишек цикла В, сопровождаемые, конечно, обменом (1,3). А из них — любую транспозицию фишек цикла В (и тоже вместе с (1,3)), поскольку ее можно разложить в произведение транспозиций соседей. Например,

(4 и 5—соседние места); транспозиции других соседей тоже имеют вид BkFB~k. Обмен несоседних фишек, скажем (Л, 9), записывается в виде (Л,9) = (Л,7) (8,9) X X (7,8) (8,9) (Л,7), отсюда

4 Напомним, что значком ~ мы соединяем формулу операции и запись соответствующей перестановки.

и т. п. Обратите внимание, как активно используется сопряжение!

Теперь опишем всю процедуру расстановки фишек по номерам. Сначала ставятся фишки 1, 2, 3; это сделать легко, потому что заботиться о размещении остальных 7 фишек не нужно. Фишки Л, 4, 5, 9 расставляются с помощью транспозиций, что, как мы знаем, всегда возможно. И не обязательно пользоваться длинными операциями, вроде той, что выписана выше. Можно потихоньку придвигать каждую фишку к своему месту более короткими «соседними» обменами. Это будет даже быстрее. Одновременно с каждой транспозицией этих фишек переставляются фишки 1 и 3. Но когда все будет закончено, они сами собой встанут правильно!

Действительно, при каждом ходе дырка сдвигается влево или вправо; в результате она возвращается на свое место Я, значит, число тех и других ходов было одинаковым, а общее число ходов — четным. Следовательно, перестановка фишек будет четной (вспомните секрет игры «15»!), и отдельная транспозиция (1,3) невозможна. Четность всех достижимых перестановок можно объяснить и четностью числа вершин во всех контурах графа, как в предыдущем разделе.

Задача 14. Покажите, что если дополнительная фишка может занимать любую из двух ниш, то фишки 1, 2, 9 можно расставить в произвольном порядке.

Укажем еще одну операцию, которую можно использовать вместо F:

(рис. 42,г). Ее сопряжения BkGB~k дают пары транспозиций вида (2,3) (1,jc), где х — любой элемент цикла В, а из них составляется любая четная перестановка фишек 1, Л, 4, 5, 9.

Абсолютно так же решается головоломка и в случае двух свободных ниш, только циклы А и В надо заменить на у40 и Во (рис. 42,д). Фишки А теперь нет, и коммутатор AqBqAqxBqx действует немного иначе:

Но операции Fo = AoBoKoB0 1А0 2 отвечает такая же перестановка, как и операции F (рис. 42,в), и тем же

способом из нее образуются пары транспозиций вида (1,3) (х9у), где X и у — любые элементы цикла В0. А вот с четностью возможна накладка: А0 и В0 — это 6-циклы, а значит, нечетные перестановки. Поэтому в конце сборки фишки 1 и 3 могут переставиться. Чтобы застраховаться от этой неприятности, после установки фишек 1, 2, 3 надо определить четность перестановки остальных фишек. Если эта перестановка окажется нечетной, выполним один раз цикл В0. В результате получится уже четная перестановка, и все пройдет гладко. А тем, кому возиться с четностью не по душе, пригодится операция

(F0Вo)5~(l,3). (5)

Казалось бы, с рамкой пора прощаться. Но не будем спешить, ведь на самом деле мы еще как следует не воспользовались наличием двух дырок. Циклы А0 и Во можно устроить и при одной нише Я, если открыть прямое сообщение 1—4, 4—7, но цикл С0 (рис. 42,д) так легко бы не получился — здесь ниша А нужна по существу, чтобы обойти фишку 4. А с помощью этого нового цикла сделать отдельную транспозицию гораздо проще, чем по формуле (5):

C0-%Вo~(l,4). (6)

Задача 15. Какие из формул задачи 12 использованы при составлении транспозиций (5) и (6)? Составьте из циклов Ло, Во и Со все транспозиции вида где

х = 2, 3, 9.

Но и это еще не все. Операция (6) состоит из 24 ходов, если под ходом понимать сдвиг фишки вдоль одного ребра графа. Но ту же транспозицию можно сделать всего за 12 ходов (рис. 42,е): 9, 8, 7, 1, 1, 4, 4, 1, 1, 7, 8, 9 (здесь выписаны номера поочередно сдвигаемых фишек; первые три хода освобождают место 7, затем фишка 1 переводится на это место, фишка 4 — на место 1 и фишка 1 — на место 4, после чего фишки 7, 8, 9 возвращаются назад).

А теперь парадокс для вдумчивого читателя. Число 12, как и 24,— четное. Но при четном числе ходов, как мы знаем, образуется четная перестановка, ибо каждый ход — это обмен с воображаемой фишкой. Как же получилась одна транспозиция?!

Разгадку мы дадим позже, а пока отметим, что точно

Рис. 43. Головоломка «Киров — Вятка» и ее граф

так же получаются симметричные к (1,4) транспозиции (4,7), (3,б), (6,9), а также (1,7) и (3,9), ведь три цепочки ребер графа, соединяющие вершины А и Я, совершенно равноправны. Все другие транспозиции легко образуются из указанных сопряжением, а значит, мы имеем новый способ решения головоломки «рамка».

Таким же способом решается еще одна головоломка с двумя свободными местами, которая должна понравиться всем сторонникам возвращения городам старых названий. Вы видите ее вместе с ее графом на рис. 43: нужно поменять местами слова ВЯТКА и КИРОВ.

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

В заключение — разгадка парадокса. Если действительно вставить в ниши фишки А и Я и заменить все сдвиги транспозициями с этими реальными фишками, то после выполнения наших операций, переставляющих 1 и 4, мы увидим, что фишки А и Я тоже переставились. Так что на самом деле мы делаем не один, а сразу два обмена, но обмен двух дырок даже хорошо вооруженным глазом обнаружить невозможно.

Роторы

Как-то раз одна из центральных газет опубликовала письмо родителей, которые на волне общего увлечения приобрели сыну новую головоломку. Запутать ее, конечно, не составило труда. А вот распутать... Головоломка не поддавалась ни сыну, ни отцу, ни учителю в школе. Вконец отчаявшиеся родители обратились к изготовителям злосчастной игрушки. О результате можно судить по тому, что следующей инстанцией была газета.

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

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

Здесь нам поможет граф головоломки, изображенный на той же вклейке. Пожалуй, он требует пояснений. Линии, соединяющие некоторые из его 42 (по числу лунок), вершин, отвечают парам лунок, связанных друг с другом, т. е. лункам, которые можно состыковать вращением колесика. Легко понять, что любая лунка связана ровно с одной лункой на каждом из соседних дисков, значит, лунки центрального диска (6 точек в центре графа) связаны с 6 лунками каждая, а остальные лунки имеют по 3 связи. Лунки, непосредственно стыкующиеся с центральными (лунки 1-го уровня), образуют на графе внутреннее кольцо. При вращении колесика на 60° на их место придут лунки 2-го уровня — они изображаются точками следующего кольца. Дальше идет кольцо лунок 3-го уровня, попадающих на 1-й уровень при повороте на 120°, и т. д. Теперь головоломка превратилась в путешествие по графу, но возникают трудности при переносе теории на практику — слишком уж различаются расположения шариков в головоломке и на графе: на обоих рисунках вклейки изображено одно и то же (!) расположение цветов (черным на графе помечена дырка). Операция, легко и безошибочно выполняемая передвижением условных фишек по графу, в жизни превращается в длинную последовательность ходов, за которой сложно уследить из-за большого числа одинаковых шариков. Поэтому лучше пожертвовать локальностью основных операций, но сделать их покороче. К счастью, на графе много сравнительно коротких контуров с шестью вершинами, порождающих вполне подходящие операции — 5-циклы. Такая структура графа диктует и специфическую стратегию алгоритма.

Удобно расставлять шарики в следующей последовательности.

Рис. 44. Схема сборки одного уровня головоломки роторы

Прежде всего правильно заполняются лунки 1-го уровня. Это делается в два приема: сначала на этом уровне собирают красный, зеленый, фиолетовый и 3 белых шарика, а потом переставляют их внутри уровня на нужные места. Для иллюстрации мы приводим на рис. 44 немного видоизмененную часть графа, содержащую первые два уровня — внутреннее и внешнее кольца на рисунке — и центральные лунки. По 5-циклу, образованному пунктирными стрелками, можно перевести нужный шарик со 2-го уровня на 1-й. Второй 5-цикл, изображенный сплошными стрелками, позволяет переставлять шарики внутри 1-го уровня. При этом дырку можно через 2-й уровень переводить в разные места 1-го уровня (это показано на графе вклейки красными стрелками) и устраивать таким образом разные 5-циклы на 1-м уровне.

Потом колесико поворачивается на 60°, так что на место лунок 1-го уровня становятся лунки 2-го уровня. После их заполнения колесико снова поворачивается, и все повторяется. Одновременно с заполнением 5-го уровня нужно проследить, чтобы во всех центральных лунках оказались белые шарики. Когда будет заполнен последний, 6-й уровень, колесико в шестой раз повернется на 60°, и все придет на свои места.

МИНУС-КУБИКИ И МИНУС-ШАРИКИ

До сих пор речь шла об играх, в которых фишки были уложены на плоскость. Но старую идею Лойда— перемещать фишки за счет свободной ячейки — можно реализовать и в «многоэтажных» головоломках. В простейшей из них, так сказать, «кубической игре 7» семь одинаковых кубиков уложены в кубическую коробку вдвое большего размера, так что остается свободным

Рис. 45. Блокс-бокс:

а — общий вид; б — граф

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

Блокс-бокс

Головоломку из 7 кубиков придумал в 1973 г. датский математик Пит Хейн, автор многих популярных логических игр (у нас наиболее известны кубики СОМА, или кубики для всех). Кубики находятся в прозрачной закрытой коробке и передвигаются, когда коробку наклоняют. Хейн назвал свою новую игрушку блокс-бокс, что приблизительно переводится как коробка с кирпичиками. Можно спорить, повезло или нет этой головоломке, что вскоре после нее появилась супер-игрушка Рубика, которая затмила все другие головоломки, но в то же время и возбудила к ним небывалый интерес. Так или иначе, в первую очередь вслед за кубиком Рубика повсюду стали штамповать различные варианты объемной игры «15», точнее «7». В первоначальном варианте блокс-бокса, выпускаемом, в частности, в Венгрии, грани всех семи кубиков помечены двумя цветами: три грани, сходящиеся в одной вершине,— красным, три другие — зеленым. Мы по необходимости будем изображать и называть зеленый цвет черным (см. рис. 45,а). Первоначально кубики укладываются в коробку так, чтобы все грани, примыкающие к поверхности большого куба, были красными, а три грани в выемке — черными. Это и есть та правильная расстановка, которую требуется получить после перепутывания кубиков.

Легко сообразить, что при сборке каждый кубик надо ставить в точно определенный угол коробки — в этот

угол «смотрит» вершина кубика, находящаяся на пересечении трех красных граней. Поставить-то кубики по местам легко, но в блоке-боксе есть ловушка для неискушенных. На первый взгляд кажется, что красный и черный цвета совершенно равноправны. И действительно, в принципе кубики можно уложить так, чтобы все наружные грани были черными, а грани, сходящиеся в центре коробки,— красными. Но только для этого придется их вынуть из коробки. А того, кто будет пытаться «очернить» поверхность блокс-бокса, не вскрывая его, ждет участь попавшихся на удочку Лойда. Действительно, чтобы из красного блокс-бокса сделать черный, надо каждый кубик переместить в противоположный угол, т. е. сделать четыре обмена, считая и обмен одного из кубиков с дыркой. Следовательно, нужна четная перестановка. Но перевести дырку в противоположный угол можно только за нечетное число ходов, а это нечетная перестановка (ср. аналогичное рассуждение о секрете игры «15»).

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

Минус-кубик

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

Рис. 46. Минус-кубик: а — общий вид; б — конструкция кубичка; в — различные способы укладки кубичков

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

Итоговое распределение цветов сторон минус-кубика такое же, как для каждого отдельного кубика (П-образное). Можно описать все способы укладки кубиков, при которых это распределение возможно. Повернем коробку так, чтобы темными были передняя, задняя и правая стороны. Тогда каждый из семи кубиков должен оказаться в одном из пяти положений (рис. 46,в). При этом одно из положений 1—4 этого рисунка может встретиться не более двух раз, 3 других — не более одного раза, а остальные кубики должны быть в положении 5. В частности, в московском минус-кубике есть три кубика вида 5 и по одному видов 1—4, а в свердловском — два вида 5, два вида 4, остальные встречаются по разу.

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

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

Задача 15. Сколько всего существует различных укладок кубиков и сколько из них могут дать правильную расцветку, если различными считаются такие укладки, которые нельзя превратить друг в друга передвижениями кубиков внутри коробки и поворотами всей коробки? (Ответы: число всех различных укладок равно 1454, из них правильных — 48.)

Кубик-домино

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

1) суммы очков со всех сторон коробки были одинаковы;

2) сумма очков на заданных трех смежных сторонах коробки была: наименьшей, наибольшей, равнялась какому-нибудь числу.

Исходная укладка кубиков в коробочку показана на рис. 47, свободное место — там, где нарисован ложный

Рис. 47. Кубик-домино

кубик. На ЭВМ были просчитаны все варианты расположения кубиков. Оказалось, что их всего 2520. Из этих вариантов только в 42 случаях на гранях появляются одинаковые суммы очков (если на гранях ложного кубика стоит I, 3 и 4 очка). Сумма 10 возникает 28 раз, и ее получить легче всего, сумма 11 —8 раз, сумма 12 — 2 раза, суммы 7, 8, 9 и 14 — по одному разу, они наиболее труднодостижимы, а для суммы 13 задача оказалась неразрешимой. На трех смежных гранях можно получать суммы очков от 17 до 44. Количество вариантов сборки для одной и той же суммы колеблется от 1 (для сумм 17, 18, 44) до 246 (для суммы 31). Вот как много задач прячется в одной маленькой коробочке с семью кубиками.

Птички в клетке и поляроид

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

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

Естественный свет — это совокупность световых волн со всеми возможными направлениями колебаний, быстро и беспорядочно сменяющими друг друга. Поляроид пропускает волны с одним и тем же направлением колебаний. Это и есть поляризованный, точнее плоскополяризованный свет. На глаз поляроид неотличим от обыкновенного стекла. Но если сложить вместе два поляроида, повернутых друг относительно друга, свет через них вообще не пройдет. Из двух прозрачных стекол мы получаем черное стекло! На этом и основана идея головоломки.

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

Задача состоит в том, чтобы сделать головоломку полностью прозрачной или полностью непрозрачной. Она осложняется тем, что место, где в корпус вклеен поляроид, неизвестно. Поскольку все фишки внешне одинаковы и неотличимы, кажется, что действовать можно только наугад. Если вы достаточно терпеливы, то в конце концов случайно получите нужный результат. Но стоит ли тогда называть поляроид логической игрушкой? Оказывается, стоит, и даже очень.

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

Рис. 48. Варианты минус-шариков

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

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

Минус-шарики

Если вместо кубиков использовать шарики, мы получим головоломку минус-шарики. Имеется масса ее вариантов. Это и просто прозрачная коробочка, заполненная шариками, в которой место для одного шарика оставлено свободным (рис. 48), и конструкция Ф. П. Маликова (см. цветную вклейку), в основе которой — крестовина, склеенная из деревянных кубиков, и придуманный А. Дремовым и Г. Шевцовой лабиринт с шариками, тоже показанный на вклейке. Во всех конструкциях шарики перекатываются вдоль ребер или специальных каналов при поворотах коробки. В общем, годятся те же способы модификации, что и для игры «15», и каждый читатель может изобрести и сделать свою собственную, оригинальную и единственную в мире головоломку минус-шарик.

Глава 3. ВОЛШЕБНЫЕ КОЛЬЦА

Вот что написал в статье «Пересекая Рубикон» Дуглас Р. Хофстадтер, преемник знаменитого Мартина Гарднера на посту «математика-затейника» журнала «Сайентифик Америкен»: «Когда вы как следует присматриваетесь к головоломкам Лоренте, инкредиболу и даже кубику Рубика, вы начинаете понимать, что квинтэссенция всех этих головоломок, похоже, заключается в перекрывающихся циклах». Это вполне справедливо и для большинства головоломок из нашей книги.

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

ВОЗВРАЩЕНИЕ К ПРОЙДЕННОМУ

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

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

Мини-кольца

Чем меньше фишек в головоломке, тем проще ее решать. На рис. 50 показаны различные виды маленьких склеенных циклов (не более чем с пятью фишками в одном цикле) — это и есть мини-кольца.

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

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

Рис. 49. Склеенные циклы

Рис. 50. Головоломки мини-кольца: первая цифра под рисунком указывает количество фишек, вторая — номер варианта распределения фишек по кольцам

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

Если запутывать фишки только по правилам, не доставая их из коробочки, вернуть исходный порядок нетрудно. «Наука» вам не понадобится — действуйте методом проб и ошибок. Особенно просты варианты с одной фишкой на пересечении циклов. Но если вы будете вынимать фишки, а затем ставить их назад в произвольном порядке, лучше сказать в беспорядке, то обнаружите, что правильное расположение в некоторых вариантах мини-колец достигается только примерно в половине случаев. Для остальной половины, как в игре «15», лучшее, что можно сделать,— расставить правильно все фишки, кроме двух, которые будут переставлены. Например, в варианте 5-2 достижимы все 5! =120 перестановок, а в варианте 5-1 вдвое меньше — 60. Почему так происходит? Читателям, пропустившим математические разделы книжки, этот вопрос послужит стимулом вернуться к ним и познакомиться с понятием четности перестановки, а остальные уже поняли, что в варианте 5-1 (как в вариантах 6-3, 7-2, 8) могут получиться только четные перестановки. Особняком стоят мини-кольца 6-1 (этот случай эквивалентен путешествию по двухконтурному графу на рис. 39,д), в них достижима только У6 часть всех перестановок; при сборке достаточно поставить на места любые три фишки, тогда три другие сами собой окажутся на местах, если при запутывании фишки не извлекались из коробки.

На этих различиях основано несколько фокусов, которые вы сможете продемонстрировать своим менее искушенным знакомым. Для этого, скажем, в коробочке, склеенной по варианту 5-2, разместите фишки по варианту 5-1. Затем поменяйте местами две фишки и предложите партнеру вернуть головоломку в исходное состояние. После его неудачных попыток заберите коробочку и решите задачу, используя поворот сразу четырех фишек.

Такие игры-шутки можно устраивать и с другими мини-кольцами. Например, в варианте 6-2 небольшие за-

зоры между фишками и бортами коробочки позволяют циклически перемещать сразу все шесть фишек по периметру игрушки. Вместе с разрешенными циклами из четырех фишек это порождает все 6! = 720 возможных перестановок. Аналогичный трюк получается и в случае восьми фишек.

Восьмерка семиклассника

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

Вам понадобятся два квадратных куска фанеры или толстого картона со стороной 21—25 см и обычный набор шашек (который можно будет снова использовать по

Рис. 51. Восьмёрка С. Братуся: а — общий вид; б — устройство головоломки

прямому назначению, когда головоломка вам надоест). Разные заводы выпускают шашки разных диаметров, поэтому разметку головоломки вы должны выполнить сами, расставив шашки так, как показано на рис. 51,а, и наметив контуры каналов с помощью линейки и школьного лекала. Обозначение l,5d на рисунке означает, что расстояние между каналами в 1,5 раза больше диаметра шашки. На время разметки удобно закрепить шашки на своих местах кусочками пластилина. Контуры каналов выпиливают лобзиком, если у вас фанера, или вырезают острым ножом, если материалом является толстый картон. Между основанием головоломки и контуром каналов можно положить прокладки из картона, чтобы увеличить глубину каналов (см. разрез головоломки на рис. 51,б). Контур каналов, прокладки и основание склеиваются между собой. Шашки переворачивают, превращая их в «дамки», на обратную сторону наклеивают цветные кружки и вставляют в каналы. Число цветов может быть любым — от 2 до 20. От вас зависит, какое расположение при выбранном числе цветов считать правильным и в соответствии с ним раскрасить или оклеить цветной бумагой всю головоломку — эта окраска будет указывать, куда какие шашки ставить. Проверьте, хорошо ли двигаются шашки (удобно проталкивать сразу две — на концах общего участка каналов), и начинайте играть.

* * *

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

Будем считать, что все фишки различны — просто пронумеруем их числами от 1 до 20 (рис. 52,а). Сначала собирается внешняя дуга одного из циклов, например левого (фишки 13, 14, 20). Этот этап мы не объясняем. Впрочем, если у вас все же возникнут трудности,

Рис. 52. Решение восьмёрки

посмотрите, как это делается для волшебных колец из следующего раздела (см. рис. 54). Для упорядочения остальных фишек (правого кольца) достаточно выучить одну операцию: F = ЛЬПЛ~Х П~1Л~4 = ЛЪ [П,Л~[]Л~\ где А и Я — это сдвиги соответственно левого и правого циклов на одну позицию по часовой стрелке. Эта операция переставляет две пары фишек — на местах 16 и 17 и на местах 20 и 12 (см. рис. 52,а). Как ей пользоваться? Рассмотрим сопряженную операцию Fk = fJ~kFfJk, где fc=l, 2, 11. Она переставляет фишки уже на й-м и 20-м местах (а также по-прежнему на 16-м и 17-м). С помощью операций Fk правое кольцо можно упорядочивать последовательно по следующему правилу.

Смотрим, какая фишка на 20-м месте. Если ее номер k (fe=l, 2, 12), то выполняем Fk (F при &=12), если же это фишка 20, то находим в правом кольце любое неправильно заполненное место и выполняем операцию FnFk, где п — номер этого места, a k — номер занимающей его фишки (рис. 52,б); после этого снова смотрим содержимое 20-го места и т. д. Каждый такой шаг добавляет новое правильно заполненное место в правом кольце. В конце концов все его фишки и с ними фишка 20 попадут на свои места. Но это еще не все — фишки 16 и 17 могут оказаться переставленными. В этом случае нужно выполнить операцию FIF тринадцать раз подряд, и они переставятся обратно. (Кстати, вообще всю сборку можно осуществить только на основе операции (F1F) , но это слишком долго.)

Действуя по науке, можно избавиться от самого последнего шага: гарантировать, что фишки 16 и 17 окажутся где положено. Для этого достаточно перед началом сборки правого кольца определить четность перестановки его фишек, и если перестановка нечетна, сдвинуть правый цикл на одну фишку (ср. знакомый нам алгоритм рамки и алгоритм головоломки ротос в следующем разделе). Описанный алгоритм с соответствующими поправками годится для всех головоломок типа склеенных циклов, а они встретятся нам еще не раз. За исключением обсуждавшегося уже варианта мини-колец 6-1 (см. рис. 50), он всегда позволяет получить все четные перестановки фишек, а если длина хотя бы одного цикла четна, то и все вообще перестановки. В случае, когда оба цикла содержат нечетное число фишек, нечетные перестановки в принципе недостижимы.

ПЕРЕСЕКАЮЩИЕСЯ КОЛЬЦА

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

Хорошо забытое старое

Игрушку из двух пересекающихся колец, заполненных шариками, придумал в 90-х годах прошлого века англичанин Уильям Черчилль. Примерно в то же время американец Сэм Лойд изобрел свою игру «15». Почему же головоломка Черчилля оказалась прочно забытой, а игра «15» в кратчайшее время завоевала мир — и это при тогдашних средствах связи?! Можно предположить, что кем бы ни был автор волшебных колец, он наверняка не был таким мастером рекламы, как Лойд. К тому же игра «15» намного проще. Так или иначе, но спустя почти сто лет лепестки волшебных колец распустились вновь, так сказать, на почве «кубикомании». Головоломка была переоткрыта почти одновременно в нескольких странах, в том числе и у нас.

Наибольшее распространение получил ее венгерский вариант. В этом варианте каждое кольцо содержит по 20 шариков, а оба вместе — 38 шариков четырех цветов (по цветам: 10+10 + 9 + 9). На 3-й странице цветной вклейки показано исходное «правильное» расположение цветов; можно составлять и другие интересные комбинации: например, в каждом кольце устроить периодическое чередование каких-то двух или всех четырех цветов. Кстати, число расцветок, аналогичных правильной, т. е. таких, что шарики каждого цвета выстроены в одну дугу, равно 32. А общее число всех комбинаций цветов равно

(Действительно, если бы все шарики были различны, то число их перестановок в кольцах равнялось бы 38!. Но распределение цветов не меняется при перестановках шариков одинакового цвета. Можно независимо друг от друга переставлять 10 шариков первого цвета, 10 — второго и по 9 шариков еще двух цветов, что дает 10! • 10! *9!-9! перестановок для одного и того же цветного узора, или 38!/(10!2-9!2) узоров.)

Другой вариант пересекающихся колец под названием «ротос» выпускается в ГДР (рис. 53,а). Здесь имеется 10 пронумерованных фишек по 6 в кольце, лишь на 2 больше, чем в мини-кольцах — игре для юниоров. Но ротос — это уже взрослая головоломка, и ее невозможно решить, действуя наугад. Детали ротоса показаны на рис. 53,б. Закрытая со всех сторон, эта игрушка хороша тем, что перемещать фишки в ней гораздо удобнее, чем в венгерских кольцах. Принцип ее конструкции может быть использован и для головоломок с большим числом подвижных элементов.

Алгоритм волшебных колец

Пересекающиеся циклы отличаются от склеенных тем, что их общие элементы не стоят рядом. Но эта разница нивелируется, если сдвигать циклы на несколько позиций — так, чтобы элемент из одной точки пересечения попадал в другую. Иначе говоря, основной коммутатор нужно составлять не из циклов А и Я, а из их повторений — Л5 и Я5 для венгерских колец, Л2 и Я2 — для ротоса. Сама же последовательность сборки будет в целом такой же, как, например, для восьмерки.

Рис. 53. Ротос: а — внешний вид; б — конструкция

Рис. 54. Волшебные кольца: установка одноцветных шариков в левом кольце

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

На первом этапе устанавливаются 14 шариков внешней дуги левого кольца. Это совсем просто, но для полноты иллюстрируем один из моментов этого этапа на рис. 54. (Первые два показанных хода нужны, чтобы перевести устанавливаемый шарик на правое кольцо; если этот шарик находится не на внешней, как на рис. 50, а на внутренней дуге левого кольца, этот перевод делается через нижнюю точку пересечения колец.)

Следующие этапы выполняются с помощью операции Ап = Л-п-5П-ъЛьПъЛ\ я = 1, 2, 3, 4, где А и Я — повороты левого и правого колец на один шарик по часовой стрелке (АП = Л~П [Л-5,Я-5] Л“). Эта операция меняет местами шарик а правого кольца с шариком п левого, а также шарики b и с левого кольца (рис. 55). Последние два шарика уже одноцветные, поэтому их перестановка не влияет на распределение цветов, так что, по сути дела, Ап— это транспозиция (а,л).

Второй этап — установка четырех шариков внутренней дуги левого кольца (шариков 1, 2, 3, 4 на рис. 55). Допустим, эти шарики должны быть белыми. Если хотя бы один из них — на я-м месте — не белый, то белый шарик обязательно есть в правом кольце. Поворотом этого кольца переводим его на место а (см. рис. 55) и выполняем Ап\ этот белый шарик попадет на п-е место.

Третий этап — сборка правого кольца — производится точно так же, как для восьмерки, с той разницей, что вместо использованной там операции F нужно взять операцию А\. (Обе эти операции заменяют в правом кольце ровно один элемент, благодаря чему можно применить метод «посадки — высадки».) Сейчас ситуация даже проще, так как нам не важно, окажутся шарики b и с (см. рис. 55) переставленными или нет.

Примерно так же решается головоломка ротос. Сначала ставят на свои места фишки 1, 4, 8. Потом с помощью операции В = Л3П2Л~2П~2Л~1 = Л3 [Я2,Л-2] Л~3 (рис. 56,а) и ее сопряжений Вп = ППВП~П, дающих пары транспозиций (1,8) (6,х), где х — любая фишка правого кольца,— все остальное. Но фишки 1 и 8 в результате могут переставиться. В венгерских кольцах аналогичная проблема снимается тем, что переставленные фишки не-

Рис. 55. Основная формула волшебных колец

Рис. 56. Основные операции алгоритма ротоса

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

Первый — найти операцию, осуществляющую транспозицию (1,8). Заметим, что при умножении операции В~(1,8) (6,7) на Я~(2, 3, 7, 10, 9, 5) транспозиция (6, 7) «подключается» к 6-циклу и образует цикл 7-го порядка (рис. 56,б), а при 7-кратном повторении ВП этот 7-цикл исчезнет, в то время как транспозиция останется. Так мы получаем искомую операцию (ВЯ)7~(1, 8) (рис. 56,в). Между прочим, в алгоритме восьмерки тоже используется аналогичная операция (Я/7)13. Продумайте, как она устроена,— этот прием получения транспозиций годится и для других головоломок. А для подлинных ценителей приведем две операции-изюминки, найденные Д. Вакареловым для перестановки фишек 1 и 8 ротоса: (Л2Я X

(20 ходов, если ходом считать любой поворот кольца фишек) и (19 ходов).

Второй путь — вообще не доводить дело до транспозиции. Для этого нужно установить фишки 1, 4, 8, выяснить, является ли перестановка остальных фишек четной, и если нет, сдвинуть фишки в правом цикле на одно или три места (П±1 и Я3—нечетные перестановки), а потом ничтоже сумняшеся действовать по алгоритму. Все это нам знакомо. Но нелишне напомнить на примере (рис. 56,г), как определяется четность перестановки. На этом рисунке цифрами в кружочках показана фактическая расстановка фишек. Цифры, которые стоят возле кружков, указывают правильную расстановку, к которой мы стремимся. Стрелки, соединяющие кружки, обозначают перемещения, которые необходимо сделать, чтобы решить головоломку. Эти стрелки образуют два цикла длиной 2 и 4, т. е. две нечетные перестановки, а композиция двух нечетных перестановок четна. Таким образом, требуемая перестановка четная, и операциями Ап можно решить головоломку.

* * *

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

СУПЕРКОЛЬЦА

Конструкторы головоломок не устают заботиться о пище для умов любителей головоломок. И истоки своего вдохновения многие из них находят в пересекающихся циклах. Оказалось, что достаточно минимального увеличения числа точек пересечения циклов (с двух

до четырех) или числа циклов, поворачиваемых за один раз, чтобы сложность головоломки резко возросла. О таких головоломках и рассказывается в этом разделе.

Звездочка и космические орбиты

Может ли быть, чтобы изобретатель не знал, как пользоваться своим изобретением? Если и можно подыскать подобные примеры, то с большим трудом. Трудно в любых областях конструирования, но не в головоломках. Здесь за последнее десятилетие изобретатели как будто состязаются в придумывании игрушек, с которыми сами не могут справиться. Пример приведен на рис. 57. Конструкция симпатичной звездочки оказалась такой простой и технологичной, что завод, на котором работали ее авторы, немедленно принял ее к производству. Первая партия разошлась прямо среди сотрудников предприятия. И вот здесь начались неприятности. Оказалось, что никто из нескольких сот обладателей новой оригинальной головоломки и их домочадцев не смог ее решить. Помочь им не сумели и авторы-изобретатели. Тогда было принято решение срочно уменьшить количество цветов шариков в игрушке с пяти до двух, и именно двухцветный вариант стал поступать в продажу. Но и этот вариант решить очень не просто. Поэтому большинство звездочек только один раз явили миру правильное расположение своих шариков — когда они лежали на прилавках магазинов. Однако такая судьба не грозит звездочкам, хозяева которых научились пользоваться

Рис. 57. Звездочка

«тремя ключами»: коммутатором, сопряжением, повторением, с которыми мы познакомились в конце первой главы. Желобки звездочки напоминают формой буквы А и V; так и обозначим сдвиги шариков по ним на одно место. Воспользуемся чудесными «ключами»: составим коммутатор K = A6V~~4A~*V4 (показатели степеней определяются числом шариков в желобках между верхними точками пересечения), повторим его три раза и с помощью сопряжения образуем операцию А~]К3А. Можете проверить, что она действует так, как показано на рис. 57,— переставляет два шарика цикла А и два шарика разных циклов. А теперь сборка цветов в звездочке никакой сложности не представляет.

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

Игра «12»

Космические орбиты легко изготовить тем же способом, что и восьмерку. А вот как реализовать головоломку «12», схема которой приведена на рис. 58,а? На первый взгляд это кажется почти невозможным. По крайней мере ее автор Д. Вакарелов, упоминавшийся нами в предыдущей главе, указывает только два варианта: доступный всем, но не очень притягательный — просто двигать фишки по графу, нарисованному на листке бумаги, и притягательный, но не очень доступный — вывести изображение игрового поля на экран компьютера и двигать «фишки», нажимая на клавиши (естественно, для этого нужно составить соответствующую программу). Но, как это ни удивительно, игру «12» можно выполнить, как говорят, «в металле», причем ее конструкция чрезвычайно проста, а потому изящна. Не хочется сразу ее раскрывать — мы сделаем это чуть позже, а пока у вас есть возможность изобрести ее самостоятельно.

Решить головоломку «12» в принципе можно из тех же общих соображений, что и звездочку, но мы приведем

Рис. 58. Схема головоломки «12» и основная операция

другое, оригинальное решение, найденное Д. Вакареловым. Все оно сводится к одной операции T=F\ где F = Л2ПЛ2ПЛП*ЛП. Операция F циклически переставляет фишки 1, 2, 12 и меняет местами 6 и 7 (рис. 58,б), поэтому Т переставляет уже только 6 и 7. А с помощью Т легко получить любую перестановку фишек. Автор головоломки поделился с нами своим секретом придумывания операций. Например, чтобы найти операцию 7\ он перебрал довольно много способов переставить фишки 6 и 7, не обращая внимания на остальные. Среди них он искал те, при которых остальные фишки переставляются по циклам нечетной длины. Повторением такой операции, очевидно, можно аннулировать эти нечетные циклы, сохранив транспозицию (6, 7). Конечно, желательно найти операции покороче, а что еще важнее, такие, для которых нечетные циклы исчезают после не слишком большого числа повторений. В данном случае его поиски увенчались успехом. Найденные таким способом операции производят впечатление какого-то загадочного чуда и особенно эффектны.

Цветная капуста

При инженерном поиске труднее всего даются простые решения сложных задач. Зато они же доставляют и самую большую радость. В городе Черкесске работает инженер Павел Манташьян, изобретающий головоломки, сложность решения которых сочетается с простотой конструкции. На рис. 59,а и вклейке изображена его игра «цветная капуста», одна из целой серии ей подобных. Она представляет собой пластину с лунками, образующими правильную треугольную сеть (рис. 59,б).

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

Решение малой головоломки, как легко понять, сводится к алгоритму ротоса.

Рис. 59. а — фрагмент головоломки «цветная капуста»; б — сеть лунок

Рис. 60. Механическая реализация игры «12»

Рис. 61. Карманная головоломка П. Манташьяна

А вот головоломка с большим диском относительно проста только на большом поле, где можно найти два положения диска, перекрывающиеся по 1, 3 или 4 лункам. Коммутатор поворотов диска в таких двух положениях или сам будет «хорошей» операцией, или даст «хорошую» операцию при повторениях. Но если на поле тесно, головоломка становится намного сложнее.

А теперь, как было обещано, о механике игры «12». Расположим лунки в поле не по треугольной, а по квадратной сетке и соединим соседние лунки желобками-направляющими (рис. 60). В диске вместо отверстий сделаем 8 радиальных прорезей под углом 45° друг к другу. Тогда при вращении диска шарики будут скользить в прорезях и, направляемые желобками, перекатятся в соседние лунки.

«Цветная капуста» — игра настольная. Но П. Манташьян разработал и ее карманный вариант (рис. 61). Роль поля здесь играет большой диск с отверстиями, который может вращаться независимо от малого. Оба диска помещены в цилиндрический корпус. Чтобы переместить шарики, их пересыпают в отверстия малого диска, переворачивая корпус.

Глава 4. ПЕРЕКАТЫШИ

Признаться, мы долго подыскивали подходящее место двум головоломкам, о которых рассказывается в этой главе; они кочевали из одной главы в другую. Одна из них — тщательно закамуфлированное путешествие по графу, а другая — столь же тщательно скрытые пересекающиеся циклы. Но самое главное и интересное в их решении — это обнаружить их истинную суть, после чего остается применить к ним наши хорошо отработанные приемы. К тому же «маски» этих головоломок похожи одна на другую: в обеих головоломках есть дырки, позволяющие переставлять элементы; сами элементы — это пирамидки, только в одном случае — настоящие тетраэдры, а в другом — пирамидки из шариков, вроде тех, которые стоят в музеях рядом со старинными мортирами, да и перемещаются эти пирамидки на свободное место не сдвигами, а перекатываниями. Такое сходство не случайно. У обеих головоломок одни и те же авторы — изобретатели из Кривого Рога А. Дремов и Г. Шевцова, ставшие победителями на конкурсе игр-головоломок, организованном «Комсомольской правдой» в 1983 году.

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

ВОЛШЕБНЫЕ ПИРАМИДКИ

Возьмем 23 одинаковые пирамидки (правильных тетраэдра) с раскрашенными в 4 цвета вершинами (см. последнюю страницу цветной вклейки) и расставим их в шестиугольной коробке, дно которой расчерчено на 24 треугольника, совпадающих с гранями пирамидок. Будем поочередно перекатывать их через ребро на свободный треугольник дна (это дырка). При этом будет меняться как расстановка пирамидок в коробке, так и ориентация каждой пирамидки. Как всегда, какое-нибудь красивое расположение, скажем, то, что показано на вклейке, объявим правильным и попробуем научиться восстанав-

ливать его после нескольких беспорядочных перекатываний.

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

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

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

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

Поставим все пирамидки в коробочку так, чтобы образовалось наше правильное расположение (рис. 63,а), и запомним, как ориентирована каждая пирамидка. Теперь уберем все пирамидки, кроме одной, и обойдем ею все поля коробочки, сравнивая ее ориентацию на каждом поле с правильной, которую мы запомнили. Мы увидим, что только на двух полях эти ориентации совпадут: на

Рис. 62. Катание пирамидки по треугольной решетке

Рис. 63. а — расцветки оснований пирамидок для правильного расположения; б — превращение пирамидок-перекатышей в путешествие по графу

Рис. 64. 3-цикл, порождаемый коммутатором П~2Л~2П2Л2

исходном поле и на поле, симметричном ему относительно центра шестиугольника. Это легко проверить, накладывая рис. 63,а на рис. 62: при любом наложении только на двух полях совпадут цвета вершин (на рисунках они отмечены звездочками). Так уж устроено приглянувшееся нам правильное расположение; если бы мы выбрали другое, то и поля с совпадающими ориентациями были бы другими. Занумеруем числами от 1 до 12 поля головоломки (рис. 63,б) так, чтобы симметричные поля получили одинаковые номера, а каждой пирамидке дадим номер поля, на котором она стоит в правильном положении. После запутывания номера будут стоять хаотически. И теперь наша цель — перевести каждую пирамидку на поле с ее собственным номером. А это значит, что мы, наконец, превратили волшебные пирамидки в путешествие по графу. В самом деле, 24 треугольные ячейки можно заменить вершинами графа, соединив ребром вершины, отвечающие смежным ячейкам, а вместо пирамидок можно взять фишки с номерами от 1 до 12 (все номера, кроме 1, берутся по два раза). Фишки нужно поставить по вершинам графа в соответствии с исходным беспорядочным расположением пирамидок, а потом, двигая их по линиям графа, образующим сеть из шестиугольников, перевести в положение, показанное на рис. 63,6. Головоломки этого типа подробно обсуждались в главе «Игры с дыркой». Здесь можно, например, пользоваться коммутаторами циклических перестановок фишек в соседних шестиугольниках (рис. 64), которые порождают 3-циклы. А можно использовать и соображения, высказанные при обсуждении алгоритма головоломки роторы.

Итак, волшебные пирамидки оказались довольно близким родственником игры «15», хотя с виду предположить это было трудно. Но в игре «15» все фишки действительно пронумерованы, поэтому сразу ясно, где место каждой; пирамидки же сами по себе абсолютно одинаковые, различаются они только своим расположением относительно коробки, и нужны значительные усилия и тренировка, чтобы научиться безошибочно определять, куда какую пирамидку ставить.

Задача 1.* При каком условии одну расстановку пирамидок можно перевести в другую? Каково максимальное число попарно непереводимых друг в друга расстановок?

СИММЕТРИЯ

Кажется, что может быть общего между волшебными кольцами (гл. 3) и игрой симметрия, нарисованной на четвертой странице цветной вклейки? Внешне они действительно совершенно не похожи, но, как вы вскоре увидите, между ними существует глубокая связь.

Подвижными элементами симметрии служат 12 пирамидок, склеенных из 4 шариков и расставленных в коробке, имеющей форму неправильного шестиугольника. Дно коробки покрыто 39 круглыми лунками, расположенными по треугольной решетке. Основание каждой пирамидки занимает три лунки, так что 39 — 3« 12 = 3 лунки остаются свободными. (Заметим, однако, что при такой форме коробки невозможно установить в нее 13 пирамидок одновременно.) Благодаря наличию пустых лунок пирамидки можно перекатывать, причем для перекатывания нужна только одна пустая лунка рядом с пирамидкой.

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

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

Идея решения. Пусть ваши пирамидки занумерованы так, как на рис. 66. Если последовательно перекатывать их в следующем порядке: 7, 2, 2, 1, 1, 4, 4, 6, 6, 10, 11, 11, 8, 8, 2, 2, 1, 4, 6, 10, 10, 11, 11, 8, 2, 7, соблюдая общее направление движения по часовой стрелке вокруг кружка, отмеченного на этом рисунке звездочкой, то образуется один из упомянутых выше замаскированных циклов (1, 2, 8, 11, 10, 6, 4). Другой цикл (2, 3, 5, 9, 12, 11, 7) —ему симметричен. Ну а головоломки с пересекающимися циклами мы решать умеем. В данном случае можно просто пользоваться алгоритмом ротоса

Рис. 65. Узоры «симметрии»

Рис. 66. Пересекающиеся циклы в игре «симметрия»

(с. 93), даже с теми же операциями, только о четности заботиться не надо (почему?). Пустые лунки в узоре, который мы хотим составить, могут быть расположены иначе, чем в стандартном положении рис. 66. Тогда следует запомнить ходы, перемещающие дырки нужным образом, и переставить пирамидки в стандартном положении с учетом того, что выбранный узор должен возникнуть после этих ходов.

Задача 2. Попробуйте построить граф головоломки симметрия и сформулировать соответствующие ей правила перемещения фишек по этому графу.

Задача 3*. Найдите как можно более короткие операции, преобразующие узоры рис. 65 друг в друга.

Задача 4*. Как могут располагаться пустые лунки при всевозможных расстановках 12 пирамидок в коробке? Все ли эти расположения дырок можно получить из стандартного перекатываниями? Сколько различных цветных узоров можно составить в игре симметрия и сколько из них достижимы из заданного положения?

Глава 5. МНОГОЭТАЖНЫЕ ГОЛОВОЛОМКИ

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

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

ГОЛОВОЛОМКИ-БАШНИ

Игрушки, которые вы видите на рис. 67 и с. 4, 5 цветной вклейки,— едва ли не самые распространенные перестановочные головоломки и в нашей стране, и во всем мире. Все они похожи на башни, но этажи у этих башен вращаются. «Квартиры» в этажах населены цветными шариками или пластинками. В исходном состоянии одна из квартир, обычно на «чердаке», свободна. Она создает возможность перемещения элементов вдоль вертикальных подъездов. Эти похожие между собой игрушки появились в основном в Венгрии, вскоре после кубика Рубика. У каждой из них была своя история...

Варикон и фонарик

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

Рис. 67. Головоломки-башни: фонарик, двойная вавилонская башня, огурец

специальную тетрадь, которая лежит у него на столике возле кровати. Попал в эту тетрадь и эскиз будущего варикона. Первую модель головоломки изобретатель поручил испытать собственным внукам. Варикон оказался очень удобным для массового производства, и его выпуск в начале 80-х годов достиг 1 млн. шт. в год. Выпускаются вариконы с четырьмя, пятью, шестью и семью пазами-подъездами. Количество пазов равно количеству цветов шариков, так что первоначально в каждом пазу находятся шарики одного цвета. Вся математическая теория игр с дыркой, точнее путешествий по графам, остается в силе и для варикона, но так как в этой игрушке много одинаковых шариков, решать ее проще, чем, скажем, игру «15». Путем небольших переделок варикон можно значительно усложнить, причем разными способами. О том, как это сделать, и о математических изюминках таких игрушек пойдет речь ниже.

Головоломки типа фонарика появились в 80-е годы сразу в нескольких странах. На вклейке и рис. 67 (слева) показаны варианты фонарика. Они отличаются друг от друга формой корпуса (цилиндр, призма, два составленных основаниями усеченных конуса), формой фишек

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

Фонарики, особенно фонарик-призма на рис. 67, напоминают свернутую в трубочку игру «15», которая много раз рассматривалась в литературе, посвященной головоломке Лойда. Однако точной аналогии здесь нет. В цилиндрической игре «15» фишки можно сдвигать на одно место и по вертикали, и по горизонтали, а в фонарике такие горизонтальные сдвиги запрещены — можно поворачивать только весь этаж целиком.

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

Вавилонская башня

Эта головоломка была придумана в 1981 году в Венгрии, как и варикон, и тоже инженером — Эндре Папом с коллегами. Название для нее они взяли из известного библейского мифа. В этом мифе рассказывается, что когда-то все люди Земли говорили на одном языке. Но вот однажды жители города Вавилона решили построить башню до неба. Работа продвигалась успешно, и башня достигла такой высоты, что переносчикам кирпичей, как утверждает легенда, требовался целый год, чтобы один раз доставить свой груз наверх, каменщикам. Богу с небес все лучше и лучше были видны строители, и его очень беспокоила вера людей в безграничность собственных сил. Поэтому, захватив с собой семьдесят ангелов, Бог однажды спустился на землю и смешал языки строителей, а заодно и всех остальных народов. С тех пор люди заговорили на разных языках и перестали по-

Рис. 68. Механизм вавилонской башни

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

Название «вавилонская башня» подходило к головоломке венгерского инженера по двум причинам: во-первых, игрушка похожа на башню (см. с. 5 цветной вклейки), во-вторых, в ней тоже происходит перемешивание, правда, не языков, а разноцветных шариков. В отличие от варикона в вавилонской башне в исходном состоянии нет свободной ячейки, но на нижнем этаже есть два шарика, любой из которых (но не два сразу!) можно утопить внутрь корпуса (рис. 68). Стандартным считается расположение, при котором все шарики — жители одного подъезда — имеют одинаковый цвет, но распределены по оттенкам — от темного внизу до светлых наверху.

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

Как собирать варикон

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

Рис. 69. Граф и основные операции алгоритма варикона

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

Порядок сборки может быть таким: сначала расставляются шарики первого — нижнего этажа, затем второго и т. д. Установленные шарики в дальнейших перемещениях не участвуют. Например, перевести шарик из ячейки X четвертого этажа (см. рис. 69,а) в ячейку у второго этажа можно по выделенному жирными линиями циклу графа, проходящему через пустую ячейку Ч. Обратим внимание, что этот цикл затрагивает на первых двух этажах только одну ячейку у. На предпоследнем этаже правильно заполняются все ячейки, кроме, может быть, одной,— обозначим ее буквой а (рис. 69,б); вместе с чердаком она используется при сборке последнего этажа. Все ячейки последнего этажа, кроме ячейки ft, расположенной над а, заполняются с помощью 3-циклов, аналогичных тому, что показан на рис. 69,6. В результате все шарики будут расставлены правильно, потому что в ячейках а и b (в случае варикона) окажутся шарики одного цвета — того именно, который и должен быть в вертикальном ряду, содержащем эти ячейки.

По «принципу чайника»

Один математик объяснял, как вскипятить воду: «Надо наполнить чайник, зажечь плиту, поставить чайник на огонь и снять, когда забулькает».— «А если чайник уже полный?» — «Тогда нужно вылить из него воду, и задача сведется к предыдущей...» Вслед за этим персонажем математического фольклора мы применим принцип чайника к фонарику и вавилонской башне.

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

В свою очередь, вавилонская башня превращается в фонарик, когда один из шариков убирается в нишу. Однако здесь есть несколько особенностей. Первая — наличие второй ниши. Зачем она нужна, если все равно сразу двумя нишами воспользоваться нельзя, а одной уже достаточно, чтобы, как в фонарике или вариконе, свободно переставлять все шарики? Но в том-то и дело, что не все! Ведь шарик из ниши нельзя «пустить в оборот», пока не занята другая ниша и не возникло свободное место. Вывод: сборка вавилонской башни должна начинаться с того, что напротив незанятой ниши А устанавливается правильный шарик (другая ниша В в это время, естественно, заполнена). Затем ниша В освобождается, а в нишу А прячется правильный шарик. Дальше сборка проводится так же, как в случае фонарика, причем в подъезде, содержащем нишу Л, шарики устанавливаются со сдвигом на один этаж вниз. По завершении сборки их надо будет сдвинуть вверх, освободив место для скрытого шарика. Но наиболее важная особенность вавилонской башни в том, что шарики в ней различны. Поэтому в самом конце нас может подстерегать сюрприз. Когда будут расставлены все шарики, кроме двух последних (а и b на рис. 69,в), может оказаться, что эти два шарика надо поменять местами. В вариконе и фонарике такой проблемы не возникает, так как два последних шарика обязательно будут одного цвета. Ниже мы увидим, что ситуация с двумя переставленными шариками возможна только в башнях с четным числом подъездов. Действовать здесь нужно так: поставить нижний шарик (а на рис. 69,в) на свой, предпоследний этаж, но в соседний

подъезд, а затем с помощью 3-циклов расставить все шарики предпоследнего этажа, приняв а за точку отсчета. В результате каждый из этих шариков перейдет в соседний подъезд, а шарик b водворится на свое место этажом ниже. Останется повернуть предпоследний этаж, на котором произошла циклическая перестановка шариков, так, чтобы все они попали в свои подъезды. Если обозначить через В и H сдвиги шариков на свободное место вверх и вниз, а через R — поворот предпоследнего этажа на одно место, то транспозиция переставленных шариков запишется формулой (RB2RH2)k /?, где k — половина числа подъездов.

Комбинаторика головоломок-башен

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

Достаточно изучить варикон с я>2 подъездами и т^2 этажами (не считая чердака) — другие башни сводятся к нему по «принципу чайника». Чтобы сразу охватить все модификации, будем считать все шарики разноцветными. Нарисуем на корпусе вертикальную черту, пересекающую все этажи,— такая черта есть на вавилонской башне (см. вклейку); благодаря ей можно следить не только за шариками, но и за тем, как этажи повернуты относительно корпуса. Для каждого этажа имеется п положений — это дает всего m «я вариантов; число всевозможных перестановок шариков при условии, что чердак свободен, равно (тп)\. Итого получаем тп-(тп)\ различных состояний размеченного варикона. Но все ли из них достижимы?

Рассмотрим сначала только те состояния варикона, при которых все этажи стоят правильно, т. е. кусочки черты на корпусе образуют одну линию; назовем такие состояния хорошими. Последовательность наших действий при перемещении шариков выглядит так: поворот каких-то этажей — сдвиг шарика в свободную ячейку — новый поворот — сдвиг — опять поворот и т. д. Можно условиться, что после каждого сдвига этажи сначала возвращаются на место — в хорошее состояние, а потом уже выполняется новый поворот. Тогда наша цепочка ходов запишется так: (поворот, сдвиг, обратный пово-

рот) — (поворот, сдвиг, обратный поворот) и т. д. Если мысленно разрезать варикон по черте и развернуть на плоскость, мы получим уже знакомый нам граф рис. 69,а, a каждый ход (поворот, сдвиг, обратный поворот) изображается перемещением фишки по одной из линий этого графа. Итак, хорошие состояния — это те и только те, которые можно получить, путешествуя по графу варикона. Путешествия по графам рассматривались в одноименном разделе. Из сказанного там следует, что, передвигая фишки по графу варикона, можно получить все их четные перестановки и ничего другого, ибо все замкнутые контуры графа состоят из четного числа ребер. (Напомним, что мы ограничиваемся только теми перестановками, при которых чердак свободен.) Впрочем, в данном случае это легко показать и непосредственно. При каждом сдвиге фишки по графу пустое место переходит на соседний этаж. Если в начале и в конце свободной была одна и та же ячейка (чердак), то количество сдвигов пустого места вниз равно количеству сдвигов вверх, следовательно, общее число ходов четно. А отсюда, точно так же, как для игры «15», выводится, что возникающая в результате этих ходов перестановка фишек должна быть четной. Почему можно получить любую четную перестановку р? Предложенный выше алгоритм позволяет произвольным образом расставить все шарики, кроме, может быть, двух. Значит, всегда можно получить перестановку р'у которая отличается от нужной перестановки р разве что транспозицией двух последних шариков. Но р', как и р,— четная перестановка, а перестановки, отличающиеся одной транспозицией, имеют разные четности. Следовательно р' = р.

Итак, хорошие состояния — это всевозможные четные перестановки шариков, и их число равно (тп)\/2. Общее же число состояний с учетом поворотов этажей равно тП'(тп)\/2.

Теперь сотрем черту. Тогда разные состояния головоломки будут отличаться только положением шариков. Разумеется, мы можем получить все (тп)\/2 четных перестановок, но это число может увеличиться за счет вращения этажей. Здесь надо рассмотреть два случая. Если число п подъездов нечетно, то поворот этажа на одно место — это циклическая перестановка нечетного числа элементов, а такие циклы — четные перестановки и, следовательно, никаких новых состояний не дадут. Иначе

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

Вернемся к приведенному выше алгоритму сборки варикона. Если два шарика на последнем этапе оказались переставленными, то, значит, мы пришли к нечетной перестановке, а это возможно только тогда, когда п четно. Но в этом случае достаточно повернуть один этаж (удобнее предпоследний) на одно место — возникает четная перестановка, с которой расправляться мы умеем. Примерно такой способ и был описан ранее. Только сначала переставили шарики, а потом повернули этаж.

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

При четном п встречается еще один вариант башен — с двумя вертикальными чертами, проведенными симметрично относительно оси башни. Его особенность в том, что при повороте любого этажа на 180° нарисованные на этом этаже черточки поменяются местами и новое положение будет неотличимо от старого. В то же время каждый шарик этого этажа поменяется местом с диаметрально противоположным шариком, т. е. произойдет k = n/2 транспозиций. Получающаяся перестановка будет четной при четном k и нечетной при нечетном к. Рассуждая, как выше, легко убедиться, что для башни с двумя чертами число хороших состояний равно (тп)\ при нечетном k и (тп)\/2 при четном fe, а общее число состояний получается из этих чисел умножением на тк. Кстати, в стандартной вавилонской башне, выпускаемой в Венгрии, как раз есть две черты.

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

бы (тп)\. В действительности оно меньше, так как перестановки шариков одного цвета для нас неразличимы. Сколько же имеется различимых перестановок? Шарики каждого из п цветов можно переставить m! способами; всего перестановок, не меняющих расцветки, будет (т\)п. А значит, число различных расцветок равно (тп)\/(т\)п.

Какую же из головоломок-башен труднее всего собрать? Нам кажется — вавилонскую башню с нечетным числом m этажей и либо с нечетным числом п подъездов, либо с четным числом подъездов и с одной чертой. Дело в том, что при нечетном п или при четном я, но при наличии черты, из которой в результате сборки надо составить одну линию, в головоломке возможны только четные перестановки шариков. В то же время, переставив на каждом этаже шарики в двух подъездах, мы совершим m транспозиций, т. е. нечетную перестановку. И вообще, при любой нечетной перестановке цветов подъездов получается нечетная перестановка шариков. Если хозяин головоломки забудет первоначальный порядок цветов, а ему, пожалуй, и в голову не придет его запоминать, то с с вероятностью '/г при сборке он попадет на нечетную перестановку. Но это значит, что в конце сборки два шарика окажутся переставленными, причем переставить их обратно, не меняя последовательности цветов, невозможно. Придется полностью разобрать два подъезда и собрать их снова, поменяв цвета. Неискушенному человеку догадаться до этой хитрости трудновато. Жаль, что такая башня не выпускается!

Задача 1. В инструкции к стандартной вавилонской башне 6X6 предлагается поменять порядок оттенков цвета в каждом подъезде на обратный, сохранив непрерывность линий на корпусе. Покажите, что для выполнения этого задания необходимо повернуть на 180° нечетное число этажей. При каких тип эта задача разрешима для башни тХп — без черты, с одной чертой и с двумя чертами?

Варикон-1. Варикон-2. Варикон-3

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

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

Варикон-1. Как и в обычном вариконе, разрешим поворачивать любой этаж на любой угол. Но вертикальные сдвиги будем делать только целым рядом — подъездом. Это пока еще не очень большое усложнение: нетрудно проверить, что операция вида «ряд вверх — поворот этажа — ряд вниз — обратный поворот» (заметьте, это коммутатор!) циклически переставляет три шарика, два из которых расположены один над другим, а третий — на одном этаже с тем, что сверху (ср. рис. 69, б, в). Сборка варикона с помощью таких 3-циклов не вызывает затруднений.

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

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

Фестивальный цветок

Эта головоломка выпускается у нас в стране и время от времени появляется на прилавках. Она состоит из корпуса и двух шарнирно соединенных с ним дисков (см. 5-ю с. вклейки). Внутри игрушки тремя слоями размещены 18 шариков трех цветов (схема их расположения— на рис. 70). Сбоку в корпусе есть выемки, в

Рис. 70. Схема головоломки фестивальный цветок

которые можно закатить два шарика. За счет этих свободных мест и происходит обмен шариков друг с другом. Во время игры можно поворачивать диски и переворачивать головоломку, при этом шарики проваливаются из одного слоя в другой. Когда мы вкатываем шарики в выемки, гнезда, освободившиеся в среднем слое, сразу же заполняются шариками из верхнего слоя, и то же самое происходит при всех переворачиваниях. Но если средний слой всегда заполнен, как же мы сможем вкатить обратно шарики из выемок? Выход есть — надо повернуть нижний диск на 1/\2 полного оборота и тем самым зафиксировать его шарики, а потом перевернуть «цветок». Два шарика среднего слоя упадут вниз, и места для шариков из выемок освободятся. (Вероятно, было бы разумнее устроить ниши в одном из дисков.)

Меняя правила ходов, можно получать для цветка задачи разной степени сложности. Самый простой вариант — разрешить пользоваться головоломкой как угодно. Наличие двух дырок позволяет поменять местами любые два соседних шарика а и b верхнего слоя (ср. сказанное о двух дырках в разделе «Рамка»). Последовательность действий такая: фиксируем нижний слой, устанавливаем шарики а и b напротив выемок, скатываем шарики среднего слоя в выемки (а и Ъ проваливаются), поворачиваем верхний слой на одно место — '/б оборота, переворачиваем цветок (один шарик проваливается), поворачиваем верхний слой, который теперь оказался внизу, на 2 места в противоположном направлении (проваливается и второй шарик), теперь шарик а попал в ячейку шарика 6, и наоборот; вкатываем шарики из выемок в средний слой, переворачиваем цветок обратно и возвращаем верхний слой в исходное положение относительно корпуса. Проверьте, что обмен (а,Ь) действительно происходит. Не ста-

нем, однако, доводить описание алгоритма цветка до конца, ведь на самом деле вторая дырка в данном случае — это архитектурное излишество. Можно просто освободить одно из 18 мест, занятых шариками, и, пользуясь трюком с фиксацией шариков, перебрасывать из слоя в слой только один шарик, а не сразу оба шарика, расположенных над дыркой. Если ограничиться только такими ходами, мы получим маленький «фонарик», о котором, кажется, знаем уже все.

Во втором варианте игры тоже используют только одну свободную ячейку. Второе свободное место обязательно должно быть пустым на протяжении всей игры. Но здесь за один ход (переворот головоломки) проваливаются сразу два шарика подъезда в отличие от одного шарика в простейшем варианте игры. Аналогичные правила для варикона (варикон-1) обсуждались выше.

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

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

РЕШЕТЧАТЫЕ ГОЛОВОЛОМКИ

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

Рис. 71. Схема решетчатых головоломок: действие операции ABA B~l

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

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

Решето Рубика

В 1980 году неистощимый Эрне Рубик придумал игрушку, в которой 11 фишек, расположенных в узлах квадратной решетки, при помощи трех кареток совершают челночные рейсы: вниз — вверх (3 ряда по 3 фишки сразу) и влево — вправо (2 ряда по 4 фишки раздельно). Как обычно, после нескольких произвольных сдвигов требуется восстановить исходный порядок фишек, показанный на 5-й с. вклейки.

Поиск решения начнем с того, что посмотрим, как переставляются фишки под действием различных коммутаторов. Самый простой из них — «вниз — влево — вверх — вправо». В зависимости от того, какой из двух горизонтальных рядов сдвигается, верхний или нижний, получаются две операции — А и В. Обе они переставляют фишки циклически: А — по верхнему циклу, В —

по нижнему. Есть еще третий вариант — двигать влево — вправо сразу обе горизонтальные каретки. Возникающая операция С переставляет фишки по периметру игрушки против часовой стрелки. Если сначала они стоят в исходном порядке, то после применения операции С переместятся так: (7, 8, 9, Ж, К, 3, 2, 1, 4), где буквы Ж и К обозначают желтую и красную фишки. (Надо сказать, что операция С совпадает по результату с AB, но требует меньшего числа движений.) Заглянув в раздел гл. 2, посвященный головоломке рамка, вы увидите, что один из предложенных нами алгоритмов решения этой головоломки построен на комбинациях склеенных циклов, очень похожих на циклы А и В. Этот алгоритм можно почти дословно перенести на решето, но мы его видоизменим, чтобы более полно использовать возможности головоломки Рубика.

Рассмотрим коммутатор К = АВ~ХА~ХВ. Он меняет местами фишки 1 и 7 и одновременно 5 и 6 (рис. 72). Теперь с помощью сопряжения (см. раздел «Три ключа к перестановочным головоломкам») мы сможем переставить любые две фишки, стоящие через одну по периметру головоломки, одновременно переставляя 5 и 6. Например, для фишек 1 и 3 это делается так. Сдвигая их с помощью С2 на места 7 и 1, выполняем К и возвращаемся назад. Операции вида СпКС~п% где лг = 0, ±1, ±2, ±3, позволяют получить любую перестановку всех фишек, кроме 5 и 6. Но не случится ли, что все эти фишки попадут на свои места, а 5 и 6 окажутся переставленными? Оказывается, нет. Здесь опять работают законы четности. Мысленно представим, что, например, при сдвиге нижнего ряда решета влево исчезающая в корпусе фишка 7 пере-

Рис. 72. Схема решета Рубика

скакивает на крайнее справа место Ж этого ряда, т. е. как бы свернем этот ряд в кольцо. То же самое сделаем со вторым горизонтальным рядом и с тремя вертикальными рядами. Эта трансформация будет абсолютно законной, если запретить поворачивать воображаемые кольца сразу на 2 или еще большее число мест в одну сторону. Тогда горизонтальные сдвиги превратятся в 4-циклы, а вертикальный — в три синхронных 3-цикла. Если каретки после нескольких сдвигов вернулись в исходную позицию, то каждая из них сдвигалась четное число раз, следовательно, образовавшаяся перестановка фишек является произведением четного числа циклов каждого вида, т. е. сама четная. Таким образом, одиночная транспозиция невозможна. Однако перестановка цифр в окошечках может быть нечетной, если одновременно пере-

Рис. 73. Варианты решета Рубика

ставлены фишки К и Ж. Так что надо запомнить расположение цветных фишек и не перепутать их при сборке.

В патенте, выданном Э. Рубику на решето, кроме основного, приведено еще четыре различных варианта этой головоломки (рис. 73). Они отличаются друг от друга количеством и длиной перемещаемых рядов. Но еще до того, как Рубик оформил свой патент, два изобретателя в СССР Е. Капустин и И. Рябов придумали и изготовили модели своих головоломок, по существу, совпадающие с показанной на рис. 73, г. В головоломке рис. 73,а вдумчивый читатель должен увидеть фотографически точный портрет рамки с дополнительной десятой фишкой.

В разделе «Минус-кубики и минус-шарики» мы рассказали о поляроиде В. И. Красноухова, использующем эффекты поляризованного света. В головоломках Капустина и Рябова фишки тоже можно заменить поляроидами, а второй ряд поляроидов разместить на крышке. Подобная головоломка уже выпускается в Японии.

Крест 2X2

Тем, кто захочет самостоятельно сделать головоломки типа решета, мы рекомендуем крест, изображенный на 5-й странице вклейки и рис. 74. Для его изготовления вам понадобятся обрезки фанеры, картона и две полоски прозрачной пластмассы. Подвижные элементы— 12 фишек или кубиков — лучше взять готовыми и, исходя из их величины, рассчитать размеры всех остальных деталей. Основание игрушки вырезают из фанеры или картона и размечают на нем места установки боковых стенок. Затем делают две обоймы (рис. 74, б, в). Каждая из них состоит из полоски оргстекла, укрепленной на стойках. Высота стоек одной обоймы больше, чем другой, на толщину оргстекла. Сверху фишки оклеивают цветной бумагой и нумеруют. Раскраска фишек может быть самой разнообразной, и от нее в значительной мере зависит сложность решения. Интересно решать головоломку, и когда все фишки разные (например, пронумерованы), и когда среди них есть одинаковые.

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

Рис. 74. Головоломка крест 2X2

Рис. 75. Перестановки фишек креста 2X2

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

Необыкновенный светофор

До сих пор мы рассматривали решетчатые головоломки, которые можно назвать двумерными: они имеют две группы пересекающихся рядов и укладываются на плоскости. Ясно, что теоретически можно представить себе и трехмерную головоломку, имеющую три группы рядов. Технически реализовать эту идею очень сложно, тем не менее инженеру из Казани Р. Л. Фельдману удалось найти оригинальное решение. Он предложил целую серию головоломок, основанных на общем принципе, среди них есть и трехмерная решетчатая. Простейшая головоломка этой серии — необыкновенный светофор (рис. 76, а). Внешне он и впрямь выглядит как игрушечный светофор. Снаружи у головоломки видны только три фишки. Все остальные спрятаны внутри корпуса (рис. 76, б). Толкателем сдвигаются на один или два шага сразу три столбика фишек, т. е. все фишки, кроме

Рис. 76. Варианты головоломки светофор

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

ЧЕРТОВА БОЧКА

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

Когда бочка находится в исходном положении, в каждом из 5 вертикальных рядов располагаются 4 шарика одного цвета. Обычно берут 5 первых основных цветов радуги — красный, оранжевый, желтый, зеленый, голубой; именно этот порядок, который всегда можно восстановить с помощью известной мнемонической фразы «Каждый Охотник Желает Знать, Где (Сидит Фазан)», мы и будем считать правильным. (О порядке цветов можно не заботиться, тогда правильных состояний будет 5! = 120. Впрочем, существенного упрощения задачи это не дает.) Наверху трех длинных колонок в исходном положении помещаются черные шарики.

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

Азбука «бочки». Полезные операции

Обозначим 5 колонок шариков буквами а, b, s, d, е, где a, b и d — длинные колонки, а пять горизонтальных слоев — цифрами 1, 2, 3, 4, 5 снизу вверх. На вклейке рядом с изображением бочки показана ее схема, которая получается, если разрезать бочку между колонками е и а и развернуть на плоскость. Положение любого шарика на ней (а значит, и в бочке) можно определить, как в шахматах, сочетанием буквы и цифры. Например, еЗ — это шарик, стоящий в третьем снизу ряду в столбике е. Подъем и опускание крышек обозначим стрелками I и \. Повороты барабанов будем указывать буквами в (верхний) и н (нижний). Например, операция В=\в~х\в состоит из следующих движений: крышка вниз, поворот верхнего барабана влево на один шаг, крышка вверх, поворот верхнего барабана вправо. Результат этой операции показан на рис. 77,а. Аналогичный результат дает операция Н=\н~х\н на нижнем барабане (рис. 77,б).

Еще одну похожую операцию можно получить, вращая сразу два барабана: \н~хе-1 \нв (рис. 77,в). Интересно, что эта операция из 4 движений дает ту же перестановку, что и операции H и В, выполненные подряд (8 движений), поэтому мы так и обозначим ее — HB. Операции В, Н, HB, пожалуй, первые, которые приходят в голову, когда пытаешься составить алгоритм чертовой бочки; в их структуре внимательный читатель должен был распознать вездесущие коммутаторы. Однако они еще не очень удобны сами по себе, ведь каждая из них сводится к двум независимым циклам, причем довольно длинным — из 7 и 5 элементов для В и Я, из 9 и 11 эле-

Рис. 77. Циклы в чертовой бочке

Рис. 78. К алгоритму чертовой бочки

ментов для HB. Но один из наших ключей к перестановочным головоломкам позволяет избавиться от одного цикла. Это повторение. Если, например, повторить В семь раз, мы получим один цикл длины 5 (d3, е4, d4, еЗ, d5). (Напомним, что запись (а,6,с,...,х) означает циклическую перестановку а-+Ь-+с-+...-+х-+а\ рис. 77,г.) Операции-повторения В5, Нъ и Н7, (HB)9 и (НВ)и дают другие одиночные циклы. Теперь можно заметить, что В и Н7 — это два цикла длины 5, имеющих единственную общую точку d3, и пользуясь приемами из главы о волшебных кольцах, из них можно составить любую (точнее говоря, любую четную) перестановку шариков в столбцах d и е. Аналогично из пересекающихся циклов В5 и Н5 составляются перестановки в столбцах а, b, с. Однако для реальной сборки эти соображения малопригодны — во всех этих многократных повторениях легко запутаться. Тем не менее это еще один пример эффективности тех методов решения перестановочных головоломок, о которых говорилось в предыдущих главах.

Операции В и H можно использовать и более продуктивно. Например, в основу алгоритма можно положить коммутатор К = ВНВ~ХН~{ = ВН(НВ)'] -~ (а3,а4) (Ь3,с2) (d3,e2,d4). Коммутатор К порождает

две транспозиции и один 3-цикл (рис. 78,а), поэтому его повторения К2 и /С3 дают соответственно одиночный 3-цикл и пару транспозиций (рис. 78,б,в), а это уже совсем хорошо.

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

В приводимом далее алгоритме используются еще две операции, получаемые из Б\ и Б2: сопряженная к Б\ операция (рис. 78,е)

и двукратное повторение 52 (рис. 78,ж)

Алгоритм чертовой бочки

Расставлять шарики бочки мы будем поэтажно в следующем порядке: сначала 5-й и 4-й этажи, затем 1-й, 2-й и, наконец, 3-й. При этом 5-й и 4-й этажи мы сначала смонтируем внизу, на месте 1-го и 2-го (рис. 79,а,б), a затем перевернем бочку, так что они окажутся там, где им и положено быть (рис. 79,в). Можно показать, что при сборке очередного этажа (кроме 3-го, последнего) всегда найдется шарик нужного цвета на еще не упорядоченных этажах, так что перестановки шариков внутри какого-то этажа (за исключением 3-го) нам не понадобятся.

1-й этап — это установка трех черных и двух цветных шариков на 1-м этаже (см. рис. 79,а); черные шарики впоследствии попадут на 5-й этаж, а цветные — на 4-й.

Рис. 79. Этапы сборки чертовой бочки

Рис. 80. Любые два шарика одного слоя стоят или рядом, или через одного

Делается это так: если очередной шарик сразу нашелся на 3-м этаже, то поворотами барабанов помещаем его в положение еЗ, а предназначенное ему место — в положение el и выполняем операцию />3; если он на 2-м этаже, сначала переводим его на 3-й этаж операцией Б\ или Б2 (опять-таки предварительно повернув нижний барабан); а с 4-го или 5-го этажа его можно спустить на 3-й просто операцией В. Можно сэкономить ходы, если начать с черных шариков.

На 2-м этапе над черными шариками на 2-м этаже помещаем шарики трех не использованных пока цветов (см. рис. 79,б). С 3-го этажа на 2-й они переводятся операцией Б\, а если на 3-м этаже их нет, то мы опять опускаем их с 4-го или 5-го этажа на 3-й операцией В. Еще раз напомним, что перед заселением на 2-й этаж шарик и его квартиру надо сдвинуть в колонку е.

Теперь бочка переворачивается (рис. 79,в), и мы повторяем заселение 1-го и 2-го этажей так, как это было описано выше. Это 3-й и 4-й этапы сборки. Естественно, шарики двух верхних этажей на этих этапах трогать нельзя, да и не потребуется.

Завершающий, 5-й этап — сборка 3-го этажа. Из рис. 80 видно, что достаточно научиться менять местами два соседних шарика 3-го этажа или два шарика, стоящих через одного. В первом случае поворотом верхнего барабана помещаем переставляемые шарики на места с3 и d3, затем поворачиваем нижний барабан так, чтобы под шариком с3 (на месте с2) оказался шарик того же цвета,— это всегда возможно, так как на 2-м этаже собраны уже все цвета, и выполняем />4. В результате переставятся 3 шарика (см. рис. 78,ж): (d3,c3,c2), но из-за того, что шарики с2 и с3 одинаковые, это равносильно перестановке (c3,d3). Теперь нужно вернуть барабаны в исходное положение. Во втором случае, когда переставляемые шарики стоят через одного, нужно сдвинуть их на места а2 и d3, под разделяющим их шариком еЗ поворотом нижнего барабана поставить шарик одинакового с ним цвета и выполнить Б\ (см. рис. 78,(3): а3 и d3 переставятся, а лишняя перестановка (е2, еЗ) расцветки не меняет. Вот так, расставляя шарики 3-го этажа поочередно, мы и закончим сборку бочки.

Немного комбинаторики

С помощью операций Б\ — В4 в принципе можно составить любую комбинацию цветов шариков. Количество всех комбинаций вычисляется по формуле для так называемого «числа сочетаний с повторениями»: если имеется п\ предметов первого типа, п2 — второго, — Л-го, то число различных перестановок этих предметов равно (п\-{-П2-\-...-\-nk)\/(n\\n2\...nk\)\ в нашем случае предметы — это шарики, а их тип — это цвет. В сущности, мы эту формулу уже выводили, даже дважды — для венгерских волшебных колец и для варикона. Остается только подставить в нее количество шариков каждого из 6 цветов, и мы получим ответ: (3 + 5-4)!/(3!-4!5) = = 24!/(6.245)«5,41.10и.

Наш алгоритм существенно использует наличие одноцветных шариков. Возникает вопрос: можно ли получить любую расцветку в случае, когда все шарики окрашены по-разному? Ответ, как легко понять, отрицательный. Действительно, всякую операцию можно представить как последовательность четырех элементарных операций: в,н,[в\\\ \н\\ например, в~2\нв\ = в«в«в« \н\* \в\ и т. д. Но каждая из этих операций порождает два цикла

из 5 шариков, т. е. четную перестановку. С другой стороны, первые четыре этапа нашего алгоритма позволяют произвольным заданным образом заполнить все этажи бочки, кроме 3-го, а с помощью операции Б4в_|54в переставляются три соседних шарика 3-го этажа: (d3,c3,e3), что дает возможность получить на этом этаже любую четную перестановку. Следовательно, в чертовой бочке, как и во многих других перестановочных головоломках, достижимы все четные перестановки, и только они.

Чертова бочка из варикона

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

Начнем с того, что даже без всяких переделок варикон можно значительно усложнить и приблизить к чертовой бочке за счет изменения правил игры. Мы уже рассмотрели три варианта правил. Последний из них — варикон-3 — уже совсем близок к чертовой бочке. Чтобы сделать настоящую чертову бочку, нужна переделка варикона. Ее начинают с разборки. Острым кончиком ножа нужно зацепить и снять круглые пластмассовые крышечки на торцах игрушки. После этого с центральной оси снимается запорная шайба, ось вынимается и вся головоломка разбирается на части. Четыре центральные секции склеиваются попарно, затем в обеих крышках просверливают три отверстия под толкатели, а в верхней крышке, кроме того, делают дополнительные прорези для шариков (рис. 81). Вот и вся переделка стандартной игрушки. Теперь ее можно снова собрать. Но перед сборкой необходимо обработать надфилем и наждачной бумагой края всех деталей головоломки и убедиться, что шарики могут свободно перекатываться из сектора в сектор, а пружину, которая надевается на ось, нужно ослабить, немного укоротив. Затем головоломка собирается. После этого остается изготовить кронштейн с толкателями. Его можно сделать из листового алюминия или пластмассы. С торцов кронштейна должно быть по три

Рис. 81. Переделка варикона в чертову бочку

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

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

Глава 6. КАЛЕЙДОСКОП

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

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

Старейшей из этих головоломок является

Поворотный круг

Автор этой почти забытой игрушки англичанин Протеро решил изготовить модель поворотного круга — известного уже в те времена механизма, который применялся на железных дорогах для перевода паровозов и вагонов с одного пути на другой. При этом он обнаружил, что если вагонов много, а места мало, то переставить их в нужном порядке совсем не просто. Так в 1885 году появилась на свет головоломка, изображенная на рис. 82. В ней требуется поменять местами горизонтальный и вертикальный ряды фишек. Число фишек-«ваго-

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

Остановимся на последнем варианте головоломки. Представим, что концы каждого ряда соединены друг с другом, т. е. что вместо прямолинейных рядов у нас имеются два разомкнутых кольца фишек, которые замыкаются, когда рельсы на поворотном круге устанавливаются вертикально или горизонтально. Эта переделка ничего не меняет в головоломке по существу, если запретить такие сдвиги фишек в кольцах, при которых места соединения рядов заезжают на поворотный круг. После переделки в головоломке появляются два цикла фишек, имеющие общий участок (приходящийся на круг). Но это не что иное, как еще одна ипостась склеенных циклов, о которых рассказывалось в главе 3 (см. раздел «Восьмерка семиклассника»). Так что головоломку можно решить, даже не используя повороты круга на 180°.

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

Рис. 82. Головоломка «поворотный круг»

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

ОЛИДЮС и другие головоломки с переворотом

Необычное слово ОЛИДЮС составлено из инициалов изобретателей головоломки, работников Пензенского радиозавода О. Дмитриева, Л. Юрина, И. Стульникова. Их игрушка (см. 6-ю страницу вклейки) содержит два подвижных конических кольца из разноцветных полосок, по 18 полосок шести цветов в каждом кольце. Есть еще центральный пояс, полоски на котором закреплены наглухо и служат только ориентирами при расстановке остальных. Внутри головоломки спрятан шарнир, позволяющий поворачивать ее половинки в вертикальной плоскости.

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

Указания к решению. Нарисуем схему ОЛИДЮСа (рис. 83). Подвижные пластинки изобразим точками на двух окружностях, тогда повороту верхнего ряда на одно место, который мы обозначим буквой В, отвечает циклическая перестановка 18 точек верхней окружности. А при перевороте половины головоломки половинка нижней окружности стыкуется с половинкой верхней и наоборот. Благодаря этому можно устроить цикл из 9 верхних точек и 9 нижних; соответствующая операция В\ = ПВП сопряжена с В (П = П~Х—переворот правой на рис. 83 половины головоломки). Эти два цикла склеены по общему участку — левой верхней полуокружности. Коммутаторы циклов дают нужные нам операции. На рис. 83 показано действие коммутатора ВВГХВ~ХВ\. С его помощью расставляются элементы в нижнем кольце. Пере-

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

Шайба Рубика, изображенная на 6-й странице цветной вклейки, по сути, отличается от ОЛИДЮСа только числом (6 вместо 18) и расцветкой долек вращающихся колец. Конструктивно шайба решена иначе — в ней отсутствует центральный пояс, являющийся в ОЛИДЮСе своего рода каркасом, к которому крепятся подвижные цветные полоски. Внутри шайбы помещен шар, составленный из двух насаженных на одну ось половинок с грибообразными выступами (рис. 84); на них надеты по три дольки каждого слоя, которые сами удерживают остальные дольки. Нечто подобное вы увидите, если заглянете внутрь кубика Рубика. Весь этот механизм допускает вращение в четырех плоскостях — горизонталь-

Рис. 83. Схема головоломки ОЛИДЮС. Поворот В показан чёрной стрелкой, коммутатор ВВгхВ~хВ\—красными

Рис. 84. Шарнир головоломки шайба Рубика

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

Еще две близкие к ОЛИДЮСу головоломки — волшебные параллели (6-я страница вклейки) и волшебный шар (7-я страница вклейки) — родились в Англии и Японии. Они имеют по две пары подвижных колец, причем перестыковка происходит внутри каждой пары. При сборке этих головоломок сначала расставляются элементы одной пары колец, а потом другой; это можно делать независимо.

Красиво выглядят волшебные параллели, когда половинка шара перевернута на 45° или 90°. Параллели из шариков при этом исчезают, а остаются одна или две причудливые замкнутые линии, обвивающие весь шар. Перемещать шарики вдоль этих линий практически невозможно, да это и не по правилам. Но если все же такое случится, то головоломку уже не решить обычным способом. Необходимо «чужие» шарики поставить около линий разреза сферы, повернуть половину игрушки на 45° или 90° и вернуть шарики в их «родные» кольца.

НЛО — UFO

Термин «Неопознанный Летающий Объект» (Unidentified Flying Object) появился в 1947 году, когда один американский пилот рассказал, как во время полета над штатом Вашингтон он видел в небе девять неизвестных дисков. Этот случай попал в газеты, а бойкие журналисты переименовали диски в летающие тарелки. С тех пор начался ажиотаж вокруг НЛО. Интерес к необычному явлению периодически подогревается новыми публикациями, буквы НЛО и UFO регулярно появляются на страницах газет и журналов. Видимо, поэтому один из венгерских кооперативов назвал аббревиатурой UFO свою головоломку. Для большей привлекательности она сделана похожей на НЛО, т. е. ни на что не похожей (см. 7-ю странцу вклейки).

Головоломка состоит из двух половинок: верхней и нижней. С четырех сторон игрушки выступают четыре цилиндра, каждый из которых разделен на четыре сектора. Вот эти 16 секторов, окрашенных в 8 разных цветов, и являются подвижными элементами. Элементы одинако-

Рис. 85. Разрезанные кольца

вой окраски отличаются друг от друга метками на торцах цилиндров. Вращение любого цилиндра — это циклическая перестановка 4 элементов, а повороты половинок головоломки на 90° или 180° приводят к перестыковке половин 4-циклов.

Решается головоломка НЛО просто. Половинки первого цилиндра монтируются на других цилиндрах, а потом сдвигаются вместе. Аналогично собирается второй цилиндр. И только для двух последних нужно пустить в ход тяжелую артиллерию коммутаторов, аналогичных используемым при сборке ОЛИДЮСа.

В двух вариантах разрезанных колец (рис. 85), также изобретенных в Венгрии, перестыковка циклов осуществляется при сдвигах частей игрушки и их поворотах на 120°. Чтобы получить всевозможные перестановки шариков, достаточно на одной части иметь хоть бы одну половину цикла, а на другой — не менее двух половин. Еще одну головоломку с перестыковкой — цветные пояски (6-я страница вклейки) — придумал уже знакомый нам автор трека С. А. Грабарчук. Это разрезанная вдоль оси призма, опоясанная кольцами из разноцветных фишек, части которой скользят одна по другой.

Мишень

С. А. Грабарчук изобрел много прекрасных головоломок, лишь малая часть которых вошла в нашу книгу. А начинал он с «мишени» (8-я страница вклейки). Эта головоломка состоит из нескольких концентрических

Рис. 86. К решению головоломки «мишень» (в скобках — обозначения операций, показанных красными стрелками)

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

Указания к решению мишени. Сборку мишени лучше начать с периферийных колец, постепенно двигаясь к центру. Перемещать фишки в центре можно, как в простейшей решетчатой головоломке из двух пересекающихся рядов, с помощью коммутаторов, которые порождают 3-циклы (рис. 86,а). Кольца нужны потому, что конструкция мишени позволяет сдвигать ряды фишек только на один шаг, а это значит, что переставлять сдвигами можно только 5 центральных фишек. Благодаря кольцам самые дальние фишки можно перевести в центр, как показано на рис. 86,6, где фишка за 3 хода с позиции 4 перемещается на позицию 2.

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

Завершает нашу книгу головоломка

Цветной коврик

которая дает нам повод вспомнить многое из того, что мы узнали в предыдущих главах. Она была придумана в 1982 году в Японии. Производят ее и у нас. Кажется, что это просто чуть-чуть измененная игра «15» Сэма Лойда (см. 2-ю страницу вклейки), но в действительности коробка с фишками закрыта прозрачной крышкой и передвигать их поодиночке, как в игре «15», нельзя. Для перемещения фишек предусмотрено два способа. Можно тряхнуть коробочку, и тогда один из горизонтальных рядов (тот, у которого левое или правое крайнее место свободно) целиком сдвинется на одну фишку (соответственно влево или вправо — движению по вертикали препятствуют барьеры между горизонтальными рядами). Кроме того, с помощью рычажков по бокам головоломки можно сдвигать крайние вертикальные ряды, опять же целиком, на одну фишку вверх или вниз; эти ряды могут находиться в трех положениях каждый. Расстановка, изображенная на вклейке, считается правильной, и надо научиться возвращаться к ней после произвольного перемещения фишек.

Как и к другим головоломкам этой книги, ключ к решению дают циклические перестановки и их коммутаторы. Рядом с рисунком цветного коврика на вклейке приведен его граф. Линии на нем указывают допустимые передвижения фишек. Например, если в правильной позиции сдвинуть левый ряд вниз, а правый — вверх, тряхнуть коробочку влево и вернуть крайние ряды на место, то переместятся 6 фишек — по зеленым стрелкам на графе. Легко сообразить, как устроить циклические перестановки фишек, скажем, по красному или синему замкнутому контуру на графе (звездочкой на графе помечено свободное место, через которое фишка как бы перескакивает,— это показано пунктиром). Коммутатор АВА~1Х ХВ~\ где А и В — циклические перестановки фишек по красному и синему контурам по часовой стрелке, одновременно меняет местами две пары фишек, как указывают черные стрелки, а остальные фишки не перемещает. В изображенной на рисунке ситуации он почти завершает

Рис. 87. Самодельный цветной коврик

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

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

УКАЗАТЕЛЬ СПЕЦИАЛЬНЫХ ТЕРМИНОВ

алгоритм 11

граф 61

длина алгоритма 15

инвариант 23, 59

коммутатор 36

композиция 19, 54

контур графа 66

метод посадки-высадки 38

нечетная перестановка 48

обмен 28, 47

орбита 13, 22

перестановка 52

повторение 34

порядок операции 35

произведение перестановок 54

прочный граф 66

путешествия по графам 62

разложение на циклы 55

сопряжение 40

склеенные циклы 84

транспозиция 47

формула операции 18

цикл графа 66 3-цикл 50

м-цикл 50

циклическая перестановка 50, 55

факториал 14

четная перестановка 48

число перестановок 14

УКАЗАТЕЛЬ ГОЛОВОЛОМОК

блокс-бокс 77

вавилонская башня 109

варикон 107

варикон-1 117

варикон-2 117

варикон-3 117

волшебный шар 138

волшебные кольца 90

волшебные параллели 138

волшебные пирамидки 101

волшебные пояски 139

восьмерка 87

в трех соснах 64

головоломка И. Рябова 64

двойная вавилонская башня 108

двойной трек 135

звездочка 96

игра «вращения рядов» 16

игра «перестановки рядов» 8

игра «5» 62

игра «8» 62

игра «12» 97

игра «15» 43

игра «15» с закрепленными фишками 62

игра «15» с препятствиями 63

Киров — Вятка 74

козел в огороде 62

комбики 28

космические орбиты 97

крест 2X2 124

кубики в контейнере 32

кубики детские 8

кубик-домино 80

мамина головоломка 65

мини-кольца 84

минус-кубик 79

минус-шарик 83

мишень 139

НЛО 138

огурец 108

ОЛИДЮС 136

поворотный круг 135

полишар 140

поляроид 81

птички в клетке 81

разрезанные кольца 139

рамка 69

решето 120

роторы 74

ротос 92

светофор 125

симметрия 105

слон 62

сторожа и тигры 62

фестивальный цветок 118

фонарик 108

цветная капуста 98

цветной коврик 141

цветные пояски 139

чертова бочка 126

шайба 137

шарики в лабиринте 83

СОДЕРЖАНИЕ

Предисловие 3

О чем эта книга 4

Глава I. Картинки на кубиках 8

Игра первая — перестановки рядов 8

Игра вторая — вращения рядов 16

Игры третья, четвертая,...27

Три ключа к перестановочным головоломкам 33

Глава 2. Игры с дыркой 43

Знаменитая головоломка Сэма Лойда 43

Перестановки 52

Путешествия по графам 60

Минус-кубики и минус-шарики 76

Глава 3. Волшебные кольца 84

Возвращение к пройденному 84

Пересекающиеся кольца 90

Суперкольца 95

Глава 4. Перекатыши 101

Волшебные пирамидки 101

Симметрия 105

Глава 5. Многоэтажные головоломки 107

Головоломки-башни 107

Решетчатые головоломки 119

Чертова бочка 126

Глава 6. Калейдоскоп 134

Указатель специальных терминов 143

Указатель головоломок 143

Научно-популярное издание

Владимир Натанович ДУБРОВСКИЙ

Анатолий Тимофеевич КАЛИНИН

МАТЕМАТИЧЕСКИЕ ГОЛОВОЛОМКИ

Главный отраслевой редактор Д. Нелюбов Мл. редактор Н. Карячкина Худ. редактор М. Бабичева Техн. редактор Н. Клецкая Корректор В. Каночкина

ИБ № 10027

Сдано в набор 06.04.89. Подписано к печати 11.01.90. А-01815. Формат бумаги 84ХI081/»-'- Бумага офсетная. Гарнитура литературная. Печать офсетная. Усл. печ. л. 7,56+0.42 вкл. Усл. кр.-отт. 17.22. Уч.-изд. л. 7,61. Тираж 100000 экз. Заказ Б-169. Цена 50 коп. Издательство «Знание». 101835, ГСП. Москва. Центр, проезд Серова, д. 4. Индекс заказа 896709.

Типография издательства Тат. OK КПСС. г. Казань, ул. Декабристов, д. 2.

Рис. 1. Кубики в контейнере Рис. 2. Слон

Рис. 3. Птички в клетке Рис. 4. Минус-шарик

Рис. 5. Цветной коврик

Рис. 6. Схема головоломки „цветной коврик“

Рис. 7. Роторы

Рис. 8. Граф „роторов“

Рис. 9. Шарики в лабиринте

Рис. 10. Волшебные кольца

Рис. 11. Космические орбиты

Рис. 12. Полишар

Рис. 13. Симметрия

Рис. 14. Фонарик

Рис. 15. Цветная капуста

Рис. 16. Варикон

Рис. 17. Вавилонская башня

Рис. 18. Фестивальный цветок

Рис. 19. Решето Рубика

Рис. 20. Крест 2X2

Рис. 21. Олидюс

Рис.22. Волшебные параллели

Рис. 23. Шайба Рубика

Рис. 24. Цветные пояски

Рис. 25. Волшебный шар

Рис. 26. НЛО

Рис. 27. Чертова бочка

Рис. 28. Схема „чертовой бочки“

Рис. 29. Мишень

Рис. 30. Светофор

Рис. 31. Двойной трек

Рис. 32. Волшебные пирамидки