20

Кодирования

[32/100%]
Показать
LaTeX
Задача 479

Дана следующая схема кодирования из алфавита Σ={a,b,c}\Sigma =\left\{ a, b, c\right\} в алфавит Ω={0,1,2}:C={(aa,0),(abc,11),(ba,21),(c,ε),(bb,2),(ab,22),(b,1)}\Omega =\left\{ 0,1,2\right\} : C=\left\{ (a a, 0),(a b c, 11),(b a, 21),(c, \varepsilon ),(b b, 2), (a b, 22),(b, 1)\right\}. Найти множества кодов для следующих слов:

?
(а)

abaabac;

(б)

bacbbaccab;

(в)

aabcabccaab;

(г)

abcbbaabc.

Задача 480

Дана следующая схема кодирования из алфавита {0}\left\{ 0\right\} в алфавит {a,b}:C={(0,a),(00,b)}\left\{ a, b\right\} : C=\left\{ (0, a),(00, b)\right\}. Доказать, что слово 0n0^{n} можно закодировать Fn+1F_{n+1} способом, где FiF_{i} — соответствующее число Фибоначчи.

?
Задача 481

Пусть язык LL в алфавите {a,b}\left\{ a, b\right\}, состоит из всех слов, которые начинаются на aaa a и содержат количество символов aa кратное трём. Гомоморфизм h:{0,1,2}∗→{a,b}∗h:\left\{ 0,1,2\right\}^{*} \rightarrow \left\{ a, b\right\}^{*} задан равенствами h(0)=aaah(0)=a a a, h(1)=ba,h(2)=εh(1)=b a, h(2)=\varepsilon. Определить, какие из следующих трёх слов принадлежат прообразу h−1(L)h^{-1}(L) языка LL при гомоморфизме hh :

?
(а)

w1=21112w_{1}=21112;

(б)

w2=20101012w_{2}=20101012;

(в)

w3=00211011w_{3}=00211011.

Задача 482

Пусть язык LL в алфавите {a,b,c}\left\{ a, b, c\right\} состоит из всех слов, которые начинаются на aaa a и содержат подслово bbb b. Какая из следующих фраз определяет язык h(L)h(L), являющийся образом LL при следующем гомоморфизме h:{a,b,c}∗→{0,1}∗:h(a)=01,h(b)=11,h(c)=εh:\left\{ a, b, c\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*}: h(a)=01, h(b)=11, h(c)=\varepsilon?

?
(а)

Все слова в алфавите {0,1}\left\{ 0,1\right\}, начинающиеся на 0101, с длиной, делящейся на 4.

(б)

Все слова чётной длины в алфавите {0,1}\left\{ 0,1\right\}, начинающиеся на 0101.

(в)

Все слова чётной длины в алфавите {0,1}\left\{ 0,1\right\}, начинающиеся на 0101, в которых каждый второй символ является единицей и которые содержат подслово 1111.

(г)

Все слова в алфавите {0,1}\left\{ 0,1\right\}, начинающиеся на 0101, в которых на чётных местах стоят единицы и которые содержат подслово 1111.

Задача 483

Пусть язык LL в алфавите {a,b,c}\left\{ a, b, c\right\} состоит из всех слов, которые заканчиваются на bccb c c и содержат подслово acaa c a. Какая из следующих фраз определяет язык h(L)h(L), являющийся образом LL при следующем гомоморфизме h:{a,b,c}∗→{0,1}∗:h(a)=0,h(b)=10,h(c)=εh:\left\{ a, b, c\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*}: h(a)=0, h(b)=10, h(c)=\varepsilon?

?
(а)

Все слова в алфавите {0,1}\left\{ 0,1\right\}, заканчивающиеся на 10, с длиной 12 или больше.

(б)

Все слова чётной длины в алфавите {0,1}\left\{ 0,1\right\}, содержащие подслово 0000.

(в)

