Игра разума. Как Клод Шеннон изобрел информационный век - Сони Джимми
Шрифт:
Интервал:
Закладка:
Чтобы доказать это, Шеннон провел оригинальный эксперимент с исковерканным текстом. Он показал, как, оперируя стохастическими методами, можно сконструировать нечто, напоминающее английский язык, с нуля. Шеннон начал абсолютно произвольно. Он открывал книгу на случайно попавшейся странице, тыкал пальцем в одну из строк и выписывал соответствующую букву 27-символьного алфавита (26 букв плюс пробел). Он называл это «аппроксимацией нулевого порядка». Вот что у него получилось:
XFOML RXKHRJFFJUJ ZLPWCFWKCYJ FFJEYVKCQSGHYD QPAAMKBZAACIBZLHJQD.
Здесь равные вероятности для каждого знака, и ни один из знаков не «тянет» за собой другой знак. Это печатный эквивалент помех. Вот как выглядел бы наш язык, если бы он был абсолютно неопределенным, а значит, абсолютно информативным.
Но в английском языке присутствует определенность. Во-первых, мы знаем, что некоторые буквы встречаются чаще других. За сто лет до Шеннона Сэмюэл Морзе (вдохновленный экспериментами с печатной машинкой) использовал свои догадки о частоте появления букв и включил их в свой телеграфный код, обозначив букву Е одной точкой, а букву Q – более громоздкой конструкцией тире-тире-точка-тире. Морзе правильно разобрался: во времена Шеннона было уже известно, что примерно 12 процентов английского текста составляет буква Е, и всего 1 процент – буква Q. Вооружившись таблицей с частотой появления букв в тексте и своей книгой о случайных числах, Шеннон занялся подсчетом вероятностей для каждой буквы. Это «аппроксимация первого порядка»:
OCRO HU RGWR NMIELWIS EU LL NBNESEBYA ТН EEI ALHENHTTPA OOBTTVA NAH BRL.
Не стоит забывать о том, что мы знаем: наша свобода вставить какую-то букву в строчку английского текста также ограничена стоящей впереди буквой. Буква К часто идет после С, но почти невозможна после Т. Буква Q требует буквы U. У Шеннона были таблицы частоты появления этих «биграмм». Но вместо того чтобы повторять этот утомительный процесс, уверенный в своей правоте, он воспользовался более незамысловатым методом. Чтобы построить текст с разумной частотой биграмм, действуют таким образом: «Человек открывает книгу наугад и выбирает наугад любую букву на открывшейся странице. Эта буква записывается. Затем книга открывается на другой странице, и человек читает ее, пока не находит эту же букву. Следующая за ней буква записывается. На очередной странице ищется эта вторая буква и записывается та, которая идет за ней следом, и т. д.». Если все идет правильно, тогда получившийся текст будет отражать ту вероятность, с которой каждая буква следует за другой в английском языке. Это «аппроксимация второго порядка»:
ON IE ANTSOUTINYS ARE T INCTORE ST BE S DEAMY ACHIN D ILONASIVE TUCOOWE AT TEASONARE FUSO TIZIN ANDY TOBE SEACE CTISBE.
Буквально из ничего стохастический метод позволил вслепую создать пять английских слов (шесть, если мы добавим апостроф и посчитаем как слово ACHIN’). «Аппроксимация третьего порядка» – тот же метод поиска триграмм – подводит нас все ближе к сносному английскому:
IN NO IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME OF DEMONSTURES OF THE REPTAGIN IS REGOACTIONA OF CRE.
He только эти двух- и трехбуквенные сочетания часто встречаются вместе, но и целые цепочки букв в других словах. А вот «аппроксимация слов первого порядка» с использованием частоты появления целых слов:
REPRESENTING AND SPEEDILY IS AN GOOD APT OR COME CAN DIFFERENT NATURAL HERE HE THE A IN CAME THE TO OF TO EXPERT GRAY COME TO FURNISHES THE LINE MESSAGE HAD BE THESE.
Следует отметить, что на выбор нами следующего слова сильно влияет стоящее впереди. И наконец Шеннон обратился к «аппроксимации слов второго порядка»: он выбрал слово наугад, пролистал книгу вперед, пока не обнаружил еще один пример, а потом записал следующее слово:
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD FOR THE LETTERS THAT THE TIME OF WHO EVER TOLD THE PROBLEM FOR AN UNEXPECTED.
«Определенная последовательность из десяти слов обрушилась на английского писателя, так что характер ее нельзя назвать нерациональным», – с гордостью отметил Шеннон[6].
Постепенно отрывки становились все более приемлемыми, напоминая человеческий язык. Они не были написаны от руки, они генерировались: единственным вмешательством человека в этот процесс было применение правил. Как, задавал вопрос Шеннон, мы получаем английский язык? Мы получаем его, делая наши правила более ограничивающими и делая себя более предсказуемыми. Мы делаем это, становясь менее информативными. И эти стохастические методы – всего лишь модель того выбора, который мы, не задумываясь, делаем каждый раз, когда произносим предложение и отправляем любое сообщение.
Оказывается, что некоторые самые детские вопросы о мире – «Почему яблоки не падают вверх?» – также являются самыми научно продуктивными. Если бы существовал пантеон абсурдных и откровенных вопросов, то туда бы следовало включить и такой вопрос Шеннона: «Почему никто не говорит XFOML RXKHRJFFJUJ?» В поисках ответа на этот вопрос стало ясно, что «свобода нашей речи» – это, по большей части, иллюзия: она происходит из обедненного понимания свободы. Собеседники, обладающие большей свободой, чем мы – свободой, конечно же, в том, что касается неопределенности и информации – сказали бы «XFOML RXKHRJFFJUJ». Flo в реальности огромное множество возможных сообщений заранее исключено для нас, еще до того, как мы произнесем слово или напишем строчку. Мы также лишены свободы слегка изменить одну из удачно сложившихся последовательностей, которые случайно появились в блокноте Шеннона: ТНЕ LINE MESSAGE HAD [ТО] BE THESE.
И все же кому интересна частота появления букв?
Во-первых, специалистам по криптоанализу – и Шеннон был одним из лучших в этой области. Он был знаком с таблицами частоты появления букв, диграмм и триграмм, потому что они были необходимым инструментом шифровальщика. Практически в любом коде преобладают определенные символы, и они, вероятней всего, обозначают наиболее распространенные знаки. Вспомните, как в любимом рассказе Шеннона «Золотой жук» эксцентричный господин Легран обнаружил спрятанный клад, разгадав этот кажущийся недоступным пониманию код:
53##+305))6*;4826) 4#.) 4#); 806*;48+81 160))85;;]8*;: #*8+83
(88)5*+;46(;88*96*?;8)*#(;485);5*+2:*#(;4956*2(5*=4)81 18*;
4069285);)6+8)4##;1#9;48081;8:8#1;48+85;4)485+528806*81
(#9;48;(88;4(#?34;48)4#;161;:188;#?;
Он начал, как все опытные шифровальщики, с того, что подсчитал частоту появления знаков. Символ «8» появлялся чаще, чем другие – 33 раза. Эта маленькая деталь стала той трещиной, которая взломала всю структуру. Ниже приведено объяснение господина Леграна, которое поразило воображение маленького Шеннона:
«В английской письменной речи самая частая буква – е.
Буква е, однако, настолько часто встречается, что трудно построить фразу, в которой она не занимала бы господствующего положения… Поскольку знак 8 встречается в криптограмме чаще других, мы примем его за букву е английского алфавита…
Самое частое слово в английском – определенный артикль the. Посмотрим, не повторяется ли у нас сочетание из трех знаков, расположенных в той же последовательности, и оканчивающееся знаком 8. Если такое найдется, это будет, по всей вероятности, определенный артикль. Приглядевшись, находим сочетание из трех знаков; 4 8, встречающееся не менее семи раз. Итак, мы имеем право предположить, что знак; – это буква t, а 4 – h. Вместе с тем подтверждается, что 8 действительно е. Мы сделали важный шаг вперед».