Элементы теории кодирования

Автор работы: Пользователь скрыл имя, 19 Января 2012 в 14:21, курсовая работа

Краткое описание

В этой работе речь пойдет о том, без чего в настоящее время трудно представить какую-либо деятельность. Современный человек на столько
привык к использованию «чудо-техники» в своей повседневной жизни, что вряд-ли задумывается о том, как протекают процессы записи, передачи или хранения информации. Все это основано на понятии кодирования.
Кодирование - это преобразование сообщения в форму, удобную для передачи по каналу связи.
Теория кодирования представляет собой один из разделов дискретной математики, в котором рассматривается процесс представления инфор¬мации в определенной стандартной форме и обратный процесс восстано¬вления информации по этому представлению.
Дискретная математика – одна из областей математики, начала которой возникли в глубокой древности. Основной отличительной чертой её классической математики, которая в основном занимается изучением свойств объектов непрерывного характера с использованием основного понятия – предел, является дискретность, противоположность непрерывности. Предметом дискретной математики является изучение свойств произвольных структур (множеств с операциями, отношения и аксиомами), которые появляются как в самой математике, так и в области её приложений.
Дискретная математика включает в себя такие разделы как теорию чисел, алгебру, математическую логику, теорию графов и сетей, теорию кодирования, комбинаторный анализ и теорию конечных автоматов.
Особенностью дискретной математики является, наряду с задачами типа существования, имеющими общематематический характер, наличие задач, связанных с алгоритмической разрешимостью и построением конкретных решающих алгоритмов. При этом по существу впервые возникла необходимость полного исследования так называемых многоэкстремальных задач.

Содержание работы

Введение…………………………………………………………………………..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.

При нормализации происходит установление его составляющих элементов:

  1. Определение знака числа
  2. Выделение мантиссы
  3. Установление знака порядка
  4. Вычисление числового значения порядка

Аналогично  нормализации десятичного числа  можно в нормализованной форме  представить и число в произвольной системе счисления q:

Х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)(b1b2).

      Следовательно, исходное сообщение есть слово α = а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}, однозначно восстанавливается следующий:

  1. В кодовом слове β находим все буквы b2 и выделяем все пары b1 b2 .
  2. Находим в кодовом слове β все буквы b2 и выделяем все пары b3 b1 .
  3. Каждую пару b1 b2 заменяем букой a2, пару b3 b1 заменяем буквой a3 ,

оставшиеся  буквы  b1  заменяем на a1 . В результате получим исходное сообщение (слово) α.

        Действительно пусть 

                                           β = b1b1b2b3b1b1b1b1b2b1b3b1,

                                           β = (b1)(b1b2)(b3b1)(b1)(b1)(b1b2)(b1)(b3b1),

                                           α = а1а2а3а1а1а2а1а3.

Задача 4. Алфавитное кодирование задано схемой ∑ в виде таблицы

a1 a2 a3 a4 a5
b1b2 b1b3b2 b2b3 b1b2b1b3 b2b1b2b2b3

С помощью  общего критерия взаимной однозначности  выясните, обладает ли эта схема  кодирования свойством взаимной однозначности или нет.

Решение. Алгоритм решения.

    1. Выпишем все нетривиальные разложения каждого элементарного кода:

β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 , состоящее из слов, входящих в качестве начал в нетривиальные разложения элементарных кодов.

      М1 = {b1;b1b3;b2;b1b2;b1b2b1;b2b1;b2b1b2b2}.

    1. Выписываем  множество М2 , состоящее из слов, которые являются окончанием нетривиальных разложений элементарных кодов:

      М2 = {b2;b3b2;b3;b2b1 b3;b1b3;b2b3;b2b2b3}.

    1. Составляем множество М = М1 ∩ М2 U {˄}.

                                             М = {˄,b2 ,b1b3}.

    1. Выписываем все разложения элементарных кодов, связанных с элементами множества М.

β2 = (b1b3) ˄ (b2),

β4 = (b1 b2)(b1b3) =˄β1 (b1 b3),

β5 = (b2)(b1b2)(b2b3) = b2β1β3 ˄ .

    1. По полученным разложениям строим ориентированный граф: вершины графа – элементы множества М = {˄,b2 ,b1b3}. Пара вершин соединяется ориентированными ребрами в том случае, если существует разложение, где вершины графа входят в разложение в качестве начала и конца.

       

         β1                  β1β3

     ˄ 

    1. В графе G присутствует ориентированный цикл, проходящий через вершину ˄, следовательно, согласно теореме Маркова, алфавитное кодирование с заданной схемой не является взаимно- однозначным.
    2. Выписывая слова, приписанные вершинам и дугам ориентирован ного графа G, получаем слово декодируемое неоднозначно:

                                           β = b1b2b1b3b2b1b2b2b3,

                                           β1 = (b1b2)(b1b3b2)(b1b2)(b1)(b2b3),

                                           α1 = а1а2а1а3,

                                           β2 = (b1b2b1b3)(b2b1b2b2b3),

                                           α2 = а4а5. 
 

Задача 5. Схема алфавитного кодирования задана таблицей

a1 a2 a3 a4 a5
b1 b2b1 b1b2b2 b2b1b2b2 b2b2b2b2

Информация о работе Элементы теории кодирования