Все слова чётной длины в алфавите {0,1}\left\{ 0,1\right\}, заканчивающиеся на 10, в которых каждый второй символ является нулём.

(г)

Все слова в алфавите {0,1}\left\{ 0,1\right\}, заканчивающиеся на 10, в которых каждый второй символ является нулём и которые содержат подслово 0000.

(д)

Все слова чётной длины в алфавите {0,1}\left\{ 0,1\right\}, заканчивающиеся на 10, в которых каждый шестой символ является нулём и которые содержат подслово 0000.

Задача 484

Дана следующая схема кодирования из алфавита Σ={0,1}\Sigma =\left\{ 0,1\right\} в алфавит Ω={a,b}:C={(00,aa),(01,b),(1,a)}\Omega =\left\{ a, b\right\} : C=\left\{ (00, a a),(01, b),(1, a)\right\}. Найти результаты кодирования следующих языков, представленных регулярными выражениями:

?
(а)

(0+1)∗(0+1)^{*};

(б)

(01+10)∗(01+10)^{*};

(в)

(000+11)∗(000+11)^{*};

(г)

(101∗+00)∗\left(101^{*}+00\right)^{*}.

Задача 485

Дана следующая схема кодирования из алфавита Σ={0,1}\Sigma =\left\{ 0,1\right\} в алфавит Ω={a,b}:C={(000,ab),(10,a),(11,bb)}\Omega =\left\{ a, b\right\} : C=\left\{ (000, a b),(10, a),(11, b b)\right\}. Найти результаты кодирования следующих языков, представленных регулярными выражениями:

?
(а)

(0+1)∗(0+1)^{*};

(б)

(10+0)∗(ε+1)(10+0)^{*}(\varepsilon +1);

(в)

(00+11)∗(00+11)^{*};

(г)

(001+01+110)∗(001+01+110)^{*}.

Задача 486

Пусть даны детерминированный конечный автомат M=({q0,q1,q2,q3},{a,b,c},P,0,{2})\mathfrak {M}=(\left\{ q_{0}, q_{1}, q_{2}, q_{3}\right\} , \left\{ a, b, c\right\} , P, 0, \left\{ 2\right\} ) с программой P={q0,a→q1;q0,b→q1;q0,c→q0;q1,a→q1;q1,b→q2;q1,c→q2;q2,a→q3;q2,b→q3;q2,c→q2;q3,a→q3;q3,b→q3;q3,c→q3}P=\left\{ q_{0}, a \rightarrow q_{1} ; q_{0}, b \rightarrow q_{1} ; q_{0}, c \rightarrow q_{0} ; q_{1}, a \rightarrow q_{1} ; q_{1}, b \rightarrow q_{2} ; q_{1}, c \rightarrow q_{2} ; q_{2}, a \rightarrow q_{3} ; q_{2}, b \rightarrow q_{3} ; q_{2}, c \rightarrow q_{2} ; q_{3}, a \rightarrow q_{3} ; q_{3}, b \rightarrow q_{3} ; q_{3}, c \rightarrow q_{3}\right\}, а также — гомоморфизм h:{a,b,c}∗→{0,1}∗h:\left\{ a, b, c\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*}, для которого h(a)=01,h(b)=11h(a)=01, h(b)=11, h(c)=εh(c)=\varepsilon. Какие из следующих трёх автоматов M1,M2,M3\mathfrak {M}_{1}, \mathfrak {M}_{2}, \mathfrak {M}_{3} распознают гомоморфный образ h(LA)h\left(L_{A}\right)?

?
(а)

M1=({qi:i=0,…,11},{0,1},P1,q0,F1={q1,q2})\mathfrak {M}_{1}=\left(\left\{ q_{i}: i=0, \ldots , 11\right\} ,\left\{ 0,1\right\} , P_{1}, q_{0}, F_{1}=\left\{ q_{1}, q_{2}\right\} \right);

