Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАДАНИЯ_КУРС2 / Тема 2 / Полный текст по разделам (на печать).doc
Скачиваний:
22
Добавлен:
08.04.2015
Размер:
202.24 Кб
Скачать

Упражнения для самостоятельного решения

Упражнение 1.1.Сколько существует различных телефонных номеров, состоящих из 7 десятичных цифр?

Упражнение 1.2.Для передачи сигналов на флоте используются специальные сигнальные флаги, вывешиваемые в одну линию (последовательность важна). Какое ко­ли­че­ство различных сигналов может передать корабль при помощи четырех сиг­наль­ных флагов, если на корабле имеются флаги трех различных видов (флагов каждого вида неограниченное количество)?

Упражнение 1.3.Азбука Морзе позволяет кодировать символы для радиосвязи, задавая комбинацию точек и тире. Сколько различных символов (цифр, букв, знаков пунктуации и т. д.) можно закодировать, используя код Морзе длиной не менее трех и не более пяти сигналов (точек и тире)?

§ 2. Вычисление минимальной длины последовательностей, необходимых для кодирования указанного числа различных объектов

В предыдущем параграфе мы определяли, сколько имеется различных последовательностей заданной длины и, в частности, какое количество различных объектов можно этими последовательностями закодировать. Теперь будем решать обратную задачу: имеется Xразличных объектов, требуется определить минимальное числоN, такое что каждому из этихXобъектов можно сопоставить свою уникальную последовательность длиныN.

Пусть сначала кодирование осуществляется битовыми последовательностями, т. е. символы из последовательности могут принимать лишь два значения: 0 и 1. Вспомним, что количество различных битовых последовательностей длины Nравно 2N. Следовательно, чтобы иметь возможность закодировать каждый изXобъектов своей последовательностью длиныN, достаточно выбратьNудовлетворяющим неравенствуX2N.

Как найти минимальное Nс данным свойством? Очень просто: нужно взять числоNтаким, чтобы для него было справедливо неравенствоX2N, а для числаN1 — уже нет. Иными словами, числоNявляется минимальной длиной последовательности, если оно удовлетворяет двойному неравенству

2N1X2N.

Заменим это неравенство равносильным:

N1log2XN.

Из него видно, что если log2Xявляется целым числом, тоNlog2X. В общем же случаеNlog2X, гдеlog2X— наименьшее целое число, большее или равноеlog2X. Итак, получаем

Утверждение 2.1.Чтобы найти минимальную длину битовых последовательностей, которыми можно однозначно закодироватьXразличных объектов, необходимо числоlog2Xокруглить вверх до ближайшего целого.

Пусть теперь для кодирования используются последовательности, символы которых могут принимать любое из kразличных значений. Количество таких последовательностей длиныNсогласно утверждению 1.2 равноkN. Рассуждая, как и выше, мы получаем, что минимальная длинаNпоследовательностей, способных закодироватьXразличных объектов, удовлетворяет двойному неравенству

N1logkXN.

Отсюда NlogkX, где сноваlogkX— наименьшее целое число, большее или равноеlogkX.

Утверждение 2.2.Чтобы найти минимальную длину последовательностей, которыми можно однозначно закодироватьXразличных объектов и символы которых могут приниматьkразличных значений, необходимо числоlogkXокруглить вверх до ближайшего целого.

Совет.Как и в § 1, лучше запомнить не формулы из утверждений 2.1 и 2.2, а способ их получения. В частности, длину битовых последовательностей можно искать подбором, основываясь на неравенстве 2N1X2N. Правда, для этого надо помнить наизусть хотя бы первые десять степеней двойки.

Задача 2.1.В зрительном зале две прямоугольные области зрительских кресел: одна — 10 на 12, а другая — 17 на 8. Какое минимальное количествобит потребуется для кодирования каждого места в автоматизированной системе?

Решение.Прежде всего подсчитаем общее количество объектов, которые нам необходимо закодировать:X1012178120136256. Теперь, поскольку кодирование осуществляется битовыми последовательностями, воспользуемся утверждением 2.1:Nlog225688.

Ответ:8 бит.

