Репортаж с ничейной земли. Рассказы об информации
Шрифт:
Прошло несколько мгновений, и на печатном бланке появились такие «слова»:
весел враться не сухом и непо и корко6.
– Нет, вы только полюбуйтесь на эту фразу!
– восторженно произносит ученый.
– - Это же не машина, а умница! Она «говорит» почти человеческим языком! Во всяком случае, в ее фразах можно найти подлежащее, сказуемое и другие части речи. Потому что порядка в ней стало гораздо больше: машина действует по программе и может учитывать вероятность и корреляцию букв. В каждой букве содержится теперь только 3 бита. По сравнению с первым опытом порядок, существующий в каждых ста буквах текста, увеличился на 200 бит. А ведь мы учли только корреляцию между четырьмя
Я очень внимательно слушаю все, что говорит ученый, и, кажется, все-таки перестаю его понимать. Неужели он и в самом деле собирается убеждать меня в том, что можно создать такую машину? Неужели вся разница между текстом, написанным ученым или поэтом, и тем, что пишет эта машина, измеряется только количеством бит? Уж не попали ли мы по ошибке в Лапуту? Ведь это там, по свидетельству Гулливера, ученые мужи постигали высшую мудрость, нанизывая на стержень гирлянды бессмысленных букв! Уж не по их ли стопам идут ученые Нового Города?
И все же факт остается фактом: ведь машина-то действительно пишет почти осмысленный текст. Может быть, ученый все-таки прав: стоит лишь усложнить программу, и машина напишет литературное произведение или научный трактат? Как во всем этом разобраться? Ведь смогли же создать машину, которая делает по программе правильный перевод. Почему же нельзя научить ее составлять разумные фразы? Где границы ее возможностей?
«Да нет же, - пытаюсь я себя успокоить.
– Машина никогда не сможет писать осмысленных текстов, потому что в мире есть только одна «машина», способная учесть корреляцию всех букв и слов. Это человеческий мозг. Ну, а как работает мозг? Может быть, он отличается от машины лишь более сложной программой? Очевидно, и в этом придется как следует разобраться. Не надо только торопиться и забегать вперед».
Я замечаю с досадой, что нарушаю правило, установленное мной же самим. Разве можно увлекаться новой задачей, пока не решена прежняя? Проблем возникает так много, что нужно проявить железную выдержку, чтобы не сбиться с пути. Сейчас на повестке дня вопрос об избыточности, и потому я усилием воли заставляю себя вновь сосредоточить внимание на бессмысленных текстах.
– Так как же все-таки оценить их избыточность?
– спрашиваю я ученого.
– О, эю уяснить вовсе не трудно. Посмотрите на эти фразы. Пока мы считаем, что все буквы имеют равную вероятность, по формуле Шеннона получается, что каждая буква алфавита несет информацию ровно 5 бит. А если учесть вероятность и корреляцию осмысленных текстов, то окажется, что неопределенность появления каждой следующей буквы составляет всего 1 бит. Получается разница в 4 бита. Это и есть избыточность текста. Значит, избыточность - это не учтенный нами порядок.
– А почему его считают избытком?
– Это тоже нетрудно понять. В каналах связи все буквы заменяются числами. А числа переводятся на двоичный код. Поэтому буква я будет выглядеть, как 100 ООО.
– А почему именно так?
– Разве вы не знакомы с двоичным кодом?
– Я знаком, но мне бы хотелось, чтобы наша беседа была понятна читателям.
– Хорошо, постараюсь выражаться яснее.
Буква я последняя в нашем алфавите. Ее порядковый номер - 32. 32 - это 2б, что в двоичной системе счисления обозначается как 100 000. Но это не сто тысяч! Это именно число 32, но записано оно только двумя цифрами - 0 и 1, и чтобы передать букву я, приходится потратить 6 импульсов: единицу и пять нулей7.
Когда импульсы следуют друг за другом, каждый из них несет одно из двух сообщений: 0 или 1, «да» или «нет». Значит, каждый импульс дает информацию 1 бит. И каждая буква текста при -учете законов чередования дает около 1 бита. Отсюда возникает вопрос: нельзя ли создать такой код, в котором импульсов будет не больше, чем букв?
Сортировка словесного груза
С этим новым вопросом пришлось повозиться еще несколько дней. Им занимались все члены отряда. Мы обнаружили, что существует множество различных способов, позволяющих избавить сообщения от излишеств. Мы начали с самых простых. В одном из текстов нам встретилась фраза:
Чтобы добиться спортивных успехов, необходимо непрерывно совершенствоваться, учиться у ведущих мастеров спорта, трудиться над повышением собственного мастерства, систематически тренироваться и закаляться.
Раньше мы не нашли бы в подобной фразе ничего необычного. Но теперь мы во всем находим излишки и потому прежде всего обращаем внимание на то обстоятельство, что сочетание ться повторяется в этой фразе целых шесть раз.
Если заменить все ться одним условным значком, подобно тому как это делают в стенографии, то 6 таких значков заменят целых 24 буквы, а сообщение станет короче на 18 букв. Метод этот изучается теорией информации и называется «укрупнением сигнала».
А вот пример, который встречался нам раньше. Сообщение о том, что Ботвинник играет черными, содержит в себе всего 1 бит. Но фраза Ботвинник играет черными содержит 22 буквы - целых 110 бит. Следовательно, 109 бит - это чистый избыток!
Как избавиться от «лишнего груза»?
А очень просто. Надо пользоваться специальным кодом: 0 - Ботвинник играет черными; 1 - черными играет партнер. И избытка как не бывало: вся информация уместилась теперь в одном импульсе, потому что импульс дает как раз 1 бит.
Но понять смысл таких сообщений сможет не каждый. Надо заранее знать о том, что возможны лишь два различных исхода, и каждый имеет свою вероятность: P1 - вероятность того, что Ботвинник играет черными; P2 - вероятность того, что черными играет партнер. Зная заранее, что P2 = P1 = 50 процентам, мы посылаем сигналы 0 или 1, и они дают нам как раз то количество информации, которое мы ожидаем, - 1 бит.
Для того чтобы пользоваться этим условным кодом, мы должны предварительно получить информацию о том, что он будет обозначать. Нам должно быть известно заранее, что речь пойдет о шахматном матче, а не о принятии резолюции на Ассамблее ООН. Мы должны знать, что в матче участвуют, скажем, Таль и Ботвинник, а не кто-то другой. Но все эти сведения мы должны получить однажды, а дальнейшие сообщения, вроде: Ботвинник играет черными; черными играет Таль, уточняют лишь, кто из них будет играть черными в очередной встрече, то есть дают всего 1 бит. Поэтому с точки зрения теории информации нет никакого смысла на протяжении всего матча 24 раза подряд повторять подобные фразы - ведь можно значительно уменьшить избыточность, применив специальный код.
Кстати, именно так и поступают работники телеграфа при передаче поздравительных праздничных телеграмм. Почему эти телеграммы стоят дешевле обычных? Потому что в них то и дело повторяются фразы: Поздравляю с Новым годом; Желаю успехов, здоровья, счастья... А работники связи делают просто: вместо слов поздравлений и пожеланий посылают один условный значок. Но все же указанный способ имеет лишь частное применение: он пригоден в тех случаях, когда сообщения повторяются несколько раз. А нельзя ли найти более общие методы, избавляющие от излишеств любой передаваемый текст? Оказывается, такой способ уже нашли. Специальные устройства сортируют «словесные грузы». Грузы эти сортируются не по весу, не по качеству, не по объему, а по вероятности появления букв.