(б)

M2=({q0,q1,q2,q3,q4,q5,q6},{0,1},P2,q0,F2={q1,q2})\mathfrak {M}_{2}=\left(\left\{ q_{0}, q_{1}, q_{2}, q_{3}, q_{4}, q_{5}, q_{6}\right\} ,\left\{ 0,1\right\} , P_{2}, q_{0}, F_{2}=\left\{ q_{1}, q_{2}\right\} \right);

(в)

M3=({q0,q1,q2,q3,q4,q5,q6},{0,1},P3,q0,F3={q0,q1,q2})\mathfrak {M}_{3}=\left(\left\{ q_{0}, q_{1}, q_{2}, q_{3}, q_{4}, q_{5}, q_{6}\right\} ,\left\{ 0,1\right\} , P_{3}, q_{0}, F_{3}=\left\{ q_{0}, q_{1}, q_{2}\right\} \right).

Программы автоматов заданы таблицами на рис. 32 (- означает отсутствие соответствующего перехода).

Задача 487

Дан детерминированный конечный автомат (рис. 33), распознающий некоторый язык LL. Построить недетерминированный конечный автомат, распознающий язык C(L)C(L) для схем кодирования CC из задач

?
(а)

484

(б)

485

Рис. 33: Автомат из задачи 487.Рис. 33: Автомат из задачи 487.

Задача 488

Пусть гомоморфизм C:{0,1,2}∗→{a,b}∗C:\left\{ 0,1,2\right\}^{*} \rightarrow \left\{ a, b\right\}^{*} определяется равенствами C(0)=ab,C(1)=b,C(2)=aaC(0)=a b, C(1)=b, C(2)=a a.

Построить детерминированный конечный автомат, который распознаёт образ C(L)C(L) языка

L={w:w начинается не с 1 и не содержит 00}. L=\left\{ w: w \text{ начинается не с } 1 \text{ и не содержит } 00\right\} .
?
Задача 489

Пусть гомоморфизм C:{0,1}∗→{a,b,c}∗C:\left\{ 0,1\right\}^{*} \rightarrow \left\{ a, b, c\right\}^{*} определяется равенствами C(0)=aa,C(1)=bcC(0)=a a, C(1)=b c.

Построить детерминированный конечный автомат, который распознаёт образ C(L)C(L) языка

L={w:w начинается с 0 и содержит 11}. L=\left\{ w: w \text{ начинается с } 0 \text{ и содержит } 11\right\} .
?
Задача 490

Пусть гомоморфизм C:{0,1,2}∗→{a,b,c}∗C:\left\{ 0,1,2\right\}^{*} \rightarrow \left\{ a, b, c\right\}^{*} определяется равенствами C(0)=ba,C(1)=ε,C(2)=bcC(0)=b a, C(1)=\varepsilon , C(2)=b c.

Построить детерминированный конечный автомат, который распознаёт язык C(L)C(L) для языка L={w: цифры 2 встречаются в w блоками чётной длины и хоть один такой блок имеется}L=\left\{ w:\text{ цифры 2 встречаются в }w\text{ блоками чётной длины и хоть один такой блок имеется}\right\}

?
Задача 491

Пусть гомоморфизм C:{a,b,c}∗→{0,1}∗C:\left\{ a, b, c\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*} определяется равенствами C(a)=10,C(b)=01,C(c)=εC(a)=10, C(b)=01, C(c)=\varepsilon.

Построить детерминированный конечный автомат, который распознаёт язык C−1(L)C^{-1}(L) для языка

