Как называется третий альбом группы Coldplay?
Когда фанаты устремились за покупкой третьего альбома группы Coldplay, выпущенного в 2005 г., они были сильно заинтригованы рисунком на обложке, пытаясь постичь его смысл. На нем были изображены расположенные на сетке разноцветные прямоугольники. В чем же заключалось значение картинки? Оказалось, она представляла название альбома, написанное с помощью одного из первых двоичных кодов, предложенного в 1870 г. французским инженером Эмилем Бодо. Цвета на рисунке не имели значения: смысл был лишь в том, что каждый прямоугольник представлял 1, а каждый пропуск нужно было истолковать как 0.
Немецкий математик XVII в. Готфрид Лейбниц одним из первых осознал приспособленность нулей и единиц к эффективному хранению информации. Он почерпнул эту идею из китайской «И цзин» – «Книги перемен», где исследуется динамический баланс противоположностей. В ней имелись 64 графических символа, называемые гексаграммами, каждый из которых представляет ту или иную ситуацию с точки зрения ее развития. Именно они побудили Лейбница создать двоичную математику (с ней мы познакомились в предыдущей главе, когда изучали выигрышную стратегию «Ним»). Каждая гексаграмма представляет стопку из шести горизонтальных линий, причем любая из линий либо цельная, либо прерванная посередине. В «И цзин» объясняется, как эти символы могут использоваться для гадания, в котором также совершаются подбрасывания монеток и веточек.
Например, если у прорицателя выпадет гексаграмма, изображенная на рис. 4.12, то она будет означать «тяжбу».
Но если линии сложатся иным образом и цельные поменяются с прерванными (рис. 4.13), то получится «поражение света».
Рис. 4.12
Рис. 4.13
Однако Лейбница больше заинтересовало то обстоятельство, что, как отметил Шао Юн, китайский философ XI в., каждому символу может быть приписано число. Если вы будете обозначать единицей сплошную линию, а нулем прерванную, то первая гексаграмма при чтении сверху вниз даст вам 111010. В числах, записанных в десятичной системе, каждый разряд соответствует степени 10, и число в этом разряде говорит вам, сколько этих степеней десяти нужно взять. Так, 234 обозначает 4 единицы, 3 десятка и 2 сотни.
Но Лейбниц и Шао Юн работали не в десятичной, а в двоичной системе, где каждый разряд соответствовал степени 2. Число 111010 в двоичной системе обозначает отсутствие единиц, одну двойку, отсутствие четверки, одну восьмерку, один набор из 16 и один набор из 32. При сложении мы получим 2 + 8 + 16 + 32 = 58. Красота двоичной записи заключается в том, что для представления любого числа нужны лишь два символа, вместо десяти в десятичной системе. Два (десятичных) набора по 16 становятся одним набором следующей степени 2, то есть 32.
Лейбниц понял, что этот способ представления чисел становится крайне действенным, если вы хотите автоматизировать вычисления. Правила сложения двоичных чисел крайне просты. В каждом разряде 0 + 1 = 1, 1 + 0 = 1 и 0 + 0 = 0. Четвертая возможность заключается в 1 + 1 = 0, что сопровождается эффектом домино – 1 переносится и прибавляется к следующему разряду слева. Например, когда мы прибавляем 1000 к 111010, то видим каскад перемещений 1 к высшим разрядам:
1000 + 111010 = 10000 + 110010 = 100000 + 100010 = 1000000 + 000010 = 1000010.
Лейбниц сконструировал великолепные механические калькуляторы. В одном из них использовались шарики для обозначения 1, а отсутствие шарика представляло 0, так что процесс сложения напоминал фантастическую машину для пинбола. Лейбниц полагал, что «не пристало одаренному человеку тратить, подобно рабу, часы на вычислительный труд, который можно надежно доверить любому лицу при использовании машин». Я думаю, что большинство математиков согласятся с этим.
Люди начали обозначать цепочками 0 и 1 не только числа, но и буквы. Хотя человеческому роду код Морзе представлялся мощным инструментом для коммуникации, машины были менее приспособлены к улавливанию тонких различий между точками и тире, прописывающими буквы, и пониманию того, когда закончилась предыдущая буква и началась следующая.
Рис. 4.14. Реконструкция двоичного калькулятора Лейбница
В 1874 г. Эмиль Бодо предложил кодировать каждую букву алфавита цепочкой из пяти нулей и единиц. Благодаря одинаковой длине обозначений всех букв стало совершенно очевидно, где заканчивалась предыдущая буква и начиналась следующая. Использование пяти 0 и 1 позволило Бодо представить в общей сложности 2 × 2 × 2 × 2 × 2 = 32 различных символа. Буква Х соответствовала цепочке 10111, а Y обозначалась как 10101. Это было огромным прорывом, потому что сообщения теперь могли кодироваться на бумажной ленте, на которой перфорировались отверстия для обозначения 1, а отсутствие отверстия соответствовало 0. Машина могла считывать эту ленту и посылать сигнал по проводному соединению с высокой скоростью, а на другом конце телетайп автоматически распечатывал сообщение.
Со временем код Бодо был вытеснен на обочину огромным разнообразием других кодов, использующих ту же идею представления всего, от текста до звуковых волн, от jpeg-изображений до видеофайлов, с помощью 0 и 1. Каждый раз, когда вы заходите на iTunes и скачиваете трек Coldplay, ваш компьютер подвергается натиску огромной армии 0 и 1, которые декодируются вашим MP3-проигрывателем. Внутри этих чисел содержатся указания, предписывающие, как вибрировать вашим колонкам или наушникам, чтобы вы могли услышать сладкий голос Криса Мартина. Наверное, то обстоятельство, что в наш цифровой век музыка представляет поток 0 и 1, и вдохновило на создание обложки третьего альбома Coldplay.
Но ключом к пониманию секретного сообщения, погруженного в рисунок на обложке, служит исходный код Бодо. Узор может быть разделен на четыре столбца с пятью блоками в каждом столбце. Окрашенные блоки нужно интерпретировать как 1, а пропуски – как 0. Поскольку порою трудно сказать, какой край ленты должен быть сверху, машина перфорирует тонкую линию, отделяющую два верхних блока от трех нижних. Вот почему на рисунке обложки видна линия, разделяющая серые и цветные блоки.
Рис. 4.15. На обложке третьего альбома группы Coldplay используется код Бодо
Блоки первого столбца обложки чередуются как цветной-пустой-цветной-цветной-цветной, что переводится в 10111, а это код Бодо для Х. Последний столбец становится кодом Бодо для Y. Два средних столбца чуть интереснее. Пять нулей и единиц дают возможность закодировать 32 символа, но очень часто требуется большее, поскольку имеются числа, знаки пунктуации и другие символы, которые также хотелось бы передать. Чтобы удовлетворить этим требованиям, Бодо нашел хитрый способ расширить допустимый диапазон. Вспомните, как на клавиатуре нажимается Shift для доступа ко всему набору символов при использовании тех же клавиш, и Бодо использовал одну из цепочек из 5 нулей и единиц в качестве эквивалента Shift. Итак, если вам встретится 11011, то следующая цепочка будет относиться к расширенному набору символов.
Этот веб-сайт позволит вам создать собственные обложки альбомов в стиле Coldplay: .
Второй столбец на обложке как раз и представляет клавишу Shift для кода Бодо. Чтобы декодировать последовательность пустой-пустой-пустой-цветной-цветной третьего столбца, нужно обратиться к расширенному набору символов, показанному на схеме ниже. И уверен, что большинство людей ожидает увидеть символ &. Но 00011 обозначает не &, а цифру 9. Итак, настоящим названием третьего альбома Coldplay, изображенным с помощью кода Бодо, будет X9Y, а не X&Y. Подшутила ли группа Coldplay над нами? Возможно, нет. Ведь код Бодо для 9 и & различается лишь на один блок, и, скорее всего, на рисунке допущена ошибка, которая наглядно иллюстрирует проблему с многими из этих кодов: трудно сказать, совершен ли промах. Именно в детектировании подобных ошибок математика кодов в полной мере проявляет себя.
Рис. 4.16. Код Бодо