Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Лекция

Код ХаффманаИмеются сообщения, состоящие из последовательности символов. В каждом сообщении символы появляются с известной вероятностью, не зависящей от позиции в сообщении.Пусть есть сообщение из символов a, b, c, d, e, которые появляются в сообщениях с вероятностями
Лекция Код ХаффманаИмеются сообщения, состоящие из последовательности символов. В каждом сообщении символы появляются Два двоичных кодаДве возможные кодировки:Первый и второй коды обладают префиксным свойством: любая Два двоичных кодаАлгоритм декодирования для Кода 1:Взять три битаПреобразовать их в символОтбросить ЗадачаЗадача конструирования кодов Хаффмана: имея множество символов и значения вероятностей их появления Алгоритм ХаффманаАлгоритм Хаффмана – способ нахождения оптимального префиксного кода. В этом алгоритме Алгоритм ХаффманаКод для исходного множества символов получается из кодов замещающих символов путем Пути на двоичном деревеМожно рассматривать префиксные коды как пути на двоичном дереве: Двоичные деревья для кодов 1 и 2 Реализация алгоритма ХаффманаДля реализации алгоритма Хаффмана используется лес – деревья, чьи листья Реализация алгоритма Хаффмана
Слайды презентации

Слайд 2 Код Хаффмана
Имеются сообщения, состоящие из последовательности символов. В

Код ХаффманаИмеются сообщения, состоящие из последовательности символов. В каждом сообщении символы

каждом сообщении символы появляются с известной вероятностью, не зависящей

от позиции в сообщении.
Пусть есть сообщение из символов a, b, c, d, e, которые появляются в сообщениях с вероятностями 0.12, 0.4, 0.15, 0.08 и 0.25 соответственно.
Задача: закодировать каждый символ последовательностью 0 и 1 так, чтобы код любого символа являлся префиксом кода сообщения.
Префиксное свойство позволяет декодировать строку из 0 и 1 путём удаления префиксов (кодов символов) из этой строки.

Слайд 3 Два двоичных кода
Две возможные кодировки:

Первый и второй коды

Два двоичных кодаДве возможные кодировки:Первый и второй коды обладают префиксным свойством:

обладают префиксным свойством: любая префиксная последовательность однозначно идентифицируется символом.


Слайд 4 Два двоичных кода
Алгоритм декодирования для Кода 1:
Взять три

Два двоичных кодаАлгоритм декодирования для Кода 1:Взять три битаПреобразовать их в

бита
Преобразовать их в символ
Отбросить их. Перейти к шагу 1.
001010011

– bcd.
Алгоритм декодирования для Кода 2:
Определить последовательность битов, однозначно кодирующих символ.
Преобразовать их в символ
Отбросить их. Перейти к шагу 1.
1101001 – bcd.

Слайд 5 Задача
Задача конструирования кодов Хаффмана: имея множество символов и

ЗадачаЗадача конструирования кодов Хаффмана: имея множество символов и значения вероятностей их

значения вероятностей их появления в сообщениях, построить такой код

с префиксным свойством, чтобы средняя длина кода (в вероятностном смысле) была минимальной.
Т.е. требуется минимизировать среднюю длину кода, чтобы уменьшить длину сообщения (т.е. сжать сообщение).
Чем короче длина кода символов, тем короче закодированное сообщение. Таким образом, символы с большими вероятностями появления должны иметь более короткие коды.

Слайд 6 Алгоритм Хаффмана
Алгоритм Хаффмана – способ нахождения оптимального префиксного

Алгоритм ХаффманаАлгоритм Хаффмана – способ нахождения оптимального префиксного кода. В этом

кода. В этом алгоритме находятся 2 символа a и

b с наименьшими вероятностями появления и заменяются одним фиктивным символом x, который имеет вероятность появления, равную сумме вероятностей появления символов a и b. Затем, использую процедуру рекурсивно находится оптимальный префиксный код для меньшего множества символов (где символы a и b заменены одним символом x).

Слайд 7 Алгоритм Хаффмана
Код для исходного множества символов получается из

Алгоритм ХаффманаКод для исходного множества символов получается из кодов замещающих символов

кодов замещающих символов путем добавления 0 и 1 перед

кодом замещающего символа, и эти два новых кода принимаются как коды заменяемых символов. Например, код символа а будет соответствовать коду символа х с добавленным нулем перед этим кодом, а для кода символа b перед кодом символа х будет добавлена единица.


Слайд 8 Пути на двоичном дереве
Можно рассматривать префиксные коды как

Пути на двоичном деревеМожно рассматривать префиксные коды как пути на двоичном

пути на двоичном дереве: прохождение от узла к его

левому сыну соответствует 0 в коде, а к правому сыну — 1. Если мы пометим листья дерева кодируемыми символами, то получим представление префиксного кода в виде двоичного дерева.
Префиксное свойство гарантирует, что нет символов, которые были бы метками внутренних узлов дерева (не листьев), и наоборот, помечая кодируемыми символами только листья дерева, мы обеспечиваем префиксное свойство кода этих символов.


Слайд 9 Двоичные деревья для кодов 1 и 2

Двоичные деревья для кодов 1 и 2

Слайд 10 Реализация алгоритма Хаффмана
Для реализации алгоритма Хаффмана используется лес

Реализация алгоритма ХаффманаДля реализации алгоритма Хаффмана используется лес – деревья, чьи

– деревья, чьи листья помечены кодируемыми символами.
Важный этап

работы алгоритма – выбор из леса двух деревьев с наименьшими весами. Эти два дерева комбинируются в одно с весом, равным сумме весов составляющих деревьев. При слиянии деревьев создается новый узел, который становится корнем объединённого дерева и который имеет в качестве левого и правого сыновей корни старых деревьев. Этот процесс продолжается до тех пор, пока не получится только одно дерево.
Это дерево соответствует коду, имеющему минимальную длину.

  • Имя файла: lektsiya.pptx
  • Количество просмотров: 103
  • Количество скачиваний: 0