Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2Diskretnaya_matematika_-_2_semestr.doc
Скачиваний:
46
Добавлен:
26.09.2019
Размер:
5.82 Mб
Скачать

16(33) Общий критерий взаимной однозначности. Теорема Маркова. Примеры

Пусть алфавитное кодирование задано схемой

Ʃ: a1 - ƀ1, a2 - ƀ2, a3 - ƀ3, …, ar - ƀr – элементарные коды

Опр Представление элементарного кода ƀi схемой алфавитного кодирования Ʃ

ƀi=ƀ’ƀi1… ƀikƀ”, где слово b' не может оканчиваться на элементарный код, а ƀ” не может начинаться с элементарного кода называется нетривиальным разложением кода

При этом одно из слов ƀ' и ƀ” может быть пустым (˄) (возможно и оба). Для определения однозначности или неоднозначности схемы алфавитного кодирования существует эффективный алгоритм использующий понятие нетривиального разложения элементарных кодов

Алгоритм

1) Для каждого элементарного кода выписываем все нетривиальные разложения

2) Выписываем множество M1 состоящее из ƀ’ которые входят в качестве начал в нетривиальное разложении кодов

3) Выписываем множество M2 состоящее из всех слов ƀ” которые являются окончанием нетривиальным разложением элементарных кодов

4) Составляем множество M=(M1 M2) {˄}, т.е. множество слов встречающихся как в качестве начал и в качестве окончаний в нетривиальном разложении элементарных кодов

5) Выписываем все разложения элементарных кодов связанных с множеством M, т.е. все разложения элементарных кодов вида ƀi=ƀ’ƀi1… ƀikƀ”, где ƀ’,ƀ” M, а r может быть равным 0

6) По разложениям полученным в пункте 5 строится ориентированный граф GƩ следующим образом: вершины графа отождествляются с элементами M, пара вершин (ƀ’, ƀ”) соединяются ориентированными ребрами  если существует разложение ƀ’ƀi1… ƀikƀ”. При этом дуге (ƀ’,ƀ”) приписывается слово ƀi1… ƀik соответствующее этому разложению

7) По полученному графу GƩ легко проверить обладает или нет исходная схема кодирования свойствами взаимооднозначности

Т Маркова А.А.

Алфавитное кодирование со схемой Ʃ не обладаеи свойством взаимной однозначности  граф GƩ содержит ориентированный цикл (контур) проходящий через вершину ˄

Т.е. алфавитное кодирование является взаимнооднозначным  в графе GƩ отсутствуют контуры и петли проходящие через вершину ˄

Зам Если схема алфавитного кодирования Ʃ не обладает свойствами взаимной однозначности то это означает что существуют слова из S(B) допускающие 2 кодирования. Одно из таких слов ƀ легко находится по графу GƩ. Для записи слова ƀ нужно посмотреть ориентированный цикл проходящий через вершину ˄. Начиная с ˄ и выписывать последовательно все слова приписанные ребрам (дугам) и вершинам входящим в этот цикл

Пр Рассмотрим алавитное кодирование с алфавитом сообщения A={a1,a2,a3,a4},B={a,b,c} и схемой Ʃ. Ʃ:a1 – a,a2 – ab, a3 – cab, a4 – baac. Является ли схема Ʃ взаимооднозначной? С(Ʃ)={a,ab,cab,baac}

1) ƀ1=a, ƀ2=ab=˄(a)(b), ƀ3=cab=(c)(ab)˄=˄(ca)(b)

ƀ4=baac=(b)(aac)˄=˄(ba)(ac)˄=˄(baa)(c)=(b)(a)(a)(c)

2) M1={c,b}

3) M2={b,c}

4) M=(M1 M2) {˄}, M={˄,b,c}

5) ƀ2=˄(a)(b)=˄ƀ1(b),ƀ3=(c)(ab)˄=(c)ƀ2˄, ƀ4=(b)(a)(a)(c)=(b)ƀ1ƀ1(c)

6) Строим граф GƩ

˄Прямая соединительная линия 166 Прямая соединительная линия 165 ƀ1 b

Прямая соединительная линия 164

ƀ2 ƀ1ƀ1

c

7) Кодирование не является взаимооднозначным, т.к. существует контур проходящий через вершину ˄

8) ƀ=ƀ11ƀ12=abaacab

(ab)(a)(a)(cab)=>a’=a2a1a1a3

(a)(baac)(ab)=>a”=a1a4a2