Бесконечное множество различных процессов обладает свойствами корреляции. Помимо букв, звуков, изображений, по тем же законам могут меняться значения токов, давлений, скоростей и температур. Но математика смогла обобщить все явления, в которых случайные значения скорости, яркости или буквы зависят от тех значений, которые имели место мгновение назад. Она назвала их «марковскими процессами» - по имени русского математика Маркова, который первым исследовал подобные процессы.
Все эти сведения о вероятностных законах словесных текстов вы можете почерпнуть из специальных статей и книг. Но если вам посчастливится побывать в лабораториях Нового Города, вы сможете увидеть собственными глазами, как случаем управляет закон. Здесь вам предложат вновь обратиться к урне с шарами, но на этот раз шары будут отличаться не цветом, а надписью: на каждом шаре будет написана какая-то буква. Вынимая шары наугад и вновь бросая их в урну, вы получите что-нибудь вроде: сухерробьдш яыхвщиюайжтлфвнзстфоенвштцрпхгбкуч тжюряпчъкйхрыс.
- Для чего вы заставляете меня записывать эту бессмыслицу? - спросил я у сотрудника лаборатории, демонстрировавшего этот опыт.
- Бессмыслицу? - улыбнулся он. - Да, пожалуй. Это пример самого хаотичного текста. В этой урне 320 шаров, каждая буква повторяется 10 раз. Вероятность всех букв одинакова:
PА = PБ = PВ = ... = PЯ = 1/32.
Если вы подставите эти значения в формулу Шеннона, то получится, что каждая буква дает информацию в количестве 5 бит.
(Читатель уже знаком с примером такого расчета. В данном случае:
I =
(
1
32
·log
1
32
)
·32 = log
1
32
= - log 25 = 5 бит.)
Обратите внимание, - продолжал он, указывая на непонятную запись, - каким несуразным получилось второе слово. Встречали ли вы когда-нибудь такие «слова»? Конечно, нет, ведь в нем целых 59 букв! Продолжая этот опыт, вы будете все время получать такие же длинные и несуразные «слова». Почему? Потому что буквы чередуются здесь беспорядочно. 10 шаров не имеют букв. Вынимая такой шар, вы отмечаете пробел, соответствующий концу «слов». Вероятность появления пробела так же равна 1/32. Это значит, что в среднем на каждые 32 вынутые буквы будет один раз попадаться пробел. Значит, в нашем «тексте» 31 буква - это средняя длина слов. А ведь в нормальном тексте средняя длина слова составляет не более 7 букв.
Как же сделать, чтобы наш «текст» стал похож на обычные тексты? А очень просто. Возьмем другую урну. В этой урне среди каждой сотни шаров буква а попадется семь раз. Приблизительно с такой частотой повторяется она в русском тексте. Количество других букв также соответствует их вероятности. Повторите опыт.
На этот раз сообщение выглядело так:
еыт цияьа оерв однт ьуемлойк збя енв тша.
- Не правда ли, это мало похоже на обычную фразу? - обратился ко мне ученый. - И все же здесь уже есть какой-то порядок, по крайней мере нет слов слишком длинных, и каждое из них можно даже произнести вслух. А впрочем, нет. Как произнесешь мягкий знак, - стоящий в начале слова или поеле гласного звука я? Мы можем оценить в цифрах, много ли порядка появилось теперь в нашем тексте. Для этого надо знать, чему равна вероятность каждой буквы, подставить их в формулу Шеннона и подсчитать значение I. Мы уже делали такие расчеты, Получалось, что на каждую букву приходится теперь около 4 бит.
Итак, в первом случае было 5 бит на букву, а теперь только 4. Почему? Потому что уменьшилась неопределенность. Разные буквы имеют теперь не одинаковую вероятность, а разную. У формулы Шеннона есть одно очень важное свойство: она всегда покажет, что наибольшее значение I соответствует равной вероятности всех возможных событий. Если есть черные и белые шары, энтропия будет самой большой, когда и тех и других по 5, по 10 или по 100 штук. Если черных больше, чем белых, неопределенность становится меньше. Значит, в формуле Шеннона уменьшилось I.
То же самое с текстом. Раньше каждые 100 букв несли 500 бит информации, теперь 100 букв дают только 400 бит. Неопределенность фразы, состоящей из 100 букв, стала меньше ровно на 100 бит.
А можно рассуждать по-другому: перед тем как класть в урну шары с обозначениями букв, мы учли их вероятность. От этого в нашем тексте стало больше порядка: в каждой стобуквенной фразе порядок возрос на 100 бит.
- А сколько порядка в обычном печатном тексте? - спросил я ученого.
- На этот вопрос не так-то просто ответить. Чтобы оценить в битах этот порядок, надо учесть корреляцию всех букв и слов. Но мы с вами поступим несколько проще. Вот перед вами стоит вычислительная машина. В ее памяти хранятся все буквы алфавита. Мы сейчас зададим ей такую программу: она будет помнить три последние буквы написанного ей текста и сама выберет четвертую. При этом она учтет вероятности сочетаний: например, она «знает», что вероятность сочетания ста составляет 5 процентов, а вероятность стю - только 1 процент. Значит, в тексте, написанном этой машиной, сочетание стю встретится в пять раз реже, чем сочетание ста. Внимание, я включаю машину!
Прошло несколько мгновений, и на печатном бланке появились такие «слова»:
весел враться не сухом и непо и корко6.
- Нет, вы только полюбуйтесь на эту фразу! - восторженно произносит ученый. - - Это же не машина, а умница! Она «говорит» почти человеческим языком! Во всяком случае, в ее фразах можно найти подлежащее, сказуемое и другие части речи. Потому что порядка в ней стало гораздо больше: машина действует по программе и может учитывать вероятность и корреляцию букв. В каждой букве содержится теперь только 3 бита. По сравнению с первым опытом порядок, существующий в каждых ста буквах текста, увеличился на 200 бит. А ведь мы учли только корреляцию между четырьмя буквами текста. Если же учесть взаимосвязь между всеми буквами и словами, то информация каждой буквы будет равна приблизительно 1 биту. Машина станет настолько «умной», что сможет дать на любой ваш вопрос весьма толковый ответ!
Я очень внимательно слушаю все, что говорит ученый, и, кажется, все-таки перестаю его понимать. Неужели он и в самом деле собирается убеждать меня в том, что можно создать такую машину? Неужели вся разница между текстом, написанным ученым или поэтом, и тем, что пишет эта машина, измеряется только количеством бит? Уж не попали ли мы по ошибке в Лапуту? Ведь это там, по свидетельству Гулливера, ученые мужи постигали высшую мудрость, нанизывая на стержень гирлянды бессмысленных букв! Уж не по их ли стопам идут ученые Нового Города?
И все же факт остается фактом: ведь машина-то действительно пишет почти осмысленный текст. Может быть, ученый все-таки прав: стоит лишь усложнить программу, и машина напишет литературное произведение или научный трактат? Как во всем этом разобраться? Ведь смогли же создать машину, которая делает по программе правильный перевод. Почему же нельзя научить ее составлять разумные фразы? Где границы ее возможностей?
«Да нет же, - пытаюсь я себя успокоить. - Машина никогда не сможет писать осмысленных текстов, потому что в мире есть только одна «машина», способная учесть корреляцию всех букв и слов. Это человеческий мозг. Ну, а как работает мозг? Может быть, он отличается от машины лишь более сложной программой? Очевидно, и в этом придется как следует разобраться. Не надо только торопиться и забегать вперед».
Я замечаю с досадой, что нарушаю правило, установленное мной же самим. Разве можно увлекаться новой задачей, пока не решена прежняя? Проблем возникает так много, что нужно проявить железную выдержку, чтобы не сбиться с пути. Сейчас на повестке дня вопрос об избыточности, и потому я усилием воли заставляю себя вновь сосредоточить внимание на бессмысленных текстах.