21

Замкнутость. Неавтоматные языки

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

Обращением слова 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\} — также является автоматным.

?
Задача 512

Пусть 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\}.

Задача 513

Пусть 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\}.

?
Задача 514

Пусть L1L_{1} — автоматный язык в алфавите Σ\Sigma, а L2L_{2} — произвольный язык в том же алфавите. Доказать, что язык

L1/L2={w∈Σ∗: существует такое слово x∈L2, что wx∈L1} L_{1} / L_{2}=\left\{ w \in \Sigma ^{*}: \text{ существует такое слово } x \in L_{2}, \text{ что } w x \in L_{1}\right\}

также является автоматным.

?
Задача 515

Тасовкой языков L1L_{1} и L2L_{2} называется язык

SHUFFLE⁡(L1,L2)={x1y1…xnyn:x1…xn∈L1,y1…yn∈L2}. \operatorname {SHUFFLE}\left(L_{1}, L_{2}\right)=\left\{ x_{1} y_{1} \ldots x_{n} y_{n}: x_{1} \ldots x_{n} \in L_{1}, y_{1} \ldots y_{n} \in L_{2}\right\} .

Здесь x1,…,xn,y1,…,ynx_{1}, \ldots , x_{n}, y_{1}, \ldots , y_{n} — произвольные слова. Доказать, что если языки L1L_{1} и L2L_{2} являются автоматными, то язык SHUFFLE⁡(L1,L2)\operatorname {SHUFFLE}\left(L_{1}, L_{2}\right) тоже будет автоматным.

?
Задача 516

Пусть язык LL в алфавите {a,b,c}\left\{ a, b, c\right\} состоит из всех слов, в которых количество букв bb превосходит количество букв aa не менее чем на 2. Предположим, что LL — автоматный язык, а nn — это константа, которая существует для него по утверждению леммы о разрастании. Какие из следующих «специальных» слов позволяют опровергнуть это предположение, то есть для какого из них не выполнено утверждение 3) леммы о разрастании?

?
(а)

cnbbbaaabbc^{n} b b b a a a b b;

(б)

banbn+4aaab a^{n} b^{n+4} a a a;

(в)

cbn+2a2c b^{n+2} a^{2};

(г)

bn+2cancb^{n+2} c a^{n} c;

(д)

bncanbbbb^{n} c a^{n} b b b;

(е)

(ab)ncanbbb(a b)^{n} c a^{n} b b b.

Задача 517

Пусть язык LL в алфавите {a,b}\left\{ a, b\right\} состоит из всех слов нечётной длины, средней буквой в которых является aa. Предположим, что L−L- автоматный язык, а nn — это константа из леммы о разрастании. Какие из следующих «специальных» слов позволяют опровергнуть это предположение, то есть для какого из них не выполнено утверждение 3) леммы о разрастании?

?
(а)

bbbabbbb b b a b b b;

(б)

an+1bna^{n+1} b^{n};

(в)

anbn+1a^{n} b^{n+1};

(г)

(ab)na(a b)^{n} a;

(д)

bnabnb^{n} a b^{n};

(е)

anbana^{n} b a^{n};

(ж)

(ab)2na(a b)^{2 n} a;

(з)

a2n+1a^{2 n+1}.

Задача 518

Для каких из следующих языков LL в алфавите Σ={a,b,c}\Sigma =\left\{ a, b, c\right\} слово w=an(bc)nanw=a^{n}(b c)^{n} a^{n} может быть использовано, чтобы опровергнуть автоматность LL с помощью леммы о разрастании, если предположить, что nn — это константа из леммы?

?
(а)

L={w: в слове w количества b и c равны }L=\left\{ w:\text{ в слове }w\text{ количества }b\text{ и }c\text{ равны }\right\};

(б)

L={w: в слове w количество a равно суммарному количеству остальных букв }L=\left\{ w:\text{ в слове }w\text{ количество }a\text{ равно суммарному количеству остальных букв }\right\};

(в)

L={w: в слове w двумя средними буквами являются согласные}L=\left\{ w:\text{ в слове }w\text{ двумя средними буквами являются согласные}\right\};

(г)

L={w: в слове w количество a превосходит количество b}L=\left\{ w:\text{ в слове }w\text{ количество }a\text{ превосходит количество }b\right\};

(д)

L={w: слово w имеет чётную длину и его вторая половина содержит a}L=\left\{ w:\text{ слово }w\text{ имеет чётную длину и его вторая половина содержит }a\right\};

(е)

L={w: в слове w все последовательности букв a имеют одинаковую длину}L=\left\{ w:\text{ в слове }w\text{ все последовательности букв }a\text{ имеют одинаковую длину}\right\};

(ж)

L={w: слово w имеет чётную длину и его первая половина не содержит cc}L=\left\{ w:\text{ слово }w\text{ имеет чётную длину и его первая половина не содержит }c c\right\};

(з)

L={w: в слове w количество a превосходит количество каждой из других букв}L=\left\{ w:\text{ в слове }w\text{ количество }a\text{ превосходит количество каждой из других букв}\right\}.

