Любая наука рано или поздно приходит к необходимости как-то измерять то, что она изучает. Измерение информации — это одна из важнейших задач теоретической информатики.
Для человека информация — это, прежде всего, смысл, заключённый в сигналах и данных. Как измерить смысл? На этот вопрос пока нет однозначного ответа.
Вспомним, что компьютеры не могут обрабатывать смысл, они работают только с данными. При этом возникают чисто практические задачи: определить, сколько места займёт на диске текст, рисунок или видеофильм; сколько времени потребуется на передачу файла по компьютерной сети и т. п. Поэтому чаще всего используется объёмный подход к измерению информации. Он заключается в том, что количество информации оценивается просто по числу символов, используемых для её кодирования. С этой точки зрения стихотворение А. С. Пушкина и случайный набор букв могут содержать одинаковое количество информации. Конечно, такой подход не универсален, но он позволяет успешно решать практические задачи, связанные с компьютерной обработкой и хранением данных.
Что такое бит?
Рассмотрим электрическую лампочку, которая может находиться в двух состояниях: «горит» и «не горит». Тогда на вопрос «Горит ли сейчас лампочка» есть два возможных варианта ответа, которые можно обозначить цифрами 1 («горит») и 0 («не горит»). Поэтому ответ на этот вопрос (полученная информация) может быть записан как 0 или 1.
Цифры 0 и 1 называют двоичными, и с этим связано название единицы измерения количества информации — бит. Английское слово bit — это сокращение от выражения binary digit — «двоичная цифра». Впервые слово «бит» в этом значении использовал американский инженер и математик Клод Шеннон в 1948 г.
Бит — это количество информации, которую можно записать (закодировать) с помощью одной двоичной цифры.
2 бита, 3 бита…
А если возможных вариантов не два, а больше? Понятно, что в этом случае количество информации будет больше, чем 1 бит. Представим себе, что на вокзале стоят 4 одинаковых поезда (рис. 1.6), причём только один из них проследует в Москву. Сколько битов понадобится для того, чтобы записать информацию о номере платформы, где стоит поезд на Москву?
Очевидно, что одного бита недостаточно, так как с помощью одной двоичной цифры можно закодировать только два варианта — коды 0 и 1. А вот два бита дают как раз 4 разных сообщения: 00, 01, 10 и 11. Теперь нужно сопоставить эти коды номерам платформ, например, так: 1 — 00, 2 — 01, 3 —10, 4 — 11. Тогда сообщение 10 говорит о том, что поезд на Москву стоит на платформе № 3. Это сообщение несёт 2 бита информации.
Три бита дают уже 8 вариантов: 000, 001, 010, 011, 100, 101, 110 и 111. Таким образом, каждый бит, добавленный в сообщение, увеличивает количество вариантов в 2 раза.
Другие единицы
Считать большие объёмы информации в битах неудобно хотя бы потому, что придётся работать с очень большими числами (миллиардами, триллионами и т. д.). Поэтому стоит ввести более крупные единицы.
1 байт = 8 битов.
Сразу возникает вопрос: а почему не 10 битов? Дело в том, что слово «байт» (англ. byte) имеет второе значение — так называют наименьший блок (ячейку) памяти, который процессор компьютера может считать и обработать за один раз. Для современных компьютеров он состоит из 8 элементов, каждый из которых хранит 1 бит данных. Это связано с тем, что до недавнего времени при обработке текста использовался набор из 256 символов, так что для кодирования каждого символа было нужно 8 битов.
Объёмы данных, с которыми работают компьютеры, нередко измеряются миллионами и миллиардами байтов. В таких случаях используют единицы, образованные с помощью приставок:
1 Кбайт (килобайт) = 1024 байта = 210 байта = 213 битов.
1 Мбайт (мегабайт) = 1024 Кбайт = 210 Кбайт = 220 байтов = 223 битов.
1 Гбайт (гигабайт) = 1024 Мбайт.
1 Тбайт (терабайт) = 1024 Гбайт.
Для перевода количества информации из одних единиц в другие нужно использовать приведённые выше соотношения. При переводе из крупных единиц в мелкие числа умножают на соотношение между единицами. Например:
2 Кбайт = 2 • (1 Кбайт) = 2 • 1024 байтов = 2048 байтов = 2048 • (1 байт) = 2048 • 8 битов = 16 384 бита.
2 Кбайт = 2 • 210 байтов = 211 байтов = 211 • 23 битов = 214 битов.
В последней строке все расчёты сделаны через степени числа 2, очень часто так бывает проще.
При переводе количества информации из мелких единиц в крупные нужно делить на соотношение между единицами. Например:
8192 бита = 8192 • (1/8 байта) = 8192 : 8 байтов = 1024 байта =
= 1024 • (1/1024 Кбайт) = 1024 : 1024 Кбайт = 1 Кбайт.
8192 бита = 213 битов = 213 • (1/23 байта) = 210 байтов = 210 • (1/210 Кбайт) = 1 Кбайт.
Алфавитный подход к измерению количества информации
Представьте себе, что вы много раз бросаете монету и записываете результат очередного броска как 1 (если монета упала гербом) или 0 (если она упала «решкой»). В результате получится некоторое сообщение — цепочка нулей и единиц, например 0101001101001110. Вы наверняка поняли, что здесь используется двоичное кодирование — это сообщение написано на языке, алфавит которого состоит из двух знаков (символов): 0 и 1. Как вы знаете, каждая двоичная цифра несёт 1 бит информации, поэтому полная информация в сообщении 0101001101001110 равна 16 битов.
Теперь представим себе, что нужно закодировать программу для робота, который умеет выполнять команды «вперёд», «назад», «влево» и «вправо». Для этого можно использовать алфавит, состоящий из 4 символов: Сколько информации содержится в сообщении ? Каждый полученный символ может быть любым из 4 символов алфавита, а для кодирования одного из 4 вариантов требуется уже два бита. Поэтому полное сообщение из 11 символов содержит 22 бита информации.
Алфавитный подход к измерению количества информации состоит в следующем:
определяем мощность алфавита N (количество символов в алфавите);
по таблице степеней числа 2 определяем количество битов информации i, приходящихся на каждый символ сообщения, — информационную ёмкость (объём) символа:
умножаем i на число символов в сообщении k, это и есть полное количество информации:
I = k *i.. Обратим внимание на важные особенности алфавитного подхода.
При использовании алфавитного подхода не учитывается, что некоторые символы могут встречаться в сообщении чаще других. Считается, что каждый символ несёт одинаковое количество информации.
Алфавитный подход не учитывает также частоты появления сочетаний символов (например, после гласных букв никогда не встречается мягкий знак).
Кроме того, никак не учитывается смысл сообщения, оно представляет собой просто набор знаков, которые приёмник, возможно, даже не понимает.
При использовании алфавитного подхода смысл сообщения не учитывается. Количество информации определяется только длиной сообщения и мощностью алфавита.
Во многих задачах такой подход очень удобен. Например, для устройств, передающих информацию по сети, её содержание не имеет никакого значения, важен только объём. Почтальону всё равно, что написано в письмах, важно только их количество, которое влияет на вес сумки. Для компьютера все данные — это последовательности нулей и единиц, смысла данных он не понимает.
Для вычисления информационного объёма текста чаще всего применяют именно алфавитный подход.
Изучите материал ролика "Измерение количества информации"
[flash=]http://school-collection.edu.ru/catalog ... 70fd442c74[/flash]
Ответьте на вопросы теста "Измерение информации"
[flash=]http://school-collection.edu.ru/catalog ... d642/view/[/flash]