пятница, 18 декабря 2009 г.

Информация и вероятность

В 2009 году репетиционный ЕГЭ по информатике готовил и проводил Федеральный центр тестирования. Неожиданно для многих в этом тесте появились задачи на определение количества информации в случае неравновероятных событий. Скорее всего, такие задачи не встретятся на реальном экзамене, по крайней мере, в ближайшее время. Однако, не исключено, что «вброс» заданий нового типа был «пробным камнем».

Судя по тем письмам, которые я получаю, существует страшная путаница в этом вопросе, даже среди преподавателей ВУЗов. Далее приведены распространенные заблуждения и сделана попытка прояснить ситуацию.

Задача. В корзине 32 клубка шерсти, из них 4 клубка красного цвета. Какое количество информации несет сообщение «Вытащили клубок красной шерсти»?

Заблуждение 1. Количество информации равно 1 бит, потому что эта информация равносильно ответу на вопрос: «Верно ли, что вытащили клубок красной шерсти (да/нет)»? Как мы хорошо знаем, ответ на вопрос «да или нет» несет 1 бит информации.

В самом деле, количество информации равно 1 бит только в том случае, если два события равновероятны. В данном случае это не так, поскольку вероятность вытащить красный клубок равна 4/32=1/8, а вероятность вытащить некрасный клубок равна 28/32=7/8. Поэтому количество информации нужно вычислять с учетом вероятности как собственную информацию или количественную меру Шеннона: если произошло событие, имеющее вероятность p, то информация в сообщении об этом событии равна
(1)
В данном случае получаем I = log2 8 = 3 бита.

Заблуждение 2. Количество информации в случае неравновероятных событий вычисляется по формуле Шеннона:
(2)
где N — число возможных событий, а pi (i=1,...,N) — вероятности отдельных событий.

В самом деле, по этой формуле считается информационная энтропия (неопределенность), а не информация, полученная в сообщении о конкретном событии. Сравнивая формулы (1) и (2), несложно понять, что энтропия H — это средняя информация, математическое ожидание от частных значений, вычисляемых по формуле (1) для каждого события.

Для тех, кто сомневается (и правильно делает!) укажем авторитетный источник: книгу «Теория информации» выдающегося математика XX века Р.Л. Стратоновича (М.: Советское радио, 1975, с. 13-14).

Ярлыки: , ,

понедельник, 23 ноября 2009 г.

Килобайты и кибибайты

В последнее время мне нередко приходится отвечать на вопрос о том, как сокращать единицы измерения количества информации. Вопрос весьма запутанный и сложно дать четкий ответ, который бы всех устроил. Главная проблема в том, что исторически в компьютерной технике чаще всего использовались двоичные приставки, а не десятичные, как в системе единиц СИ. Например, «килобайт» обозначал 210=1024 байта, а не 1000.

Есть единственный ГОСТ 8.417-2002, который как-то регламентирует эти обозначения (см. таблицу А.1 этого документа). Этот ГОСТ рекомендует для «двоичных» кило(мега-, гига-)байт обозначения Кбайт, Мбайт и Гбайт. Этих же обозначений придерживаются и составители заданий ЕГЭ. Сложность только в том, что это длинные обозначения, их долго писать и набирать, особенно когда идет запись в быстром темпе.

Стандарт МЭК, предлагающий использовать для «Кбайт», «Мбайт» и «Гбайт» термины «кибибайт», «мебибайт» и «гибибайт» на практике не прижился.

Артемий Лебедев в своем «Ководстве» предлагает, например, такие обозначения (см. §84): кб — килобит (1000 бит), КБ — двоичный килобайт (1024 байта), кБ — десятичный килобайт (1000 байт). Тут есть другие возражения. Во-первых, у этих сокращений уже есть другие установившиеся значения, например, «КБ» — это «конструкторское бюро», а «кб»— кабельтов. Во-вторых, я думаю, что если смысл сокращений принципиально меняется от того, заглавную букву мы напишем или строчную, это не самое лучшее обозначение.

Что в итоге? «Каждый выбирает для себя» (Д. Сухарев). Я вообще не упоминаю на уроках «десятичные» приставки для единиц измерения количества информации, чтобы не путать. Все-таки в подавляющем большинстве случаев (кроме, пожалуй, маркировки винчестеров) считают, что в килобайте 1024 байта и т.д. Мне привычнее обозначать (двоичные) килобайт и мегабайт как Кб и Мб, потому что КБ и МБ сильно смахивает на аббревиатуры, а Кбайт и Мбайт очень долго писать. Для записи скорости передачи информации по последовательному каналу, на мой взгляд, понятнее использовать кбит/с, Мбит/с, Гбит/с, явно указывая, что это единицы, кратные битам. Правильно это или нет, можно сказать только тогда, когда будет общепринятый стандарт, четко регламентирующий все детали.

На эту же тему можно еще почитать, например, статьи в Википедии Килобайт, Двоичные приставки, Единицы измерения количества информации, Бит в секунду, Units of information.

Ярлыки: ,

Hosted by uCoz