Как измеряется количество информации?
Какое количество информации содержится, к примеру, в тексте романа "Война и мир", в фресках Рафаэля или в генетическом коде человека? Ответа на эти вопросы наука не даёт и, по всей вероятности, даст не скоро.
А возможно ли объективно измерить количество информации? Важнейшим результатом теории информации является вывод:
В настоящее время получили распространение подходы к определению понятия "количество информации", основанные на том, что информацию, содержащуюся в сообщении, можно нестрого трактовать в смысле её новизны или, иначе, уменьшения неопределённости наших знаний об объекте.
Так, американский инженер Р. Хартли (1928 г.) процесс получения информации рассматривает как выбор одного сообщения из конечного наперёд заданного множества из N равновероятных сообщений, а количество информации I, содержащееся в выбранном сообщении, определяет как двоичный логарифм N.
Формула Хартли: I = log2N.
Допустим, нужно угадать одно число из набора чисел от единицы до ста. По формуле Хартли можно вычислить, какое количество информации для этого требуется: I = log2100 » 6,644. То есть сообщение о верно угаданном числе содержит количество информации, приблизительно равное 6,644 единиц информации.
Определить понятие “количество информации” довольно сложно. В решении этой проблемы существуют два основных подхода. Исторически они возникли почти одновременно. В конце 40-х годов XX века один из основоположников кибернетики американский математик Клод Шеннон развил вероятностный подход к измерению количества информации, а работы по созданию ЭВМ привели к “объемному” подходу.
4.2 Вероятностный подход
Рассмотрим в качестве примера опыт, связанный с бросанием правильной игральной кости, имеющей N граней (наиболее распространенным является случай шестигранной кости: N = 6). Результаты данного опыта могут быть следующие: выпадение грани с одним из следующих знаков: 1, 2, . . . N.
Введем в рассмотрение численную величину, измеряющую неопределенность — энтропию (обозначим ее H). Величины N и H связаны между собой некоторой функциональной зависимостью:
H = f(N), (1.1)
а сама функция f является возрастающей, неотрицательной и определенной (в рассматриваемом нами примере) для N = 1, 2, … 6.
Рассмотрим процедуру бросания кости более подробно:
1) готовимся бросить кость; исход опыта неизвестен, т.е. имеется некоторая неопределенность. Обозначим ее H1;
2) кость брошена; информацию об исходе данного опыта получена. Обозначим количество этой информации через I;
3) обозначим неопределенность данного опыта после его осуществления через H2.
За количество информации, которое получено в ходе осуществления опыта, примем разность неопределенностей, имевшихся “до” и “после” опыта:
I = H1 – H2 . (1.2)
Очевидно, что в случае, когда получен конкретный результат, имевшаяся неопределенность снята (H2=0), и, таким образом, количество полученной информации совпадает с первоначальной энтропией. Иначе говоря, неопределенность, заключенная в опыте, совпадает с информацией об исходе этого опыта. Заметим, что значение H2 могло быть и не равным нулю, например, в случае, когда в ходе опыта следующей выпала грань со значением большим “3”.
Следующим важным моментом является определение вида функции f в формуле (1.1). Если варьировать число граней N и число бросаний кости (обозначим эту величину через M), то общее число исходов (векторов длины M, состоящих из знаков 1, 2, …, N) будет равно N в степени М:
X = NМ. (1.3)
Так, в случае двух бросаний кости с шестью гранями имеем: X = 62= 36. Фактически каждый исход X есть некоторая пара (X1, X2), где X1 и X2 — соответственно исходы первого и второго бросаний (общее число таких пар — X).
Ситуацию с бросанием M раз кости можно рассматривать как некую сложную систему, состоящую из независимых друг от друга подсистем — “однократных бросаний кости”. Энтропия такой системы в M раз больше, чем энтропия одной системы (так называемый “принцип аддитивности энтропии”):
f(6М) = M * f(6).
Данную формулу можно распространить и на случай любого N:
f(NМ) = M * f(N) (1.4)
Прологарифмируем левую и правую часть формулы (1.3):
ln X = M * ln N, M = ln X / ln M
Подставляем полученное для M значение в формулу (1.4):
Обозначив через K положительную константу , получим
f(X ) = K*ln X
или, с учетом (1.1),
H = K * ln N
Обычно принимают, таким образом
H = log2N. (1.5)
Это — формула Хартли.
Важным при введение какой-либо величины является вопрос о том, что принимать за единицу ее измерения. Очевидно, H будет равно единице при N = 2. Иначе говоря, в качестве единицы принимается количество информации, связанное с проведением опыта, состоящего в получении одного из двух равновероятных исходов (примером такого опыта может служить бросание монеты при котором возможны два исхода: “орел”, “решка”). Такая единица количества информации называется “бит”.
Все N исходов рассмотренного выше опыта являются равновероятными и поэтому можно считать, что на “долю” каждого исхода приходится одна N-является часть общей неопределенности опыта:
( log2N ) / N
При этом вероятность i-го исхода Piравняется, очевидно, 1/N.
Таким образом,
(1.6)
Та же формула (1.6) принимается за меру энтропии в случае, когда вероятности различных исходов опыта неравновероятны (т.е. Piмогут быть различны). Формула (1.6) называется формулой Шеннона.
В качестве примера определим количество информации, связанное с появлением каждого символа в сообщениях, записанных на русском языке. Будем считать, что русский алфавит состоит из 33 букв и знака “пробел” для разделения слов. По формуле (1.5)
H = log234 ~ 5 бит
Однако, в словах русского языка (равно как и в словах других языков) различные буквы встречаются неодинаково часто. Ниже приведена табл. 3 вероятностей частоты употребления различных знаков русского алфавита, полученная на основе анализа очень больших по объему текстов.
Воспользуемся для подсчета H формулой (1.6): H ~ 4.72 бит. Полученное значение H, как и можно было предположить, меньше вычисленного ранее. Величина H, вычисляемая по формуле (1.5), является максимальным количеством информации, которое могло бы приходиться на один знак.
Аналогичные подсчеты H можно провести и для других языков, например, использующих латинский алфавит — английского, немецкого, французского и др. (26 различных букв и “пробел”). По формуле (1.5) получим
H = log227 ~ 4.76 бит
Как и в случае русского языка, частота появления тех или иных знаков не одинакова. Так, если расположить все буквы данных языков в порядке убывания вероятностей, то получим следующие последовательности:
АНГЛИЙСКИЙ ЯЗЫК: “пробел”, E, T, A, O, N, R, …
НЕМЕЦКИЙ ЯЗЫК: “пробел”, E, N, I, S, T, R, …
ФРАНЦУЗСКИЙ ЯЗЫК: “пробел”, E, S, A, N, I, T, …
Таблица 3.
Частотность букв русского языка
i | Символ | P(i) | i | Символ | P(i) | i | Символ | P(i) |
_ | 0.175 | Л | 0.035 | Б | 0.014 | |||
О | 0.090 | К | 0.028 | Г | 0.012 | |||
Е | 0.072 | М | 0.026 | Ч | 0.012 | |||
Ё | 0.072 | Д | 0.025 | Й | 0.010 | |||
А | 0.062 | П | 0.023 | Х | 0.009 | |||
И | 0.062 | У | 0.021 | Ж | 0.007 | |||
T | 0.053 | Я | 0.018 | Ю | 0.006 | |||
H | 0.053 | Ы | 0.016 | Ш | 0.006 | |||
C | 0.045 | З | 0.016 | Ц | 0.004 | |||
P | 0.040 | Ь | 0.014 | Щ | 0.003 | |||
B | 0.038 | Ъ | 0.014 | Э | 0.003 | |||
Ф | 0.002 |
Рассмотрим алфавит, состоящий из двух знаков 0 и 1. Если считать, что со знаками 0 и 1 в двоичном алфавите связаны одинаковые вероятности их появления (P(0)=P(1)= 0.5), то количество информации на один знак при двоичном кодировании будет равно
H = log22 = 1 бит.
Таким образом, количество информации (в битах), заключенное в двоичном слове, равно числу двоичных знаков в нем.
4.3 Объемный подход
В двоичной системе счисления знаки 0 и 1 будем называть битами (от английского выражения Binary digiTs — двоичные цифры). Отметим, что создатели компьютеров отдают предпочтение именно двоичной системе счисления потому, что в техническом устройстве наиболее просто реализовать два противоположных физических состояния: некоторый физический элемент, имеющий два различных состояния: намагниченность в двух противоположных направлениях, прибор, пропускающий или нет электрический ток, конденсатор, заряженный или незаряженный и т.п. В компьютере бит является наименьшей возможной единицей информации. Объем информации, записанной двоичными знаками в памяти компьютера или на внешнем носителе информации, подсчитывается просто по количеству требуемых для такой записи двоичных символов. При этом, в частности, невозможно нецелое число битов (в отличие от вероятностного подхода).
Для удобства использования введены и более крупные, чем бит, единицы количества информации. Так, двоичное слово из восьми знаков содержит один байт информации. 1024 байта образуют килобайт (Кбайт), 1024 килобайта — мегабайт (Мбайт), а 1024 мегабайта — гигабайт (Гбайт).
Между вероятностным и объемным количеством информации соотношение неоднозначное. Далеко не всякий текст, записанный двоичными символами, допускает измерение объема информации в кибернетическом смысле, но заведомо допускает его в объемном. Далее, если некоторое сообщение допускают измеримость количества информации в обоих смыслах, то это количество не обязательно совпадает, при этом кибернетическое количество информации не может быть больше объемного.
В дальнейшем практически всегда количество информации понимается в объемном смысле.
В качестве единицы информации условились принять один бит (англ. bit — binary, digit — двоичная цифра).
Бит в теории информации — количество информации, необходимое для различения двух равновероятных сообщений.
А в вычислительной технике битом называют наименьшую "порцию" памяти, необходимую для хранения одного из двух знаков "0" и "1", используемых для внутримашинного представления данных и команд.
Бит — слишком мелкая единица измерения. На практике чаще применяется более крупная единица — байт, равная восьми битам. Именно восемь битов требуется для того, чтобы закодировать любой из 256 символов алфавита клавиатуры компьютера (256=28).
Широко используются также ещё более крупные производные единицы информации:
· 1 Килобайт (Кбайт) = 1024 байт = 210 байт,
· 1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,
· 1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.
В последнее время в связи с увеличением объёмов обрабатываемой информации входят в употребление такие производные единицы, как:
· 1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт,
· 1 Петабайт (Пбайт) = 1024 Тбайт = 250 байт.
За единицу информации можно было бы выбрать количество информации, необходимое для различения, например, десяти равновероятных сообщений. Это будет не двоичная (бит), а десятичная (дит) единица информации.