
1.3 Кодирование кодом Шеннона-Фано
По согласованию с руководителем для кодирования выбрана фраза «Белеет парус одинокий в тумане моря голубом.», служившая исходными данными для первого множества. Для рационального кодирования по Шеннону-Фано нам предстоит провести частотный анализ символов этой фразы и упорядочить их по убыванию частоты (по согласованию с руководителем большие и малые буквы [строчные и заглавные] считаются одинаковыми).
Таблица 1.1
Частоты повторения символов в кодируемой фразе
Символ |
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
Р |
Кол-во |
2 |
2 |
1 |
1 |
1 |
4 |
0 |
0 |
2 |
1 |
1 |
2 |
3 |
2 |
5 |
1 |
2 |
Символ |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ъ |
Ы |
Ь |
Э |
Ю |
Я |
_ |
. |
Кол-во |
1 |
2 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
6 |
1 |
Отбросим буквы, которые включены в таблицу по алфавиту, но не встречаются в нашем предложении:
Таблица 1.2
Частоты повторения символов в кодируемой фразе
Символ |
А |
Б |
В |
Г |
Д |
Е |
И |
Й |
К |
Л |
М |
Кол-во |
2 |
2 |
1 |
1 |
1 |
4 |
2 |
1 |
1 |
2 |
3 |
Символ |
Н |
О |
П |
Р |
С |
Т |
У |
Я |
_ |
. |
|
Кол-во |
2 |
5 |
1 |
2 |
1 |
2 |
3 |
1 |
6 |
1 |
|
Упорядочим символы по убыванию частоты:
Таблица 1.3
Упорядоченные частоты повторения символов в кодируемой фразе
Символ |
_ |
О |
Е |
М |
У |
А |
И |
Л |
Б |
Н |
Р |
Кол-во |
6 |
5 |
4 |
3 |
3 |
2 |
2 |
2 |
2 |
2 |
2 |
Символ |
Т |
В |
Г |
Д |
Й |
К |
П |
С |
Я |
. |
|
Кол-во |
2 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
Считаем статистические средние повторяемости символов:
Таблица 1.4
Статистические средние повторяемости символов в кодируемой фразе
Символ |
_ |
О |
Е |
М |
У |
А |
И |
Л |
Б |
Н |
Р |
Кол-во |
0,136 |
0,114 |
0,09 |
0,068 |
0,068 |
0,045 |
0,045 |
0,045 |
0,045 |
0,045 |
0,045 |
Символ |
Т |
В |
Г |
Д |
Й |
К |
П |
С |
Я |
. |
|
Кол-во |
0,045 |
0,023 |
0,023 |
0,023 |
0,023 |
0,023 |
0,023 |
0,023 |
0,023 |
0,023 |
|
Теперь осуществляем кодирование по Шеннону-Фано
Пробел |
0,136 |
0 (0,521) |
0 (0,25) |
0 (0,136) |
|
|
|
000 |
О |
0,114 |
1 (0,114) |
|
|
|
001 |
||
Е |
0,09 |
1 (0,271) |
0 (0,158) |
0 (0,09) |
|
|
0100 |
|
М |
0,068 |
1 (0,068) |
|
|
0101 |
|||
У |
0,068 |
1 (0,113) |
0 (0,068) |
|
|
0110 |
||
А |
0,045 |
1 (0,045) |
|
|
0111 |
|||
И |
0,045 |
1 (0,477) |
0 (0,27) |
0 (0,135) |
0 (0,045) |
|
|
1000 |
Л |
0,045 |
1 (0.09) |
0 (0,045) |
|
10010 |
|||
Б |
0,045 |
1 (0,045) |
|
10011 |
||||
Н |
0,045 |
1 (0,135) |
0 (0,045) |
|
|
1010 |
||
Р |
0,045 |
1 (0,09) |
0 (0,045) |
|
10110 |
|||
Т |
0,045 |
1 (0,045) |
|
10111 |
||||
В |
0,023 |
1 (0,207) |
0 (0,092) |
0 (0,046) |
0 (0,023) |
|
11000 |
|
Г |
0,023 |
1 (0,023) |
|
11001 |
||||
Д |
0,023 |
1 (0,046) |
0 (0,023) |
|
11010 |
|||
Й |
0,023 |
1 (0,023) |
|
11011 |
||||
К |
0,023 |
1 (0,115) |
0 (0,046) |
0 (0,023) |
|
11100 |
||
П |
0,023 |
1 (0,023) |
|
11101 |
||||
С |
0,023 |
1 (0,069) |
0 (0,023) |
|
11110 |
|||
Я |
0,023 |
1 (0,046) |
0 (0,023) |
111110 |
||||
. |
0,023 |
1 (0,023) |
111111 |
Дерево сами построите.