Курсовая работа: Расчет оптимального кода по методике Шеннона Фано
vivod;
readkey;
end.
Заключение :
В моей курсовой работе я использовал теоретический материал и разработанную на языке (высокого уровня) Turbo Pascal программу. Мною было рассчитано количество информации на символ сообщения, составленного из алфавита, состоящего из 24 символа, для двух случаев:
1] если символы алфавита встречаются с равными вероятностями;
2] если вероятности не равны.
Также я определил количество недогрузки символов во втором случае, вычислил количество информации на символ сообщения и скорость передачи сообщений, составленных из таких символов, нашел избыточность сообщений, составленных из данного алфавита. Построил оптимальный код сообщения, применяя методику Шеннона-Фано: при помощи последовательного деления множества вероятностей на группы по принципу равенства сумм вероятностей я составил в соответствие каждому символу наиболее оптимальную двоичную комбинацию. Таким образом, был получен оптимальный двоичный код для алфавита из 31 символа.
В результате выполнения работы были получены следующие результаты:
· количество информации на символ для равновероятного алфавита – 4,585 бит/сим;
· количество информации на символ для неравновероятного алфавита - 2,6409 бит/сим;
· недогруженность символов – 1,9441 бит/сим;
· скорость передачи информации – 0,1244 бит/сек;
· избыточность сообщения – 0,4240;
· построен следующий оптимальный код:
Символ |
Вероятность появления | Код | Число знаков |
p[ 1] | 0.0417 | 0 | |
p[ 2] | 0.0018 | 111 | |
p[ 3] | 0.0020 | 110 | |
p[ 4] | 0.0022 | 1000 | |
p[ 5] | 0.0024 | 10011 | |
p[ 6] | 0.0026 | 10010 | |
p[ 7] | 0.0029 | 101111 | |
p[ 8] | 0.0033 | 1011100 | |
p[ 9] | 0.0037 | 101101 | |
p[10] | 0.0042 | 101101 | |
p[11] | 0.0048 | 1010011 | |
p[12] | 0.0055 | 10100100 | |
p[13] | 0.0064 | 1010001 | |
p[14] | 0.0076 | 1010001 | |
p[15] | 0.0091 | 10101111 | |
p[16] | 0.0111 | 101011100 | |
p[17] | 0,0139 | 10101101 | |
p[18] | 0,0179 | 10101101 | |
p[19] | 0,0238 | 10101010 | |
p[20] | 0,0333 | 101010111 | |
p[21] | 0,0500 | 101010110 | |
p[22] | 0,0833 | 10101000 | |
p[23] | 0,1667 | 101010011 | |
p[24] | 0,5000 | 101010010 |
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ:
1. Бауэр Ф. Информатика, М. 1992.
2. Колесник В.Д. Курс теории информации, М. 1982.
3. ФароновВ. В. Turbo Pascal 7.0. Учебное пособие, М. 2000.
4. Цымбаль В.П. Задачник по теории информации и кодированию, Киев. 1976.
5. Марченко А.И. Программирование в среде TurboPascal 7.0.