Элементы теории кодирования
Курсовая работа, 19 Января 2012, автор: пользователь скрыл имя
Краткое описание
В этой работе речь пойдет о том, без чего в настоящее время трудно представить какую-либо деятельность. Современный человек на столько
привык к использованию «чудо-техники» в своей повседневной жизни, что вряд-ли задумывается о том, как протекают процессы записи, передачи или хранения информации. Все это основано на понятии кодирования.
Кодирование - это преобразование сообщения в форму, удобную для передачи по каналу связи.
Теория кодирования представляет собой один из разделов дискретной математики, в котором рассматривается процесс представления инфор¬мации в определенной стандартной форме и обратный процесс восстано¬вления информации по этому представлению.
Дискретная математика – одна из областей математики, начала которой возникли в глубокой древности. Основной отличительной чертой её классической математики, которая в основном занимается изучением свойств объектов непрерывного характера с использованием основного понятия – предел, является дискретность, противоположность непрерывности. Предметом дискретной математики является изучение свойств произвольных структур (множеств с операциями, отношения и аксиомами), которые появляются как в самой математике, так и в области её приложений.
Дискретная математика включает в себя такие разделы как теорию чисел, алгебру, математическую логику, теорию графов и сетей, теорию кодирования, комбинаторный анализ и теорию конечных автоматов.
Особенностью дискретной математики является, наряду с задачами типа существования, имеющими общематематический характер, наличие задач, связанных с алгоритмической разрешимостью и построением конкретных решающих алгоритмов. При этом по существу впервые возникла необходимость полного исследования так называемых многоэкстремальных задач.
Содержание работы
Введение…………………………………………………………………………..3
§ 1. Базовые понятия теории кодирования……………………………………...5
§ 2. Алфавитное кодирование……………………………………………………9
§ 3. Двоичный алфавит………………………………………………………….14
§ 4. Кодирование и обработка чисел компьютером…………………………...20
§ 5. Решение практических задач……………………………………………..25
Заключение………………………………………………………………………35
Литература……………………………………………………………………….36
Содержимое работы - 1 файл
Моя курсовая 2.doc
— 454.00 Кб (Скачать файл)Число Х10 называется нормализованным, если оно представлено в виде
Х10=±М10 ·10± k, где 0,1 < М10 < 1, k – целое положительное число.
М10 – мантисса нормализованного числа, k – порядок нормализованного числа. Очевидно, что первая значащая цифра мантиссы всегда ненулевая
Задача. Представить в нормализованном виде числа: 1234, 0,03456
Решение и ответ: 1234 = 0,1234·10; 0,03456 = 0,3456·102.
Понятие нормализованного числа следует отличать от понятия числа в нормальной форме; часто используется при записи чисел в математике, физике, технических дисциплинах и отличается от нормализованного представления тем, что мантисса лежит в интервале 1 < М10 < 10, например Х = 1,38 - 1023.
При нормализации происходит установление его составляющих элементов:
- Определение знака числа
- Выделение мантиссы
- Установление знака порядка
- Вычисление числового значения порядка
Аналогично
нормализации десятичного числа
можно в нормализованной форме
представить и число в
Хq
= ±Мq ·10±
k или Хq = ±(М ·10±
k)q, где мантиссы лежат
в интервале (q- 1;1) (т.е. первая
значащая цифра мантиссы всегда ненулевая),
а показатель степени k – коэффициент
представляется в заданной системе q.
§ 5. Решение практических задач
Тема «Алфавитное кодирование»
Задача 1. Задано алфавитное кодирование, для которого А = {a1, a2}; B = {b1, b2} и схема ∑ задана таблицей
| a1 | a2 |
| b1 | b1 b2 |
Выясните, обладает ли эта схема кодирования свойством однозначности.
Решение. Процесс декодирования осуществляется следующим образом: код β слова α разбивается на элементарные коды. Для этого в слове β последовательно находятся все буквы b2 и затем выделяются пары bb2, каждая такая пара соответствует букве a2. Оставшиеся буквы b1 соответствуют букве a1.
Так код β = b1b1b1b2b1b2b1b2b1b1b2
разбивается однозначно на элементарные
коды β = (b1)(b)(b1b2)(b1b2)(b1b2)(b1)(
Следовательно, исходное сообщение есть слово α = а1а1а2а2а2а1а2.
Задача 2. Пусть схема ∑ задана следующей таблицей
| a1 | a2 | a3 |
| b1 b1 | b2 b1 b1 | b1 b1 b2 |
Покажите, что эта схема не обладает свойством однозначности.
Решение. Рассмотрим слово β = b1b1b2b1b1b2b1b1.
Это слово допускает два декодирования.
β = (b1b1)(b2b1b1)(b2b1b1), β = (b1b1b2)(b1b1b2)(b1b1),
тогда α = а1а2а2; α = а3а3а1.
Следовательно, схема ∑ не
обладает свойством
Задача 3. Схема алфавитного кодирования задана таблицей
| a1 | a2 | a3 |
| b1 | b1 b2 | b3b1 |
Покажите, что ни ∑, ни ∑-1 не обладают свойством префикса, но тем ни менее алфавитное кодирование, задаваемое этой семой, является взаимно-однозначным.
Решение. Схема ∑ не обладает свойством префикса, так как b1 является префиксом слова b1 b2 . С другой стороны, в схеме С(∑-1) = {b1,b2 ,b1,b1,b3} b1 является префиксом слова b1 b3 .
По коду β любого слова α ϵ А*, А = {a1, a2, a3}, однозначно восстанавливается следующий:
- В кодовом слове β находим все буквы b2 и выделяем все пары b1 b2 .
- Находим в кодовом слове β все буквы b2 и выделяем все пары b3 b1 .
- Каждую пару b1 b2 заменяем букой a2, пару b3 b1 заменяем буквой a3 ,
оставшиеся буквы b1 заменяем на a1 . В результате получим исходное сообщение (слово) α.
Действительно пусть
β = (b1)(b1b2)(b3b1)(b1)(b1)(b1b2)
Задача 4. Алфавитное кодирование задано схемой ∑ в виде таблицы
| a1 | a2 | a3 | a4 | a5 |
| b1b2 | b1b3b2 | b2b3 | b1b2b1b3 | b2b1b2b2b3 |
С помощью общего критерия взаимной однозначности выясните, обладает ли эта схема кодирования свойством взаимной однозначности или нет.
Решение. Алгоритм решения.
- Выпишем все нетривиальные разложения каждого элементарного кода:
β1 = (b1)(b2),
β2 = (b1)(b3b2) = (b1b3)(b2),
β3 =(b2)(b3),
β4 =(b1)(b2b1b3) =(b1 b2)(b1b3) = (b1 b2b1)(b3),
β5 = (b2)(b1b2)(b2b3) =(b2 b1)(b2 b2b3) =(b2 b1b2 b2)b3.
- Выписываем множество М1 , состоящее из слов, входящих в качестве начал в нетривиальные разложения элементарных кодов.
М1
= {b1;b1b3;b2;b1b2;b1b2b1;b2b1;b
- Выписываем множество М2 , состоящее из слов, которые являются окончанием нетривиальных разложений элементарных кодов:
М2 = {b2;b3b2;b3;b2b1 b3;b1b3;b2b3;b2b2b3}.
- Составляем множество М = М1 ∩ М2 U {˄}.
- Выписываем все разложения элементарных кодов, связанных с элементами множества М.
β2 = (b1b3) ˄ (b2),
β4 = (b1 b2)(b1b3) =˄β1 (b1 b3),
β5 = (b2)(b1b2)(b2b3) = b2β1β3 ˄ .
- По полученным разложениям строим ориентированный граф: вершины графа – элементы множества М = {˄,b2 ,b1b3}. Пара вершин соединяется ориентированными ребрами в том случае, если существует разложение, где вершины графа входят в разложение в качестве начала и конца.
β1 β1β3
˄
- В графе G∑ присутствует ориентированный цикл, проходящий через вершину ˄, следовательно, согласно теореме Маркова, алфавитное кодирование с заданной схемой не является взаимно- однозначным.
- Выписывая слова, приписанные вершинам и дугам ориентирован ного графа G∑, получаем слово декодируемое неоднозначно:
β1 = (b1b2)(b1b3b2)(b1b2)(b1)(b2b3)
β2 = (b1b2b1b3)(b2b1b2b2b3),
Задача 5. Схема алфавитного кодирования задана таблицей
| a1 | a2 | a3 | a4 | a5 |
| b1 | b2b1 | b1b2b2 | b2b1b2b2 | b2b2b2b2 |