Задача 2.2.Световое табло состоит из лампочек, каждая из которых может находиться в двух со­стояниях («включено» или «выключено»). Какое наименьшее количество лампочек долж­но находиться на табло, чтобы с его помощью можно было передать 200 различных сиг­налов?

Решение.Здесь необходимо закодироватьX200 различных сиг­налов. Для кодирования используются последовательности лампочек, каждая из которых может находиться в двух со­стояниях. Следовательно,k2 и в силу утверждения 2.2Nlog22007,6438568.

Ответ: 8 лампочек.

Задача 2.3.Сколько бит информации несет сообщение о том, что тетраэдр, у которого все грани окрашены в разные цвета, после подбрасывания упал на синюю грань?

Решение.Эта задача имеет довольно специфическую формулировку, которую надо понимать следующим образом.

После подбрасывания тетраэдр может упасть на любую из своих четырех граней. Все грани имеют разные цвета, поэтому возможны четыре различных сообщения о цвете грани, на которую упал тетраэдр. Требуется закодировать эти четыре сообщения с помощью битовых последовательностей.

Таким образом, X4 иNlog2422.

Ответ:2 бита.

Задача 2.4.Для общения в языке племени мумбо-юмбо используется 13 основных понятий и 4 связки, позволяющие соединять эти понятия. Для передачи сообщений племя использует двоичный код: сочетание звонких и глухих звуков барабана. Сообщения передаются порциями — понятие + связка. Сколь­ко ударов по­требуется для кодирования каждой порции сообщения?

Решение.Формулировка данной задачи не вполне корректна, так как допускает два различных способа кодирования.

Первый способ: понятия кодируются отдельно, связки — отдельно.

В этом случае для кодирования каждого из X113 понятий потребуетсяN1log2133,700444 удара, для кодирования каждой изX24 связок —N2log2422 удара. Следовательно, общее количествоNударов, необходимых для кодирования каждой порции сообщения, равноN1N26.

Второй способ: порции кодируются как единое целое.

Здесь нам сначала необходимо найти общее количество Xразличных порций, которые могут передаваться. Каждая порция состоит из понятия и связки, выбираемых независимо друг от друга 13‑ю и 4‑мя способами соответственно. ПоэтомуX13452.

Теперь мы можем вычислить общее количество ударов N, которое оказывается равнымlog2525,700446.

Итак, оба способа кодирования требуют одного и того же количества ударов. Однако, не стоит обольщаться. При других исходных данных (например, 12 понятий и 5 связок) минимально необходимое количество ударов может оказаться отличающимся для первого и второго способа. В общем случае кодирование порций как единого целого оказывается более экономным.

Ответ:6 ударов.

Задача 2.5.Метеорологическая станция ведет наблюдение за направлением ветра. Результа­том одного измерения является одно из возможных направлений, которое записывается при помощи минимально возможного количества бит. Станция сделала 160 измерений. Определите информационный объем результатов на­блюдений.

Решение. В задачах такого типа необходимо сначала найти информационный объем одного наблюдения, а затем умножить его на количество наблюдений.

Здесь в каждом наблюдении кодируется направление ветра, причем различных направлений (судя по ответу в сборнике, где приводилась эта задача) может быть 8. Отсюда получаем, что для кодирования одного наблюдения требуется log2833 бита, а для кодирования всех 160 измерений — 3160480 бит или 60 байт.

Ответ:480 бит или 60 байт.

Задача 2.6.Обычный дорожный светофор без дополнительных секций подает шесть видов сигна­лов (непрерывные красный, желтый и зеленый, мигающие желтый и зеленый, красный и желтый одновременно). Электронное устройство управления светофором последователь­но воспроизводит записанные сигналы. Подряд записано 100 сигналов светофора. Сколько составляет данный информационный объем в бай­тах?

Решение.Задача аналогична предыдущей. Чтобы закодировать каждый из 6 различных сигналов светофора, требуетсяlog262,58496253 бита. Стало быть, для записи 100 сигналов необходимо 3100300 бит или 37,5 байт. Но байты обычно считаются неделимыми, поэтому число 37,5 следует округлить вбóльшуюсторону.

Ответ:38 байт.