![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Буквы исходного алфавита записываются в порядке убывающей вероятности. Упорядоченное таким образом множество букв разбивается так, чтобы суммарные вероятности двух подмножеств были примерно равными. Всем буквам верхней половины в качестве первого символа кода присваивают 1, а буквам нижней половины – 0. Затем каждое подмножество снова разбивается на два подмножества с соблюдением того же условия примерного равенства вероятностей и с тем же условием присвоения кодовых элементов в качестве второго символа. Такое разбиение продолжается до тех пор, пока в подмножестве не останется только по одной букве кодового алфавита.
Пример: Провести эффективное кодирование ансамбля из восьми букв (знаков).
Буква xi | Вероятности pi | Кодовая последовательность | Длина кодового слова ni | pini | -pilog2pi | |||
Номер разбиения | ||||||||
x1 | 0,25 | 0,5 | 0,50 | |||||
x2 | 0,25 | 0,5 | 0,50 | |||||
x3 | 0,15 | 0,45 | 0,41 | |||||
x4 | 0,15 | 0,41 | ||||||
x5 | 0,05 | 0,2 | 0,22 | |||||
x6 | 0,05 | 0,2 | 0,22 | |||||
x7 | 0,05 | 0,2 | 0,22 | |||||
x8 | 0,05 | 0,2 | 0,22 |
=
= (0,25*2+0,25*2+0,15*3+0,15*3+0,05*4+0,05*4+0,05*4+0,15*4)=2,7 бит
= - (2*0,25*log2 0,25 + 2*0,15*log2 0,15 + 4*0,05*log20,05) = 2,7 бит
=
1
Метод Шеннона - Фано не всегда приводит к однозначному построению кода, так как при разбиении на подмножества можно сделать большей по вероятности как верхнюю, так и нижнюю подгруппу. Следовательно, такое кодирование хотя и является эффективным, но не всегда будет оптимальным.
Дата публикования: 2014-11-03; Прочитано: 860 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!