- •1. Мера информации предложенная автором теории информации Клодом Шенноном:
- •1.2 Аддитивная мера количества информации, ее связь с мерой к. Шеннона и сфера применения.
- •2. Роль, виды и критерии квантования (дискретизации) непрерывных сигналов.
- •2.1. Виды дискретизации (квантования)
- •2.2. Критерии точности представления квантованного сигнала
- •3. Формулировка теоремы Найквиста-Котельникова и ее ограничения.
- •4. Теорема о минимальной средней длине кодового слова.
- •5. Назначение и порядок построения оптимальных кодов Шеннона-Фэно и Хаффмена. Коды Хаффмена
- •Коды Шеннона−Фэно:
- •6. Кодирование информации. Равномерные и неравномерные коды. Двоичное кодирование.
- •7. Общие принципы использования избыточности при построении помехоустойчивых кодов
- •Принципы помехоустойчивого кодирования
- •8. Основная теорема Шеннона для дискретных каналов с шумом.
- •9. Пропускная способность непрерывного канала с аддитивным шумом.
- •10. Состав современного пк. Назвачение. Состав компьютерной системы
- •11. Микропроцессоры. Назвачение, типы . Основные характеристики.
- •1. Оперативная память
- •3. Специальная память
- •4. Видеопамять
- •12. Понятие и основные свойства алгоритма. Способы описания алгоритмов. Стандарты для изображения блок-схем алгоритмов.
- •Блок-схемы:
- •13. Отличительные особенности эвм различных поколений. Первое поколение эвм (1948 — 1958 гг.)
- •Второе поколение эвм (1959 — 1967 гг.)
- •Третье поколение эвм (1968 — 1973 гг.)
- •Четвертое поколение эвм (1974 — 1982 гг.)
- •14. Основные характеристики эвм.
- •15. Архитектурные особенности четвёртого поколения эвм.
- •16. Назначение и характеристики системы прерываний. Порядок обработки прерывания.
- •Характеристики системы прерываний:
- •17. Иерархическая структура памяти эвм. Назначение.
- •18. Концепция виртуальной памяти и методы её реализации.
- •19. Многопроцессорные вычислительные системы.
- •20. Типовые структуры многопроцессорных систем.
- •21. Многомашинные вычислительные системы:
- •22. Организация параллельных вычислений в современных компьютерах.
- •23. Risc и cisc архитектуры.
- •24. Принципы построения ос.
- •25. Задачи ос по управлению файлами и устройствами.
- •26. Классификация ос.
- •27. Функция ос.
- •28. Базовые технологии безопасности ос.
- •29. Поколение ос.
- •30. Свопинг и виртуальная память
- •31. Задачи файловой системы в ос.
- •32. Типы структур файловой системы:
- •33. Физическая организация фс. (Файловой системы)
- •34. Классификация компьютерных сетей:
- •35. Эталонная модель взаимодействия открытых систем osi.
- •Распределенные системы обработки данных
- •В модели osi средства взаимодействия делятся на семь уровней:
- •Уровни модели osi Физический уровень.
- •Канальный уровень.
- •Сетевой уровень.
- •36. Характеристика методов доступа к передающей среде в компьютерных сетях.
- •37. Характеристика спутниковых сетей связи.
- •38. Маршрутизация пакетов в сетях.
- •39. Коммутация пакетов в сетях.
- •Процесс передачи данных в сети с коммутацией пакетов
- •Методы пакетной коммутации
- •Дейтаграммный метод
- •Виртуальный метод
- •41. Характеристики и области применения цифровых сетей с isdn
- •42. Характеристика и области применения сетей атм.
- •43. Характеристика и области применения локальных компьютерных сетей.
- •44. Топология локальных сетей. Основные топологии. Преимущества и недостатки.
- •45. Архитектуры файл-сейрвер и клиент-сервер локальных сетей.
- •46. Типовая структура глобальных компьютерных сетей.
- •47. Типы глобальных компьютерных сетей
- •48. Корпоративные компьютерные сети: характеристики и функции.
- •49. Протоколы семейства tcp/ip.
- •50. Понятия: протокол, интерфейс, стек протоколов, спецификации.
- •51. Назначение и классификация интерфейсов.
- •52. Пользовательский интерфейс.
- •54. Программный интерфейс.
- •55. Аппаратный интерфейс.
- •56. Системные и периферийные интерфейсы.
- •57. Сетевые интерфейсы и протоколы.
- •58. Мультиплексный режим передачи данных.
- •59. Способы доступа к удаленным ресурсам.
- •Служба общего доступа (sharing)
4. Теорема о минимальной средней длине кодового слова.
Рассмотрим теперь случай кодирования не отдельных букв источника, а последовательностей из L букв.
Теорема 4.
Формулировка. Для данного дискретного источника без памяти (с независимыми буквами) и энтропией H и объемом вторичного алфавита m при кодировании блоками по L букв существует префиксный код со средней длиной кодового слова, отвечающей неравенству:
.
Доказательство.
Последовательность из L букв можно рассматривать как новую супербукву. Тогда можно использовать теорему 3, согласно которой минимальная средняя длина кодового слова для такого сообщения ограничивается неравенством:
.
Так
как отдельные буквы предполагаются
независимыми, то энтропия последовательности
L
букв
.
Кроме того, средняя длина кода для
последовательности L
букв
,
тогда
.
После деления всех частей неравенства на L получаем окончательный результат: .
Из
теоремы 4 следует, что если кодировать
блоками, то, увеличивая размер блоков
L,
можно сколь угодно приблизиться к нижней
границе средней длины кодового слова,
т.е.
.
5. Назначение и порядок построения оптимальных кодов Шеннона-Фэно и Хаффмена. Коды Хаффмена
На этом алгоритме построена процедура построения оптимального кода, предложенная в 1952 году Хаффменом:
буквы первичного алфавита выписываются в основной столбец в порядке убывания вероятностей;
две последние буквы объединяются в одну вспомогательную букву, которой приписывается суммарная вероятность;
вероятности букв, не участвовавших в объединении, и полученная суммарная вероятность снова располагаются в порядке убывания вероятностей в дополнительном столбце, а две последние объединяются;
процесс продолжается до тех пор, пока не получим единственную вспомогательную букву с вероятностью, равной единице.
М
Таблица 3.2.
Для составления кодовой комбинации, соответствующей данному сообщению, необходимо проследить путь перехода вероятности сообщения по строкам и столбцам таблицы.
Д
Рис. 3.3. Кодовое дерево.
ля наглядности строится кодовое дерево. Из точки, соответствующей вероятности 1, направляются две ветви, причем ветви с большей вероятностью присваивается символ 1, а с меньшей − 0. Такое последовательное ветвление продолжаем до тех пор, пока не дойдем до каждой буквы. Кодовое дерево для алфавита букв, рассматриваемого в таблице, изображено на рис. 3.3.Теперь, двигаясь по кодовому дереву сверху вниз, можно записать для каждой буквы соответствующую ей кодовую комбинацию (табл. 3.3).
Таблица 3.3
Z1 |
Z2 |
Z3 |
Z4 |
Z5 |
Z6 |
Z7 |
Z8 |
01 |
00 |
111 |
110 |
100 |
1011 |
10101 |
10100 |
Коды Шеннона−Фэно:
Ранее, независимо друг от друга Шенноном и Фэно была предложена другая процедура построения эффективного кода. Получаемый при ее помощи код называют кодом Шеннона−Фэно.
Код Шеннона−Фэно строится следующим образом:
буквы алфавита сообщений выписываются в таблицу в порядке убывания вероятностей;
затем они разделяются на две группы так, чтобы суммы вероятностей в каждой из групп были по возможности одинаковы;
всем буквам верхней половины в качестве первого символа приписывается 1, а всем нижним 0;
каждая из полученных групп, в свою очередь, разбивается на две подгруппы с одинаковыми суммарными вероятностями и т. д. ;
процесс повторяется до тех пор, пока в каждой подгруппе останется по одной букве.
Рассмотрим алфавит из восьми букв. Ясно, что при обычном (не учитывающем статистических характеристик) кодировании для представления каждой буквы требуется три символа.
Наибольший
эффект сжатия получается в случае, когда
вероятности букв представляют собой
целочисленные отрицательные степени
двойки. Среднее число символов на букву
в этом случае точно равно энтропии.
Убедимся в этом, вычислив энтропию:
и среднее число символов на букву
где n(Zi)
—число
символов в кодовой комбинации1,
соответствующей букве Zi.
Характеристики такого ансамбля и коды
букв представлены в таблице 3.4.
Таблица 3.4.
Буквы |
Вероятности |
Ступени разбиения |
Кодовые комбинации |
||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|||
Z1 |
1/2 |
1 |
|
|
|
|
|
|
1 |
Z2 |
1/4 |
0 |
1 |
|
|
|
|
|
01 |
Z3 |
1/8 |
0 |
0 |
1 |
|
|
|
|
001 |
Z4 |
1/16 |
0 |
0 |
0 |
1 |
|
|
|
0001 |
Z5 |
1/32 |
0 |
0 |
0 |
0 |
1 |
|
|
00001 |
Z6 |
1/64 |
0 |
0 |
0 |
0 |
0 |
1 |
|
000001 |
Z7 |
1/128 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0000001 |
Z8 |
1/128 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0000000 |
В более общем случае для алфавита из восьми букв среднее число символов на букву будет меньше трех, но больше энтропии алфавита H(Z). Для ансамбля букв, приведенного в таблице 3.5, энтропия равна 2,76, а среднее число символов на букву 2,84.
Таблица 3.5
Буквы |
Вероят-ности |
Ступени разбиения |
Кодовые комбинации |
||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
|||
Z1 |
0,22 |
1 |
1 |
|
|
|
|
|
11 |
||
Z2 |
0,20 |
1 |
0 |
1 |
|
|
|
|
101 |
||
Z3 |
0,16 |
1 |
0 |
0 |
|
|
|
|
100 |
||
Z4 |
0,16 |
0 |
1 |
|
|
|
|
|
01 |
||
Z5 |
0,10 |
0 |
0 |
1 |
|
|
|
|
001 |
||
Z6 |
0,10 |
0 |
0 |
0 |
1 |
|
|
|
0001 |
||
Z7 |
0,04 |
0 |
0 |
0 |
0 |
1 |
|
|
00001 |
||
Z8 |
0,02 |
0 |
0 |
0 |
0 |
0 |
|
|
00000 |
||
Следовательно, некоторая избыточность в последовательностях символов осталась. Из теоремы Шеннона следует, что эту избыточность также можно уменьшить, если перейти к кодированию достаточно большими блоками.
Рассмотрим сообщения, образованные с помощью алфавита, состоящего всего из двух букв Z1 и Z2, с вероятностями появления соответственно p(Zi)==0,9 и р(Z2) =0,1.
Поскольку вероятности не равны, то последовательность из таких букв будет обладать избыточностью. Однако при побуквенном кодировании никакого эффекта не получается.
Действительно, на передачу каждой буквы требуется символ либо 1, либо 0, в то время как энтропия равна 0,47.
При кодировании блоков, содержащих по две буквы, получим коды, показанные в табл. 3.6.
Таблица 3.6
Буквы |
Вероятности |
Ступени разбиения |
кодовые комбинации |
|||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|||
Z1 Z1 |
0,81 |
1 |
|
|
|
|
|
|
1 |
|
Z2 Z1 |
0,09 |
0 |
1 |
|
|
|
|
|
01 |
|
Z3 Z1 |
0,09 |
0 |
0 |
1 |
|
|
|
|
001 |
|
Z4 Z1 |
0,01 |
0 |
0 |
0 |
|
|
|
|
000 |
|
Так как буквы статистически не связаны, вероятности блоков определяются как произведение вероятностей составляющих букв.
Среднее число символов на блок получается равным 1,29; а на букву − 0,645.
Кодирование блоков, содержащих по три буквы, дает еще больший эффект. Соответствующий ансамбль и коды приведены в табл. 3.7.
Таблица 3.7.
Буквы |
Вероят ности |
Ступени разбиения |
кодовые комбинации |
||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|||
Z1 Z1 Z1 |
0,729 |
1 |
|
|
|
|
|
|
1 |
Z2 Z1 Z1 |
0,081 |
0 |
1 |
1 |
|
|
|
|
01 |
Z1 Z2 Z1 |
0,081 |
0 |
1 |
0 |
|
|
|
|
010 |
Z2 Z2 Z1 |
0,081 |
0 |
0 |
1 |
|
|
|
|
001 |
Z1 Z1 Z2 |
0,009 |
0 |
0 |
0 |
1 |
1 |
|
|
00011 |
Z2 Z1 Z2 |
0,009 |
0 |
0 |
0 |
1 |
0 |
|
|
00010 |
Z1 Z2 Z2 |
0,009 |
0 |
0 |
0 |
0 |
1 |
|
|
00001 |
Среднее
число символов на блок равно 1,59; а на
букву − 0,53; что всего на 12% больше
энтропии. Теоретический минимум Н(Z)
= 0,47 может быть достигнут при кодировании
блоков, включающих бесконечное число
букв:
.
Следует подчеркнуть, что увеличение эффективности кодирования при укрупнении блоков, не связано с учетом все более далеких статистических связей, так как нами рассматривались алфавиты с некоррелированными буквами. Повышение эффективности определяется лишь тем, что набор вероятностей, получающийся при укрупнении блоков, можно делить на более близкие по суммарным вероятностям подгруппы.
Рассмотренная нами методика Шеннона—Фэно не всегда приводит к однозначному построению кода. Ведь при разбиении на подгруппы можно сделать большей по вероятности как верхнюю, так и нижнюю подгруппу.
Множество вероятностей, приведенных в таблице 3.5, можно было бы разбить иначе, например, так, как это показано в табл. 3.8.
Таблица 3.8.
Буквы |
Вероятности |
Ступени разбиения |
кодовые комбинации |
|||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
||||
Z1 |
0,22 |
1 |
1 |
|
|
|
|
|
11 |
|
Z2 |
0,20 |
1 |
0 |
|
|
|
|
|
10 |
|
Z3 |
0,16 |
0 |
0 |
1 |
|
|
|
|
001 |
|
Z4 |
0,16 |
0 |
1 |
0 |
|
|
|
|
010 |
|
Z5 |
0,10 |
0 |
0 |
1 |
|
|
|
|
001 |
|
Z6 |
0,10 |
0 |
0 |
0 |
1 |
|
|
|
0001 |
|
Z7 |
0,04 |
0 |
0 |
0 |
0 |
1 |
|
|
00001 |
|
Z8 |
0,02 |
0 |
0 |
0 |
0 |
0 |
|
|
00000 |
|
При этом среднее число символов на букву оказывается равным 2,80. Таким образом, построенный код может оказаться не самым лучшим. При построении эффективных кодов с основанием m>2 неопределенность становится еще большей.
От указанного недостатка свободна методика Хаффмена. Она гарантирует однозначное построение кода с наименьшим для данного распределения вероятностей средним числом символов на букву.
