Измерение количества информации и её кодирование.
Термин «информация» имеет корень «form» (форма), что разумно трактовать как «информирование — придание формы, вывод из состояния неопределенности, бесформенности», поэтому логично подходить к определению понятия «количество информации», исходя из того, что информацию, содержащуюся в сообщении, можно трактовать в смысле ее новизны или, иначе, уменьшения неопределенности знаний «приемника информации» об объекте.
Американский инженер Р. Хартли в 1928 г. рассматривал процесс получения информации как выбор одного сообщения из конечного заданного множества из N равновероятных сообщений, а количество информации I, содержащееся в выбранном сообщении, определял как двоичный логарифм N:
I= log2 N
Допустим, нужно угадать одно число из набора чисел от единицы до ста. По формуле Хартли можно вычислить, какое количество информации для этого требуется:
I= log2100, что приблизительно равно 6,644.
Таким образом, сообщение о верно угаданном числе содержит количество информации, приблизительно равное 6,644 единицы информации.
Определим теперь, являются ли равновероятными сообщения «первой выйдет из дверей здания женщина» и «первым выйдет из дверей здания мужчина». Однозначно ответить на этот вопрос нельзя. Все зависит от того, о каком именно здании идет речь. Если это, например, станция метро, то вероятность выйти из дверей первым одинакова для мужчины и женщины, а если это военная казарма, то для мужчины эта вероятность значительно выше, чем для женщины.
Для задач такого рода американский ученый К. Шеннон предложил в 1948 г. другую формулу определения количества информации, учитывающую возможную неодинаковую вероятность сообщений в наборе.
Формула Шеннона:
Очевидно, что если вероятности p1, ..., pN равны, то каждая из них равна 1/N, и формула Шеннона превращается в формулу Хартли.
Помимо двух рассмотренных подходов к определению количества информации, существуют и другие. Важно помнить, что любые теоретические результаты применимы лишь к определенному кругу случаев, очерченному первоначальными допущениями.
За единицу информации можно было бы выбрать количество информации, необходимое для различения, например, десяти равновероятных сообщений. Это будет не двоичная (бит), а десятичная (дит) единица информации.
Поскольку бит — слишком мелкая единица измерения, на практике чаще применяется более крупная единица — байт, равная восьми битам. В частности, восемь бит требуется для того, чтобы закодировать любой из 256 символов основного компьютерного кода ASCII (256 = 28).
Используются также более крупные производные единицы информации:
Килобайт (Кбайт) = 1024 байт = 2ю байт;
Мегабайт (Мбайт) = 1024 Кбайт = 220 байт;
Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.
В последнее время в связи с увеличением объемов обрабатываемой информации входят в употребление такие производные единицы, как:
Терабайт (Тбайт) = 1024 Гбайт = 240 байт;
Петабайт (Пбайт) = 1024 Тбайт = 250 байт;
Эксабайт = 1018 Мбайт и пр.
Для описания скорости передачи данных можно использовать термин бод. Число бод равно количеству значащих изменений сигнала (потенциала, фазы, частоты), происходящих в секунду. Первоначально бод использовался в телеграфии. Для двоичных сигналов нередко принимают, что бод равен биту в секунду, 1200 бод = 1200 бит/с. Однако, единого мнения о правильности использования этого термина нет, особенно при высоких скоростях,
Чтобы техническое устройство могло обрабатывать информацию ее необходимо представить (закодировать) в понятном виде.
Кодирование - это выражение данных одного типа через данные другого типа. Для представления информации в вычислительной технике преимущественное распространение получило двоичное кодирование.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111). Двоичный код каждого символа занимает 1 байт памяти ЭВМ. Этот код является порядковым номером символа.
Для кодирования символов одного языка (например, русского или английского) достаточно 7 бит (128 символов). Для кодирования двух языков - национального и английского (международного) требуется 8 бит (256 символов), при этом еще и останутся свободные коды.
Присвоение символу конкретного кода – это соглашение, которое фиксируется в кодовой таблице.
Для разных типов ЭВМ используются различные таблицы кодировки.
Международным стандартом для ПК стала таблица ASCII (Американский стандартный код для информационного обмена).
Таблица кодов ASCII делится на две части.
Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от 0 (00000000), до 127 (01111111).
В таблице кодировки буквы (прописные и строчные) располагаются в алфавитном порядке, а цифры упорядочены по возрастанию значений. Такое соблюдение лексикографического порядка в расположении символов называется принципом последовательного кодирования алфавита.
Для букв русского алфавита также соблюдается принцип последовательного кодирования.
К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows, MS-DOS, Macintosh и ISO). Из-за этого часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую.
Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 ("Код обмена информацией, 8-битный"). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.
От начала 90-х годов, времени господства операционной системы MS DOS, остается кодировка CP866 ("CP" означает "Code Page", "кодовая страница").
Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac.
Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.
Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251.
С конца 90-х годов проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode. Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.