Так, если бы в тексте на русском языке все буквы, включая знаки препинания и пробел между словами (32 символа), встречались с равной частотой, информационная емкость русского алфавита равнялась бы:
-∑1/32 log2l/32 = log32 = 5 бит/символ
Обычно она гораздо меньше. 5 бит/символ — это предельная величина. Но во всех реальных текстах символы встречаются с разной частотой, и энтропия обычно меньше, примерно в 2,5 раза, и приближается к двум битам на символ. Отсюда можно подсчитать и объем информации в тексте. Например, в авторском листе (единице объема рукописей) 40 000 символов и, значит, 80 000 бит информации. Но опять же это верхний предел, эта цифра имеет значение для наборщика и корректора, но не читателя. Далее мы еще вернемся к этому.
А пока ответим на вопрос: откуда развивающийся организм берет сведения о своей сложности? Ответ однозначен — из своей генетической программы, из ДНК. В ДНК «генетический текст» закодирован четырьмя символами — аденином, гуанином, цитозином и тимином. При равной частоте встречаемости символов энтропия на символ равна:
Н = — 4(0,25 log2 0,25) = 2
То есть тексты, написанные русским языком, и текст нашей генетической программы обладают примерно равной информационной емкостью. В геноме каждого из нас содержится примерно 3,2x109 нуклеотидов; соответственно объем содержащейся в нем информации 6,4x109 бит. Любители считать могут прикинуть, библиотеке какого объема это соответствует, только пусть помнят, что в выходных данных книги указываются не авторские листы, а печатные.
Значит, им нужно сначала подсчитать число символов на страницу текста книги данного формата и умножить на число страниц. Но все эти подсчеты будут сугубо приближенные: и в случае с ДНК два бита/символ — недостижимый максимум.
Кроме того, надо учесть одно обстоятельство: чтобы превратиться в признаки и свойства организма, генетическая информация перекодируется, проходя по каналу:
ДНК → РНК → белок
Передатчик этой информации — хромосома, приемник — цитоплазма клетки, в которой синтезируется белок. А уж от набора белковых молекул и их количества зависит дальнейшая судьба клетки и всего организма.
Первый этап перекодировки ДНК → РНК не изменяет информационной емкости сигнала. Ведь нуклеотидный текст остается без изменения, только тимин заменяется на урацил. А это тот же тимин, только неметилированный (без группы СН3). Зато перекодировка нуклеотидного текста информационной РНК в аминокислотную последовательность белка весьма существенна.
Сейчас и в школе учат, что одна аминокислота, точнее, один аминокислотный остаток в полипептидной цепи, образующей белок, соответствует трем нуклеотидам в информационной РНК. Возможное число сочетаний из 4 по 3 — это 43, т. е. 64 символа. Если бы в наших белках было 64 аминокислоты, то энтропия на символ равнялась бы:
H = -64(1/64 log2 1/64) = 6,1 бит
Но три символа (тройки нуклеотидов, триплеты, кодоны) — бессмысленны, они аминокислот не кодируют. На них синтез полипептидной цепи обрывается, они соответствуют пробелам между словами в печатной речи и паузам — в устной. А аминокислот в белковом тексте всего 20, причем, каждая из них кодируется разным числом триплетов. Лейцин, серии, аргинин — эти буквы белкового текста кодируются каждый шестью триплетами, а метионин и триптофан — только одним триплетом каждый. Такой код называется вырожденным.
Аналогию можно найти и в человеческих языках. В старой русской орфографии звук «эф»выражался двумя символами — Фи Θ(ферт и фита), звук «и»— тремя: и, i, (ижица). И в орфографиях других языков встречается вырожденность кода: например, англичане звук «и»выражают через i(в начале слов, заимствованных из других языков), через е(the evening, вечер), через дифтонг ее(the speed, скорость), через еа(dean, декан), через у(prosperity). Я не останавливаюсь здесь на делении гласных на краткие и долгие; для нас это сейчас не имеет значения. Как возникла в процессе эволюции вырожденность генетического кода — неясно. Может быть, на заре жизни аминокислот в белках было больше, чем сейчас? Впоследствии часть из них выпала, а их кодоны захватили другие аминокислоты, близкие по свойствам. Но это только гипотеза, если не спекуляция.
Вернемся, однако, к энтропии на символ для белкового текста. С учетом вырожденности кода эта величина, по моим давним подсчетам, равна 4,21 бит/аминокислотный остаток. Но это опять же с допущением, что все остатки в белке встречаются с одинаковой частотой. А это далеко не так. Если учтем данные по аминокислотному составу белков, получается величина примерно в два раза меньшая — у меня получалось 2,17-2,38 бит. Разумнее все же считать эту цифру завышенной, так как я исходил из того, что, например, все шесть кодонов для аргинина встречаются с одинаковой частотой. Два бита на символ — величина, наиболее подходящая для белка.
Читать дальше