Читаем Криптографические приключения. Таинственные шифры и математические задачи полностью

Папа быстро написал на чистом листке последовательность бит без разделителей: 01100111111111100001101011000010110000110101110101. Но действительно, её декодирование было простым и однозначным. Мы с Катей закончили работу над этим упражнением практически одновременно. Тогда папа продолжил:

– Наверняка, когда вы считали частоты и их суммы, вы столкнулись с тем, что разделить пополам сумму частот было трудно. Суммы всё больше и больше не совпадали. Поэтому-то код Шеннона – Фано не считается оптимальным. Давайте я научу вас другому коду, у которого нет такого недостатка.

Папа открыл чистый лист и на самом верху вновь написал буквы русского алфавита и пробел в порядке убывания частоты. Затем под каждым символом он поставил его частоту. После этого начал своё объяснение:

– Будем строить дерево, как построили вы, но немного иное. Строить его будем снизу вверх, а не сверху вниз. Для этого возьмём два символа с самой маленькой частотой появления – Э и Ъ. Для них определим новую вершину, которую назовём «ЭЪ», и припишем ей значение частоты, равное сумме значений Э и Ъ. Соответственно, точно так же, как и в вашем алгоритме, из этой вершины ветвь налево пометим битом 0, а направо – битом 1. Затем новый символ «ЭЪ» со своей частотой вставим в список на своё место по порядку частоты, а два символа «Э» и «Ъ» из этого списка вычеркнем.

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

Но папа продолжал:

– Эта процедура повторяется до тех пор, пока не останется единственная вершина, включающая все символы, и частота которой равна сумме всех частот. Получается двоичное дерево, и у его вершин слева всегда бит «0», а справа – «1». И код для каждого символа собирается так же, как и в вашем случае: при переходе от вершины дерева к его листу, означающему конкретный символ, одна за другой собираются все биты ветвей, по которым совершается переход. Этот код называется кодом Хаффмана в честь предложившего его Дэвида Хаффмана. Теперь давайте построим такое дерево и соответствующие коды для частот символов русского языка и посмотрим, что получится.

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



По этому дереву легко было вычислить новые коды для каждого символа. Надо было только всегда помнить, что линия налево обозначает «0», а линия направо – «1». Так что, например, букве «Р» соответствовал код 00011, а букве «З» – 101110. В итоге у нас получилась вот такая таблица:



После этого папа предложил:

– Теперь давайте возьмём какое-нибудь сообщение и сравним его длину в трёх наших кодировках. Я посчитаю длину для самой первой кодировки, Екатерина – для кодировки из сна Кирилла, а Кирилл для только что построенной. А в качестве сообщения возьмём такую фразу: «На колоссальной дощатой террасе близ палисадника веснушчатая Агриппина Саввична потчевала исподтишка коллежского асессора Фаддея Аполлоновича ветчиной, винегретом и другими яствами под аккомпанемент виолончели и брандспойта».

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

– Папа, я половину слов не понял, а вторую половину не расслышал. Что ты такое придумал?

– Это фраза для проверки грамотности. Я своим сотрудникам устраиваю такие диктанты, чтобы не расслаблялись.

– Может быть, что-то другое попробуем закодировать? А то мы до вечера провозимся.

Перейти на страницу:

Похожие книги

Статьи и речи
Статьи и речи

Труды Максвелла Доклад математической и физической секции Британской ассоциации (О соотношении между физикой и математикой) Вводная лекция по экспериментальной физике (Значение эксперимента в теоретическом познании) О математической классификации физических величин О действиях на расстоянии Фарадей Молекулы О «Соотношении физических сил» Грова О динамическом доказательстве молекулярного строения тел Атом Притяжение Герман Людвиг Фердинанд Гельмгольц Строение тел Эфир Фарадей О цветовом зрении Труды о Максвелле М. Планк. Джемс Клерк Максвелл и его значение для теоретической физики в Германии А. Эйнштейн. Влияние Максвелла на развитие представлений о физической реальности Н. Бор. Максвелл и современная теоретическая физика Д. Турнер. Максвелл о логике динамического объяснения Р.Э. Пайерлс. Теория поля со времени Максвелла С.Дж. Вруш. Развитие кинетической теории газов (Максвелл) А.М. Ворк. Максвелл, ток смещения и симметрия Р.М. Эванс. Цветная фотография Максвелла Э. Келли. Уравнения Максвелла как свойство вихревой губки  

Джеймс Клерк Максвелл , Н. А. Арнольд

Физика / Проза прочее / Биофизика / Прочая научная литература / Образование и наука
100 великих загадок современности
100 великих загадок современности

Новая книга из серии «100 великих» посвящена ряду загадок отечественной и всемирной истории XX и начала XXI века. Порой кажется, что столетие, лишь недавно канувшее в Лету, дает нам поводов для размышлений и материала для исследований больше, чем все прошедшие века и тысячелетия человеческой истории. Две мировые войны, множество локальных военных конфликтов, революции и гражданские войны, заговоры, путчи и перевороты, экономические «чудеса» и тяжелейшие кризисы, выдающиеся достижения культуры и великие научные открытия, взлеты и падения человеческого духа – все это уместилось на относительно небольшом хронологическом отрезке. Читателю предлагаются оригинальные версии, результаты исследований ученых, краеведов, журналистов.

Николай Николаевич Непомнящий

Энциклопедии / Прочая научная литература / Образование и наука
На рубеже двух столетий
На рубеже двух столетий

Сборник статей посвящен 60-летию Александра Васильевича Лаврова, ведущего отечественного специалиста по русской литературе рубежа XIX–XX веков, публикатора, комментатора и исследователя произведений Андрея Белого, В. Я. Брюсова, М. А. Волошина, Д. С. Мережковского и З. Н. Гиппиус, М. А. Кузмина, Иванова-Разумника, а также многих других писателей, поэтов и литераторов Серебряного века. В юбилейном приношении участвуют виднейшие отечественные и зарубежные филологи — друзья и коллеги А. В. Лаврова по интересу к эпохе рубежа столетий и к архивным разысканиям, сотрудники Пушкинского дома, где А. В. Лавров работает более 35 лет. Завершает книгу библиография работ юбиляра, насчитывающая более 400 единиц.

Александр Ефимович Парнис , Владимир Зиновьевич Паперный , Всеволод Евгеньевич Багно , Джон Э. Малмстад , Игорь Павлович Смирнов , Мария Эммануиловна Маликова , Николай Алексеевич Богомолов , Ярослав Викторович Леонтьев

Литературоведение / Прочая научная литература / Образование и наука