Задача 519

Доказать, что следующие языки в алфавите Σ={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\}.

Задача 520

ДНФ записываются с использованием алфавита Σ={∧,∨,¬,a}\Sigma =\left\{ \wedge , \vee , \neg , a\right\}, переменная xix_{i} обозначается повторением ii раз буквы aa, например, x1∧¬x2∨x3∧x2x_{1} \wedge \neg x_{2} \vee x_{3} \wedge x_{2} выглядит так: a∧¬aa∨aaa∧aaa \wedge \neg a a \vee a a a \wedge a a. Определить, будет ли автоматным язык:

?
(а)

L0L_{0}, состоящий из всех ДНФ;

(б)

L1L_{1}, состоящий из тождественно истинных ДНФ;

(в)

L2L_{2}, состоящий из тождественно ложных ДНФ;

(г)

L3L_{3}, состоящий из выполнимых ДНФ.

Задача 521

Пусть V\boldsymbol {V} — это конечное множество переменных, L={«(»,≪)>,<λ>}\boldsymbol {L}=\left\{ «(», \ll )>,<\lambda >\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,e2x \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((xx)»λ\lambda x((x x) » \lambda-выражениями не являются. Доказать, что множество λ\lambda-выражений в алфавите V∪L\boldsymbol {V} \cup \boldsymbol {L} не является автоматным.

?
Задача 522

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

{⟦[x1y1z1]…[xnynzn]:xi,yi,zi∈{0,1} для i=1,…,n и zn…z1− это произведение двоичных чисел xn…x1 и yn…y1}. \begin{aligned} \left\{ \llbracket \left[\begin{smallmatrix} x_{1} \\ y_{1} \\ z_{1} \end{smallmatrix}\right]\right. & \ldots \left[\begin{smallmatrix} x_{n} \\ y_{n} \\ z_{n} \end{smallmatrix}\right]: x_{i}, y_{i}, z_{i} \in \left\{ 0,1\right\} \text{ для } i=1, \ldots , n \text{ и } z_{n} \ldots z_{1}- \\ & \text{ это произведение двоичных чисел } \left.x_{n} \ldots x_{1} \text{ и } y_{n} \ldots y_{1}\right\} . \end{aligned}
?
Задача 523

Пусть ff — это некоторая mm-местная функция на множестве натуральных чисел. Предположим, что существует конечный автомат, который проверяет корректность ff по аналогии с задачами 445 на стр. 132 и 522 на предыдущей странице. Это означает, что на вход этому автомату подаются (m+1)(m+1)-этажные символы, на верхних этажах записаны в двоичном виде аргументы, на нижнем — предполагаемый результат. Доказать, что тогда существует константа kk, для которой имеет место оценка f(x1,…,xm)⩽kmax⁡{x1,…,xm}f\left(x_{1}, \ldots , x_{m}\right) \leqslant k \max \left\{ x_{1}, \ldots , x_{m}\right\} для произвольных натуральных чисел x1,…,xmx_{1}, \ldots , x_{m}.

?
Задача 524

Пусть ff — некоторая одноместная функция на натуральных числах, которая монотонно не убывает. Предположим, что существует конечный автомат, который проверяет корректность ff по аналогии с задачей 523. Доказать что либо функция ff ограничена, либо существует константа k>0k>0, для которой выполнена оценка f(x)⩾kxf(x) \geqslant k x для любого xx.

?
Задача 525

Доказать, что условие монотонного неубывания функции ff в задаче 524 является существенным. Если его исключить, то утверждение может быть неверным.

?
Задача 526

Доказать, что следующий язык в алфавите Σ={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\} .
?
Задача 527

Используя лемму о разрастании, установить, какие из следующих языков в алфавите {a,b}\left\{ a, b\right\} не являются автоматными.

?
(а)

L1={a2bna2:n>0}L_{1}=\left\{ a^{2} b^{n} a^{2}: n>0\right\};

(б)

L2={vv:v=a2bna2,n>0}L_{2}=\left\{ v v: v=a^{2} b^{n} a^{2}, n>0\right\};

(в)

L3={v′v′′:v′=a2bna2,v′′=b2amb2 для некоторых n,m>0}L_{3}=\left\{ v^{\prime } v^{\prime \prime }: v^{\prime }=a^{2} b^{n} a^{2}, v^{\prime \prime }=b^{2} a^{m} b^{2} \text{ для некоторых } n, m>0\right\};

(г)

L4={(ab)i(ab)i:i>0}L_{4}=\left\{ (a b)^{i}(a b)^{i}: i>0\right\};

(д)

L5={(ab)iba(ab)i:i>0}L_{5}=\left\{ (a b)^{i} b a(a b)^{i}: i>0\right\};

(е)

L6={a⌊n⌋:n∈ω}L_{6}=\left\{ a\lfloor \sqrt{n}\rfloor : n \in \omega \right\};

(ж)

L7={a⌊n∣sin⁡(n2+n)∣⌋:n∈R,n⩾0}L_{7}=\left\{ a^{\left\lfloor n\left|\sin \left(n^{2}+n\right)\right|\right\rfloor }: n \in \mathbb {R}, n \geqslant 0\right\};

(з)

L8={an2+n:n∈ω}L_{8}=\left\{ a^{n^{2}+n}: n \in \omega \right\}.

Задача 528

Пусть CC — схема кодирования из алфавита Σ\Sigma в себя. Привести пример, показывающий, что следующий язык может не быть автоматным:

L={x∈Σ∗:x∈C[x]} L=\left\{ x \in \Sigma ^{*}: x \in C[x]\right\}

то есть LL — множество слов, которые при кодировании могут переходить в себя же.

?
Задача 529

Операция коммутативного замыкания COMM заключается в произвольной перестановке букв слов языка:

COMM⁡(L)={af(1)af(2)…af(n):f — перестановка множества {1,2,…,n} и существует a1a2…an∈L} \operatorname {COMM}(L) =\left\{ a_{f(1)} a_{f(2)} \ldots a_{f(n)}: f \text{ — перестановка множества } \left\{ 1,2, \ldots , n\right\} \text{ и существует } a_{1} a_{2} \ldots a_{n} \in L\right\}

Верно ли такое утверждение: если язык LL автоматный, то и язык COMM⁡(L)\operatorname {COMM}(L) тоже автоматный?

?
Задача 530

Доказать, что для односимвольного алфавита лемма о разрастании является не только необходимым, но и достаточным признаком автоматного языка: если указанная в лемме константа nn для языка LL существует, то язык LL автоматный. Указание. Рассмотреть слова короче nn и все остальные, последние разбить на классы в соответствием с остатком от деления длины слова на n!n!.

?
Задача 531

Пусть C:Σ∗→Ω∗C: \Sigma^{*} \rightarrow \Omega^{*} — гомоморфизм языков. Доказать, что проверка корректности φ\varphi при помощи конечного автомата (по аналогии с задачами 523 и 524 на предшествующей странице) возможна тогда и только тогда, когда имеет место один из двух следующих случаев:

?
(а)

∣C(a)∣=1\left|C(a)\right|=1 для всех a∈Σa \in \Sigma;

(б)

∣C(a)∣=0\left|C(a)\right|=0 для всех a∈Σa \in \Sigma.

При проверке условия C(u)=vC(u)=v мы считаем, что более короткое слово дополняется справа специальным символом Λ\Lambda. Например, для проверки C(ab)=aacbC(a b)=a a c b на вход автомату подаётся слово

⟦aa⟧⟦ba⟧⟦Λc⟧⟦Λb⟧ \llbracket \begin{array}{c} a \\ a \end{array} \rrbracket \llbracket \begin{array}{c} b \\ a \end{array} \rrbracket \llbracket \begin{array}{c} \Lambda \\ c \end{array} \rrbracket \llbracket \begin{array}{c} \Lambda \\ b \end{array} \rrbracket
Задача 532

Доказать, что для любого натурального числа nn существует язык LnL_{n}, который может быть распознан (не)детерминированным конечным автоматом с n+1n+1 состоянием, но не может быть распознан никаким автоматом с nn состояниями.

?
Задача 533

Пусть kk — мощность алфавита. Доказать, что для любого натурального числа nn недетерминированный конечный автомат с nn состояниями не может распознавать никакой конечный язык, содержащий больше чем

?
(а)

nn слов при k=1k=1;

(б)

kn−1k−1\frac{k^{n}-1}{k-1} слов при k>1k>1.

Задача 534

Доказать аналог леммы о разрастании для конечных преобразователей. Пусть f:Σ∗→Ω∗f: \Sigma^{*} \rightarrow \Omega^{*} — функция, вычисляемая некоторым конечным преобразователем M\mathfrak {M}. Тогда существуют константы nn и mm такие, что для любого слова w∈Σ∗w \in \Sigma^{*} и любого его фрагмента uu длины nn или более: w=αuβ,∣u∣⩾nw=\alpha u \beta ,\left|u\right| \geqslant n, выполнено следующее. Существует разбиение u=xyz,1⩽∣y∣⩽nu=x y z, 1 \leqslant \left|y\right| \leqslant n, и разбиение f(w)=XYZ∈Ω∗f(w)=X Y Z \in \Omega^{*} такие, что f(αxyizβ)=XYiZf\left(\alpha x y^{i} z \beta \right)=X Y^{i} Z для всех натуральных i,∣X∣⩽m∣αx∣i,\left|X\right| \leqslant m\left|\alpha x\right|, ∣Y∣⩽m∣y∣\left|Y\right| \leqslant m\left|y\right| и ∣Z∣⩽m∣zβ∣\left|Z\right| \leqslant m\left|z \beta \right|.

?
Задача 535

Пользуясь задачей 534, показать, что не существует конечных преобразователей, которые выполняли бы перевод числа из унарной записи в двоичную и наоборот (см. раздел 24).

?
Задача 536

Пользуясь задачей 534, показать, что не существует конечных преобразователей, которые выполняли бы «переворачивание» слова в алфавите {a,b}\left\{ a, b\right\}.

?
Задача 537

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

?