Глава 17

Кодирования. Неавтоматные языки

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

Дана следующая схема кодирования из алфавита Σ={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.

Задача 262

Дана следующая схема кодирования из алфавита Σ={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)^{*}.

Задача 263

Пусть гомоморфизм 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={w:w заканчивается на 01 и содержит чётное количество единиц }L=\left\{ w: w\text{ заканчивается на 01 и содержит чётное количество единиц }\right\}.

?
Задача 264

Определим операцию цилиндрификации, которая обратна операции проекции. Пусть 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).

?
Задача 265

Построить граф кодирования для первых шести кодовых слов азбуки Морзе.

?
Задача 266

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

?
Задача 267

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

?
Задача 268

Доказать, что гомоморфизм φ′\varphi^{\prime }, построенный в доказательстве леммы 128 на стр. 354, является беспрефиксным.

?
Задача 269

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

?
(а)

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

(б)

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

(в)

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

(г)

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

(д)

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

(е)

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

(ж)

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

(з)

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

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

Задача 270

Построить конечные преобразователи, выполняющие декодирование из задачи 269.

?
(а)

(а) из задачи 269;

(б)

(б) из задачи 269.

Задача 271

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

?
Задача 272

Требуется построить разнозначный двоичный гомоморфизм из алфавита {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.

?
Задача 273

Обращением слова w=a1a2…ak,ai∈Σw=a_{1} a_{2} \ldots a_{k}, a_{i} \in \Sigma при i=1,…,ki=1, \ldots , k, называется слово w−1=ak…a2a1w^{-1}=a_{k} \ldots a_{2} a_{1}. Показать, что для автоматного языка LL его обращение — язык L−1={w−1:w∈L}L^{-1}=\left\{ w^{-1}: w \in L\right\} — также является автоматным.

?
Задача 274

Пусть LL — автоматный язык в алфавите Σ\Sigma. Доказать, что автоматными являются и следующие языки:

?
(а)

PREF⁡(L)={w: есть такое слово x∈Σ∗, что wx∈L}\operatorname {PREF}(L)=\left\{ w:\text{ есть такое слово }x \in \Sigma^{*}\text{, что }w x \in L\right\};

(б)

SUFF⁡(L)={w: есть такое слово x∈Σ∗, что xw∈L}\operatorname {SUFF}(L)=\left\{ w:\text{ есть такое слово }x \in \Sigma^{*}\text{, что }x w \in L\right\};

(в)

INF⁡(L)={w: есть такие слова x,y∈Σ∗, что xwy∈L}\operatorname {INF}(L)=\left\{ w:\text{ есть такие слова }x, y \in \Sigma^{*}\text{, что }x w y \in L\right\};

(г)

MAX⁡(L)={w∈L:wx∉L для всякого непустого слова x}\operatorname {MAX}(L)=\left\{ w \in L: w x \notin L\text{ для всякого непустого слова }x\right\};

(д)

MIN⁡(L)={w∈L:x∉L для всякого собственного префикса x слова w}\operatorname {MIN}(L)=\left\{ w \in L: x \notin L\text{ для всякого собственного префикса }x\text{ слова }w\right\};

(е)

DEL⁡(L)={xz:xyz∈L для некоторого слова y}\operatorname {DEL}(L)=\left\{ x z: x y z \in L\text{ для некоторого слова }y\right\};

(ж)

CYCLE⁡(L)={yx:xy∈L}\operatorname {CYCLE}(L)=\left\{ y x: x y \in L\right\}.

Задача 275

Пусть LL — автоматный язык в алфавите Σ={a1,…,am}\Sigma =\left\{ a_{1}, \ldots , a_{m}\right\}, а L1,…,LmL_{1}, \ldots , L_{m} это автоматные языки в алфавите Δ\Delta. Доказать, что автоматным является и язык SUBST⁡(L)\operatorname {SUBST}(L), полученный из слов LL заменой каждой буквы aia_{i} на некоторое слово из LiL_{i}. Таким образом,

SUBST⁡(L)={w1w2…wn:w1∈Li1,…,wn∈Lin и существует ai1ai2…ain∈L}. \operatorname {SUBST}(L)=\left\{ w_{1} w_{2} \ldots w_{n}: w_{1} \in L_{i_{1}}, \ldots , w_{n} \in L_{i_{n}} \text{ и существует } a_{i_{1}} a_{i_{2}} \ldots a_{i_{n}} \in L\right\} .
?
Задача 276

Доказать, что следующие языки в алфавите Σ={a,b,c}\Sigma =\left\{ a, b, c\right\} не являются автоматными:

?
(а)

множество всех слов, в которых букв aa на 3 больше, чем букв bb;

(б)

L={ancbm:m>3n}L=\left\{ a^{n} c b^{m}: m>3 n\right\};

(в)

L={wcw−1:w=a2bna для некоторого n>0}L=\left\{ w c w^{-1}: w=a^{2} b^{n} a \text{ для некоторого } n>0\right\};

(г)

L={w:∣w∣=2n для некоторого натурального n}L=\left\{ w:\left|w\right|=2^{n} \text{ для некоторого натурального } n\right\};

(д)

L={wc∣w∣:w∈{a,b}∗,∣w∣ — длина слова w}L=\left\{ w c^{\left|w\right|}: w \in \left\{ a, b\right\}^{*}, \left|w\right| \text{ — длина слова } w\right\}.

Задача 277

Пусть V\boldsymbol {V} — это конечное множество переменных, L={ «(», «)», «λ» }\boldsymbol {L}=\left\{ \text{ «(», «)», «λ» }\right\}. Тогда λ\lambda — выражение — это слово в алфавите V∪L\boldsymbol {V} \cup \boldsymbol {L}, определяемое индуктивно: либо переменная x∈Vx \in \boldsymbol {V}, либо « λxe1\lambda x e_{1} », либо « (e1e2)\left(e_{1} e_{2}\right) », где x∈V,e1,e2−λx \in \boldsymbol {V}, e_{1}, e_{2}-\lambda-выражения. Например, слова « λxx»\lambda x x », « λx(xx)»\lambda x(x x) », « λxλx(λx(xx)λx(xx))»\lambda x \lambda x(\lambda x(x x) \lambda x(x x)) » — это λ\lambda-выражения, а слова « (xλx)»(x \lambda x) », « λx(λx)»\lambda x(\lambda x) » и « λx\lambda x ((xx)»λ(x x) » \lambda-выражениями не являются. Доказать, что множество λ\lambda-выражений в алфавите V∪L\boldsymbol {V} \cup \boldsymbol {L} не является автоматным.

?
Задача 278

Выше в задаче 243 на стр. 310 строился автомат, который проверял правильность сложения двоичных чисел. Доказать, что для операции умножения двоичных чисел такого автомата не существует. Точнее, следующий язык в алфавите трёхэтажных символов не является автоматным:

\begin{array}{r} \left\{ \llbracket \left[\begin{smallmatrix} x_{1} \\ y_{1} \\ z_{1} \end{array}

x_n y_n z_n : x_i, y_i, z_i 0,1 для i=1, , n и z_n z_1- это произведение двоичных чисел x_n x_1 и y_n y_1.

?
Задача 279

Доказать, что следующий язык в алфавите Σ={a,b,c}\Sigma =\left\{ a, b, c\right\} не является автоматным:

L={w∈Σ∗: количества букв a и b в слове w различны }. L=\left\{ w \in \Sigma ^{*}: \text{ количества букв } a \text{ и } b \text{ в слове } w \text{ различны }\right\} .
?