L=\left\{ w: w \text{ заканчивается на } 01

и содержит чётное количество единиц.

?
Задача 492

Пусть гомоморфизм C:{a,b,c}∗→{0,1}∗C:\left\{ a, b, c\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*} определяется равенствами C(a)=01,C(b)=11,C(c)=εC(a)=01, C(b)=11, C(c)=\varepsilon.

Построить детерминированный конечный автомат, который распознаёт прообраз C−1(L)C^{-1}(L) языка

L={w:w начинается с 11 и не содержит 010}. L=\left\{ w: w \text{ начинается с } 11 \text{ и не содержит } 010\right\} .
?
Задача 493

Пусть гомоморфизм C:{a,b,c}∗→{0,1}∗C:\left\{ a, b, c\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*} определяется равенствами C(a)=00,C(b)=011,C(c)=01C(a)=00, C(b)=011, C(c)=01.

Построить детерминированный конечный автомат, который распознаёт язык C−1(L)C^{-1}(L) для языка

L={w:w содержит подслово 001 или подслово 10}. L=\left\{ w: w \text{ содержит подслово } 001 \text{ или подслово } 10\right\} .
?
Задача 494

Доказать, что любую операцию кодирования CC для языка можно представить в виде суперпозиции прообраза гомоморфизма ψ\psi и гомоморфизма φ:C(L)=φ(ψ−1(L))\varphi : C(L)=\varphi \left(\psi^{-1}(L)\right) для некоторых ψ\psi и φ\varphi.

?
Задача 495

Определим операцию цилиндрификации, которая обратна операции проекции. Пусть CC — проекция алфавита Σ\Sigma на алфавит Ω⊆Σ\Omega \subseteq \Sigma. Для любого языка L⊆Ω∗L \subseteq \Omega^{*} определим его цилиндрификацию до алфавита Σ\Sigma как язык

ZΣ(L)={w∈Σ∗:C(w)∈L}. Z_{\Sigma }(L)=\left\{ w \in \Sigma ^{*}: C(w) \in L\right\} .

Показать, что для автоматного языка LL язык ZΣ(L)Z_{\Sigma }(L) также является автоматным языком. Предложить процедуру перестройки автомата, распознающего LL, в автомат, распознающий ZΣ(L)Z_{\Sigma }(L).

?
Задача 496

Показать, что если гомоморфизм C:Σ∗→Ω∗C: \Sigma^{*} \rightarrow \Omega^{*} является беспрефиксным, то результат обратного кодирования C−1C^{-1} может быть вычислен с помощью конечного преобразователя. Считаем, что C−1(w)C^{-1}(w) может быть любым, если w∉rng⁡Cw \notin \operatorname {rng} C.

?
Задача 497

Используя критерий Маркова доказать, что с помощью схем кодирования из задач 484 и 485 каждое слово можно закодировать не более чем одним способом.

?
Задача 498

С помощью критерия Маркова определить, можно ли для схем кодирования из задач 484 и 485 по коду слова однозначно восстановить само слово.

?
Задача 499

Построить граф кодирования для первых шести кодовых слов азбуки Морзе: Cm(a)=⋖⋅−»;Cm(b)=≪−⋯>;Cm(c)=<−⋅−C_{m}(a)=\lessdot \cdot -» ; C_{m}(b)=\ll -\cdots >; C_{m}(c)=<-\cdot - »; Cm(d)=≪−⋅>;Cm(e)=<⋅>;Cm(f)=<⋅⋅−⋅>C_{m}(d)=\ll -\cdot >; C_{m}(e)=<\cdot >; C_{m}(f)=<\cdot \cdot -\cdot >.

?
Задача 500

С помощью критерия Маркова проверить, будет ли следующий гомоморфизм разнозначным: C(a)=01,C(b)=100,C(c)=0110C(a)=01, C(b)=100, C(c)=0110, C(d)=11,C(e)=0100,C(f)=101C(d)=11, C(e)=0100, C(f)=101. Если нет, то найти слово, которое нельзя однозначно декодировать.

?
Задача 501

С помощью критерия Маркова проверить, будет ли следующий гомоморфизм разнозначным: C(a)=0101,C(b)=100,C(c)=1011C(a)=0101, C(b)=100, C(c)=1011, C(d)=0010,C(e)=110011,C(f)=00C(d)=0010, C(e)=110011, C(f)=00. Если нет, то найти слово, которое нельзя однозначно декодировать.

?
Задача 502

Доказать, что беспрефиксные гомоморфизмы разнозначны с помощью критерия Маркова.

?
Задача 503

Построить с помощью метода Хаффмана оптимальные двоичные кодирования для слов

?
(а)

«каракатица»,

(б)

«параллелепипед»,

(в)

«телеаппаратура»,

(г)

«индивидуальность»,

(д)

«перераспределение»

(е)

«обороноспособность»

(ж)

«стронгилоцентротус»

(з)

«тартароблатта».

Определить длину получившихся кодов слов. Вычислить, насколько оптимальное кодирование даёт результат короче, чем двоичное равномерное, то есть когда коды всех символов имеют одну и ту же длину.

Задача 504

Построить конечные преобразователи, выполняющие декодирование из задачи 503: построить с помощью метода Хаффмана оптимальные двоичные кодирования для слов

?
(а)

«каракатица»,

(б)

«параллелепипед»,

(в)

«телеаппаратура»,

(г)

«индивидуальность»,

(д)

«перераспределение»

(е)

«обороноспособность»

(ж)

«стронгилоцентротус»

(з)

«тартароблатта».

Задача 505

Индукцией по построению доказать, что для двоичного кода Хаффмана сумма в неравенстве Крафта-МакМиллана в точности равна единице.

?
Задача 506

Доказать, что для любого оптимального двоичного гомоморфизма сумма в неравенстве Крафта-МакМиллана в точности равна единице. Продемонстрировать, что для недвоичных гомоморфизмов это может быть неверно.

?
Задача 507

Пусть частоты символов ai,i∈Ia_{i}, i \in I, одинаковы. Доказать, что

?
(а)

в любом оптимальном гомоморфизме длины кодовых слов C(ai)C\left(a_{i}\right) отличаются не более чем на 2 ;

(б)

существует оптимальный гомоморфизм, в котором длины кодовых слов C(ai)C\left(a_{i}\right) отличаются не более чем на 1 ;

(в)

в любом оптимальном двоичном гомоморфизме длины кодовых слов C(ai)C\left(a_{i}\right) отличаются не более чем на 1.

Задача 508

Требуется построить разнозначный двоичный гомоморфизм из алфавита {a,b,c,d,e,f,g,h}\left\{ a, b, c, d, e, f, g, h\right\}. По некоторым причинам для символов a,b,c,d,e,fa, b, c, d, e, f решено использовать кодовые слова длин 5,1,3,3,4,85,1,3,3,4,8 соответственно. Известно, что средние частоты символов gg и hh равны 18\frac{1}{8} и 15\frac{1}{5} соответственно. Найти оптимальные длины кодовых слов для gg и hh.

?
Задача 509

Требуется построить оптимальный двоичный гомоморфизм из алфавита {a,b,c,d,e,f,g,h}\left\{ a, b, c, d, e, f, g, h\right\}. Известно, что первые три символа встречаются одинаково часто, а остальные — намного реже, но тоже с одинаковой частотой.

?
Задача 510

Пусть CC — схема кодирования из алфавита Σ\Sigma в себя, LL — автоматный язык алфавита Σ\Sigma. Доказать, что язык C∗(L)C^{*}(L) тоже является автоматным:

C∗(L)=⋃{C[x]:x∈L,C[x]≠∅}∪{x:x∈L,C[x]=∅}. C^{*}(L)=\bigcup \left\{ C[x]: x \in L, C[x] \neq \varnothing \right\} \cup \left\{ x: x \in L, C[x]=\varnothing \right\} .

Таким образом, C∗(L)C^{*}(L) содержит коды слов из LL, которые можно закодировать, а также все слова из LL, которые закодировать нельзя.

?