- •Министерство образования и науки Российской федерации
- •§ 1. Вычисление количества последовательностей значений из заданного набора
- •Упражнения для самостоятельного решения
- •§ 2. Вычисление минимальной длины последовательностей, необходимых для кодирования указанного числа различных объектов
- •Упражнения для самостоятельного решения
- •§ 3. Определение информационного объема и параметров растрового изображения
- •Упражнения для самостоятельного решения
- •§ 4. Определение информационного объема и параметров цифрового звука
- •Упражнения для самостоятельного решения
- •§ 5. Определение информационного объема и параметров текстовой информации
- •Упражнения для самостоятельного решения
- •Ответы к упражнениям
- •Решения упражнений
- •Задания для контрольной работы
- •Содержание
Упражнения для самостоятельного решения
Упражнение 1.1.Сколько существует различных телефонных номеров, состоящих из 7 десятичных цифр?
Упражнение 1.2.Для передачи сигналов на флоте используются специальные сигнальные флаги, вывешиваемые в одну линию (последовательность важна). Какое количество различных сигналов может передать корабль при помощи четырех сигнальных флагов, если на корабле имеются флаги трех различных видов (флагов каждого вида неограниченное количество)?
Упражнение 1.3.Азбука Морзе позволяет кодировать символы для радиосвязи, задавая комбинацию точек и тире. Сколько различных символов (цифр, букв, знаков пунктуации и т. д.) можно закодировать, используя код Морзе длиной не менее трех и не более пяти сигналов (точек и тире)?
§ 2. Вычисление минимальной длины последовательностей, необходимых для кодирования указанного числа различных объектов
В предыдущем параграфе мы определяли, сколько имеется различных последовательностей заданной длины и, в частности, какое количество различных объектов можно этими последовательностями закодировать. Теперь будем решать обратную задачу: имеется Xразличных объектов, требуется определить минимальное числоN, такое что каждому из этихXобъектов можно сопоставить свою уникальную последовательность длиныN.
Пусть сначала кодирование осуществляется битовыми последовательностями, т. е. символы из последовательности могут принимать лишь два значения: 0 и 1. Вспомним, что количество различных битовых последовательностей длины Nравно 2N. Следовательно, чтобы иметь возможность закодировать каждый изXобъектов своей последовательностью длиныN, достаточно выбратьNудовлетворяющим неравенствуX2N.
Как найти минимальное Nс данным свойством? Очень просто: нужно взять числоNтаким, чтобы для него было справедливо неравенствоX2N, а для числаN1 — уже нет. Иными словами, числоNявляется минимальной длиной последовательности, если оно удовлетворяет двойному неравенству
2N1X2N.
Заменим это неравенство равносильным:
N1log2XN.
Из него видно, что если log2Xявляется целым числом, тоNlog2X. В общем же случаеNlog2X, гдеlog2X— наименьшее целое число, большее или равноеlog2X. Итак, получаем
Утверждение 2.1.Чтобы найти минимальную длину битовых последовательностей, которыми можно однозначно закодироватьXразличных объектов, необходимо числоlog2Xокруглить вверх до ближайшего целого.
Пусть теперь для кодирования используются последовательности, символы которых могут принимать любое из kразличных значений. Количество таких последовательностей длиныNсогласно утверждению 1.2 равноkN. Рассуждая, как и выше, мы получаем, что минимальная длинаNпоследовательностей, способных закодироватьXразличных объектов, удовлетворяет двойному неравенству
N1logkXN.
Отсюда NlogkX, где сноваlogkX— наименьшее целое число, большее или равноеlogkX.
Утверждение 2.2.Чтобы найти минимальную длину последовательностей, которыми можно однозначно закодироватьXразличных объектов и символы которых могут приниматьkразличных значений, необходимо числоlogkXокруглить вверх до ближайшего целого.
Совет.Как и в § 1, лучше запомнить не формулы из утверждений 2.1 и 2.2, а способ их получения. В частности, длину битовых последовательностей можно искать подбором, основываясь на неравенстве 2N1X2N. Правда, для этого надо помнить наизусть хотя бы первые десять степеней двойки.
Задача 2.1.В зрительном зале две прямоугольные области зрительских кресел: одна — 10 на 12, а другая — 17 на 8. Какое минимальное количествобит потребуется для кодирования каждого места в автоматизированной системе?
Решение.Прежде всего подсчитаем общее количество объектов, которые нам необходимо закодировать:X1012178120136256. Теперь, поскольку кодирование осуществляется битовыми последовательностями, воспользуемся утверждением 2.1:Nlog225688.
Ответ:8 бит.
Задача 2.2.Световое табло состоит из лампочек, каждая из которых может находиться в двух состояниях («включено» или «выключено»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 200 различных сигналов?
Решение.Здесь необходимо закодироватьX200 различных сигналов. Для кодирования используются последовательности лампочек, каждая из которых может находиться в двух состояниях. Следовательно,k2 и в силу утверждения 2.2Nlog22007,6438568.
Ответ: 8 лампочек.
Задача 2.3.Сколько бит информации несет сообщение о том, что тетраэдр, у которого все грани окрашены в разные цвета, после подбрасывания упал на синюю грань?
Решение.Эта задача имеет довольно специфическую формулировку, которую надо понимать следующим образом.
После подбрасывания тетраэдр может упасть на любую из своих четырех граней. Все грани имеют разные цвета, поэтому возможны четыре различных сообщения о цвете грани, на которую упал тетраэдр. Требуется закодировать эти четыре сообщения с помощью битовых последовательностей.
Таким образом, X4 иNlog2422.
Ответ:2 бита.
Задача 2.4.Для общения в языке племени мумбо-юмбо используется 13 основных понятий и 4 связки, позволяющие соединять эти понятия. Для передачи сообщений племя использует двоичный код: сочетание звонких и глухих звуков барабана. Сообщения передаются порциями — понятие + связка. Сколько ударов потребуется для кодирования каждой порции сообщения?
Решение.Формулировка данной задачи не вполне корректна, так как допускает два различных способа кодирования.
Первый способ: понятия кодируются отдельно, связки — отдельно.
В этом случае для кодирования каждого из X113 понятий потребуетсяN1log2133,700444 удара, для кодирования каждой изX24 связок —N2log2422 удара. Следовательно, общее количествоNударов, необходимых для кодирования каждой порции сообщения, равноN1N26.
Второй способ: порции кодируются как единое целое.
Здесь нам сначала необходимо найти общее количество Xразличных порций, которые могут передаваться. Каждая порция состоит из понятия и связки, выбираемых независимо друг от друга 13‑ю и 4‑мя способами соответственно. ПоэтомуX13452.
Теперь мы можем вычислить общее количество ударов N, которое оказывается равнымlog2525,700446.
Итак, оба способа кодирования требуют одного и того же количества ударов. Однако, не стоит обольщаться. При других исходных данных (например, 12 понятий и 5 связок) минимально необходимое количество ударов может оказаться отличающимся для первого и второго способа. В общем случае кодирование порций как единого целого оказывается более экономным.
Ответ:6 ударов.
Задача 2.5.Метеорологическая станция ведет наблюдение за направлением ветра. Результатом одного измерения является одно из возможных направлений, которое записывается при помощи минимально возможного количества бит. Станция сделала 160 измерений. Определите информационный объем результатов наблюдений.
Решение. В задачах такого типа необходимо сначала найти информационный объем одного наблюдения, а затем умножить его на количество наблюдений.
Здесь в каждом наблюдении кодируется направление ветра, причем различных направлений (судя по ответу в сборнике, где приводилась эта задача) может быть 8. Отсюда получаем, что для кодирования одного наблюдения требуется log2833 бита, а для кодирования всех 160 измерений — 3160480 бит или 60 байт.
Ответ:480 бит или 60 байт.
Задача 2.6.Обычный дорожный светофор без дополнительных секций подает шесть видов сигналов (непрерывные красный, желтый и зеленый, мигающие желтый и зеленый, красный и желтый одновременно). Электронное устройство управления светофором последовательно воспроизводит записанные сигналы. Подряд записано 100 сигналов светофора. Сколько составляет данный информационный объем в байтах?
Решение.Задача аналогична предыдущей. Чтобы закодировать каждый из 6 различных сигналов светофора, требуетсяlog262,58496253 бита. Стало быть, для записи 100 сигналов необходимо 3100300 бит или 37,5 байт. Но байты обычно считаются неделимыми, поэтому число 37,5 следует округлить вбóльшуюсторону.
Ответ:38 байт.