Скачиваний:
59
Добавлен:
01.05.2014
Размер:
419.33 Кб
Скачать

Полиномиальное кодирование.

a=(a1,a2, … am), ai{0,1} | Z2

Z2 | a=(0,1,1,0,1) x+x2+x4

m+k=n+

g(x)=g0+g1x+…+gkxk

g00, gk0

m=5, k=3

a=(0,1,0,1,1)=x+x3+x4

g(x)=1+x2+x3

a-g=x+x5+x7

(0,1,0,0,0,1,0,1)

mx(x+k)

Правоциркулярная матрица

а.

Теорема: 27

Пусть существует многочлен f(x)Z2 – множество вычетов

(коэффициент из множества Z2, если он делиться на 1+x, тогда у многочлена четно число не нулевых коэффициентов).

Доказательство:

f(x)=f0+f1X+f2X2+…+fkXk

f(x)=(1+x)f1(x)

f(1)=f0+f1+f2+…+fn=0 (1+1=0) => число не нулевых коэффициентов четно.

g(x)=1+x (m,m+1)

Коды Шеннона-Фено

Свойство префикса – никакая кодовая последовательность не является началом другой кодовой последовательности.

Код – беспрефиксный.

P1…Pn – вероятность появления какого-либо символа в последовательности.

0<=p<=1

P1+P2+…+Pn=1

S1, S2, … , Sn – длины кодовых символов.

i=1nPiSi  min оптимальный код.

Лемма: беспреффиксные коды.

  1. p1>=p2>=…>=pn S1<=S2<=…<=Sn

  2. Sn=Sn-1.] Sn>Sn-1 _______X

Sn-1 - не может быть другим кодом

Алгоритм Хоффмана.

p1>=p2>=…>=pn Наименьшие встречающиеся слова мы объдиним S1<=S2<=…<=Sn

pn pn-1 - 2 редко встречающихся слова

Получаем n-1 слово и т.д. до тех пор пока не останется 2 слова, которым приписывается 0 или 1

Пример:

{a, b, c, d, e} Известны вероятности появления этих слов в тексте.

0,37(a)

0,22(b)

0,16(c) d,e – самые редко встречающиеся символы, объединем в одно

0,14(d) Появление символов не зависит друг от друга.

0,11(e)

Теперь

0,37(a); 0,22(b); 0,16(c); 0,25(de);

Далее:

0,37(a); 0,38(bс); 0,25(de);

0,62(ade); 0,38(bс);

Кодирование 0 и 1

ade bc

  1. 1 Присваиваем правому 0, а левому 1

a de b c

00 01 10 11 Получается беспреффиксный код

d e

010 011

  1. Лексикографический порядок. Генерирование k-элементных подмножеств. Бинарный код Грея.

Лексикографический порядок

{x1, x2,…,xn} - набор каких-либо объектов

{y1, y2,…,yn} - xi, yiX (алфавит)

Можно их сравнить, больше, меньше, равно, не равно

{x1, x2,…,xn} < {y1, y2,…,yn} Набор Х в лексикографическом порядке идет раньше.

Если существует к(1,n) такая, что xi=yi для i<k xk<yk

Пример: словарь из 3-х символов, тогда в словаре 3-х буквенных слов – 6

{1,2,3} {1,3,2} {2,1,3} {2,3,1} {3,1,2} {3,2,1}

Антилексикографический порядок

{x1, x2,…,xn} < {y1, y2,…,yn} Набор Х в лексикографическом порядке идет позже.

Если существует к(1,n) такое, что xi=yi для i>k xk>yk

Алгоритм лексикографического порядка

n – элементное множество задача перебрать все к – элементные подмножества данного множества. (k<n)

Чтобы их не перепутать (не повторять) будем их перебирать в лексикографическом порядке.

Сnk – можно выбрать подмножеств из n

{1..k} – первое множество

{a1,a2,…,ak}

{a1,a2,…,ap,ap+1,ap+2,…,ap-k+p+1}

p=max{i|ai<n-k+1}

a[ ] – очередная перестановка

p – переменная которая показывает с какого места мы изменяем

a[i]=i i[1,k]

p=k

while(p>=1)

{

if(a[k]=n) then p:=p-1

else p:=k;

if (p>=1)

{

a[i]:=a[p]+i-p+1;

for (i=k, k-1, … p)

}

}

Пример n=6 {1,2,3,4,5,6}

k=4

{1,2,3,4}, p=4

{1,2,3,5}, p=4

{1,2,3,6}, p=3

{1,2,4,5}, p=4

{1,2,4,6}, p=3

{1,2,5,6}, p=2

{1,3,4,5}, p=4

{1,3,4,6}, p=3

{1,3,5,6}, p=2

{1,4,5,6}, p=1

{2,3,4,5}, p=4

{2,3,4,6}, p=3

{2,3,5,6}, p=2

{2,4,5,6}, p=1

{3,4,5,6}, выход

15 варинантов

Соседние файлы в папке Шпаргалка по дискретной математике