Эта встреча оказалась счастливой случайностью.
Проиграв с Кубом всю следующую ночь, Сингмастер стал одним из первых и самых преданных поклонников, приложивших много усилий к его продвижению в массы.
Прежде чем Куб стал доступен за границей, Сингмастер лично продал несколько тысяч его экземпляров своим коллегам и не только. Он разработал инструкцию с описанием движений, ставшую стандартом. Своими лекциями и статьями он помог привлечь к Кубу внимание широкой публики.
Сингмастер и его коллега-математик Александр Фрей заметили, что Куб «дает уникальное физическое воплощение многих абстрактных понятий, которые иначе могут быть представлены только на тривиальных или теоретических примерах». Другими словами, когда с Кубом играет обыватель, он впервые сталкивается с законами, которые им управляют, но когда Куб попадает в руки математику, тот видит, как в жизнь воплощаются давно знакомые понятия. Возможно, лучший пример способности конкретизировать понятие – это связь Куба с теорией групп, разделом математики, который находит применение в различных областях: от искусства до физики, от криптографии до карточных фокусов.
Вскоре стало ясно, что сборку Куба можно систематизировать с помощью алгоритмов. И каким же он оказался богатым!
Я лично увлекался поиском алгоритмов сборки еще в восьмидесятых, когда у меня появился первый компьютер и я начал осваивать программирование. Я не занимался этим профессионально, меня интересовала сама открывающаяся возможность.
В цифровом мире в отличие от старого аналогового, «реального» мира требуется совершенно другой образ мышления. Все может быть создано из нуля и единицы, переключатель либо включен, либо выключен, а за этим следует все остальное. Магия – в простоте, а когда все так просто, результат может оказаться чрезвычайно сложным. Я не мог предположить, насколько гармонично Куб вольется в цифровую эпоху. Он сразу нашел свое воплощение в пиксельной графике (мозаике), вдохновил робототехников и бросил вызов искусственному интеллекту.
Один из самых трудных уроков, который усвоил каждый, кто занимался программированием, в том, что, если вы пишете программу и допускаете крошечную ошибку, одну букву, один плюс или минус, система просто перестает работать. Последствия серьезны. То же происходит с Кубом. Если вы нарушите один элемент порядка (я предпочитаю называть это порядком, а не алгоритмом), вы собьетесь с пути. Более того, вы потеряете уже полученные результаты. Вы не только не продвинетесь к цели, но и ухудшите положение, перечеркнув все предыдущие старания. И дальше снова надо начинать с нуля.