3.6

Леммы о накачке для контекстно-свободных языков

[26/50%]
Показать
LaTeX
Пример 3.44

Покажите, что {anbncnn0}\left\{ a^{n} b^{n} c^{n} \mid n \geq 0\right\} не является контекстно-свободным языком.

?
Пример 3.45

Покажите, что L={www{0,1}}L=\left\{ w w \mid w \in \left\{ 0,1\right\}^{*}\right\} не является контекстно-свободным языком.

?
Пример 3.46

Покажите, что L={0n1mmn2}L=\left\{ 0^{n} 1^{m} \mid m \leq n^{2}\right\} не является контекстно-свободным языком.

?
Пример 3.47

Покажите, что L={aibjckk=max{i,j}}L=\left\{ a^{i} b^{j} c^{k} \mid k=\max \left\{ i, j\right\} \right\} не является контекстно-свободным языком.

?
Пример 3.49

Покажите, что L={w{a,b,c}#a(w)=#b(w)=#c(w)}L=\left\{ w \in \left\{ a, b, c\right\}^{*} \mid \#_{a}(w)=\#_{b}(w)=\#_{c}(w)\right\} не является контекстно-свободным.

?
Пример 3.50

Покажите, что если множество LL обладает тем свойством, что каждое его подмножество контекстно-свободно, то LL обязательно конечно.

?
Пример 3.52

Покажите, что L={anbnciin}L=\left\{ a^{n} b^{n} c^{i} \mid i \neq n\right\} не является контекстно-свободным.

?
Пример 3.53

Покажите, что L={bi1#bi2##bikk2, каждое bij является двоичным представлением целого числа ij>0, и (i1,i2,,ik) содержит целое число, встречающееся ровно дважды}L=\left\{ b_{i_{1}} \# b_{i_{2}} \# \cdots \# b_{i_{k}} \mid k \geq 2\text{, каждое }b_{i_{j}}\text{ является двоичным представлением целого числа }i_{j}>0\text{, и }\left(i_{1}, i_{2}, \ldots , i_{k}\right)\text{ содержит целое число, встречающееся ровно дважды}\right\} не является контекстно-свободным.

?
Пример 3.54

Покажите, что язык L={aibjcki=j или j=k}L=\left\{ a^{i} b^{j} c^{k} \mid i=j\text{ или }j=k\right\} является существенно неоднозначным.

?
Пример 3.56

Язык LL над одноэлементным алфавитом {0}\left\{ 0\right\} является контекстно-свободным тогда и только тогда, когда он регулярен.

?
Пример 3.57

Покажите, что {0n2n1}\left\{ 0^{n^{2}} \mid n \geq 1\right\} не является пересечением kk контекстно-свободных языков над алфавитом {0,1}\left\{ 0,1\right\} ни для какого kk.

?
Пример 3.58

Покажите, что язык L={ambnnm2}L=\left\{ a^{m} b^{n} \mid n \neq m^{2}\right\} не является контекстно-свободным.

?
Пример 3.59

Покажите, что L={apbqgcd(p,q)=1}L=\left\{ a^{p} b^{q} \mid \operatorname {gcd}(p, q)=1\right\} не является контекстно-свободным.

?
Задача 3.6.1

Докажите следующие варианты леммы о накачке для контекстно-свободных языков:

?
(a)

Для любого контекстно-свободного языка LL существует константа K>0K>0, такая что любую строку ww из LL с w>K\left|w\right|>K можно разложить в вид w=uv1v2xy2y1zw=u v_{1} v_{2} x y_{2} y_{1} z, удовлетворяющий следующим условиям:

(1) v1v2xy2y1K\left|v_{1} v_{2} x y_{2} y_{1}\right| \leq K,

(2) v1y1>0,v2y2>0\left|v_{1} y_{1}\right|>0,\left|v_{2} y_{2}\right|>0, и

(3) для любого n0n \geq 0, uv1nv2nxwy2ny1nzLu v_{1}^{n} v_{2}^{n} x w y_{2}^{n} y_{1}^{n} z \in L.

(b)

Для любого контекстно-свободного языка LL существует константа K>0K>0, такая что любую строку ww из LL с w>K\left|w\right|>K можно разложить в вид w=uvxyzw=u v x y z, удовлетворяющий следующим условиям:

(1) vxyK\left|v x y\right| \leq K,

(2) v>0,y>0\left|v\right|>0,\left|y\right|>0, и

(3) для любого n0n \geq 0, uvnxynzLu v^{n} x y^{n} z \in L.

(c)

Для любого контекстно-свободного языка LL и любого k>0k>0 существует константа K>0K>0, такая что любую строку ww из LL с w>K\left|w\right|>K можно разложить в вид w=uvxyzw=u v x y z, удовлетворяющий следующим условиям:

(1) vyk\left|v y\right| \geq k, и

(2) для любого n0n \geq 0, uvnxynzLu v^{n} x y^{n} z \in L.

(d)

Для любого контекстно-свободного языка LL и любого k>0k>0 существует константа K>0K>0, такая что любую строку ww из LL с w>K\left|w\right|>K можно разложить в вид w=uvxyzw=u v x y z, удовлетворяющий следующим условиям:

(1) vk,yk\left|v\right| \geq k,\left|y\right| \geq k, и

(2) для любого n0n \geq 0, uvnxynzLu v^{n} x y^{n} z \in L.

(e)

Для любого контекстно-свободного языка LL и любого k>0k>0 существует константа K>0K>0, такая что любую строку ww из LL с w>K\left|w\right|>K можно разложить в вид w=uvxyzw=u v x y z, удовлетворяющий следующим условиям:

(1) vxyK\left|v x y\right| \leq K,

(2) vk,yk\left|v\right| \geq k,\left|y\right| \geq k, и

(3) для любого n0n \geq 0, uvnxynzLu v^{n} x y^{n} z \in L.

Задача 3.6.2

Для каждого из следующих языков определите, является ли он контекстно-свободным, и обоснуйте свой ответ.

?
(a)

{aibjcki<j<k}\left\{ a^{i} b^{j} c^{k} \mid i<j<k\right\}.

(b)

{aibjckij,jk,ki}\left\{ a^{i} b^{j} c^{k} \mid i \neq j, j \neq k, k \neq i\right\}.

(c)

{aibjcki<j или k<j}\left\{ a^{i} b^{j} c^{k} \mid i<j\text{ или }k<j\right\}.

(d)

{aibjcki<j и k<j}\left\{ a^{i} b^{j} c^{k} \mid i<j\text{ и }k<j\right\}.

(e)

{aibjcki<jk<j}\left\{ a^{i} b^{j} c^{k} \mid i<j \Rightarrow k<j\right\}.

(f)

{aibjcki<jk<j}\left\{ a^{i} b^{j} c^{k} \mid i<j \Leftrightarrow k<j\right\}.

(g)

{aibicjdji,j0}\left\{ a^{i} b^{i} c^{j} d^{j} \mid i, j \geq 0\right\}.

(h)

{aibjcidji,j0}\left\{ a^{i} b^{j} c^{i} d^{j} \mid i, j \geq 0\right\}.

(i)

{aibjcjdii,j0}\left\{ a^{i} b^{j} c^{j} d^{i} \mid i, j \geq 0\right\}.

Задача 3.6.3

Далее каждую двоичную строку из A=1(0+1)+0A=1(0+1)^{*}+0 будем рассматривать как двоичное представление натурального числа. Для каждого из следующих языков определите, является ли он контекстно-свободным, и обоснуйте свой ответ.

?
(a)

{x#yx,yA,x=y+3}\left\{ x \# y \mid x, y \in A, x=y+3\right\}.

(b)

{x#yRx,yA,x=y+3}\left\{ x \# y^{R} \mid x, y \in A, x=y+3\right\}.

(c)

{x#yx,yA,x=3y}\left\{ x \# y \mid x, y \in A, x=3 y\right\}. [Указание: рассмотрите строку y=1K0Ky=1^{K} 0^{K}, где KK — константа из леммы о накачке.]

(d)

{x#yRx,yA,x=3y}\left\{ x \# y^{R} \mid x, y \in A, x=3 y\right\}.

(e)

{x#y#zx,y,zA,x=y+z}\left\{ x \# y \# z \mid x, y, z \in A, x=y+z\right\}. [Указание: используя свойство замкнутости, сведите эту задачу к пункту (a) выше.]

(f)

{x#yR#zRx,y,zA,x=y+z}\left\{ x \# y^{R} \# z^{R} \mid x, y, z \in A, x=y+z\right\}.

(g)

{x#y#zx,y,zA,x=yz}\left\{ x \# y \# z \mid x, y, z \in A, x=y \cdot z\right\}.

(h)

{x#yR#zRx,y,zA,x=yz}\left\{ x \# y^{R} \# z^{R} \mid x, y, z \in A, x=y \cdot z\right\}.

Задача 3.6.4

Для каждого из следующих языков определите, является ли он контекстно-свободным, и обоснуйте свой ответ.

?
(a)

{xyzxz=y для некоторых x,y,z{0,1}}\left\{ x y z \mid x z=y\text{ для некоторых }x, y, z \in \left\{ 0,1\right\}^{*}\right\}. [Указание: рассмотрите пересечение этого языка с регулярным языком 10100+11+10100+11+10100^{+} 11^{+} 10100^{+} 11^{+}. Заметьте, что тогда yy обязано начинаться с 101.]

(b)

{xyzxz=yR для некоторых x,y,z{0,1}}\left\{ x y z \mid x z=y^{R}\text{ для некоторых }x, y, z \in \left\{ 0,1\right\}^{*}\right\}.

(c)

{xyzxz=yx для некоторых x,y,z{0,1}}\left\{ x y z \mid x z=y x\text{ для некоторых }x, y, z \in \left\{ 0,1\right\}^{*}\right\}.

(d)

{xxRwwRx,w{0,1}}\left\{ x x^{R} w w^{R} \mid x, w \in \left\{ 0,1\right\}^{*}\right\}.

(e)

{xwxRwRx,w{0,1}}\left\{ x w x^{R} w^{R} \mid x, w \in \left\{ 0,1\right\}^{*}\right\}.

(f)

{xwwRxRx,w{0,1}}\left\{ x w w^{R} x^{R} \mid x, w \in \left\{ 0,1\right\}^{*}\right\}.

Задача 3.6.5

Напомним, что #a(x)\#_{a}(x) обозначает число вхождений буквы aa в строку xx. Для каждого из следующих языков определите, является ли он контекстно-свободным, и обоснуйте свой ответ.

?
(a)

{x{a,b}#a(x)<#b(x)<2#a(x)}\left\{ x \in \left\{ a, b\right\}^{*} \mid \#_{a}(x)<\#_{b}(x)<2 \#_{a}(x)\right\}.

(b)

{x{a,b}#a(x)#b(x),#a(x)2#b(x)}\left\{ x \in \left\{ a, b\right\}^{*} \mid \#_{a}(x) \neq \#_{b}(x), \#_{a}(x) \neq 2 \#_{b}(x)\right\}.

(c)

{x{a,b}#a(x)#b(x) или #a(x)2#b(x)}\left\{ x \in \left\{ a, b\right\}^{*} \mid \#_{a}(x) \leq \#_{b}(x)\text{ или }\#_{a}(x) \geq 2 \#_{b}(x)\right\}.

(d)

{x{a,b}#a(x)=2#b(x)}\left\{ x \in \left\{ a, b\right\}^{*} \mid \#_{a}(x)=2^{\#_{b}(x)}\right\}.

(e)

{x{a,b}#a(x)2#b(x)}\left\{ x \in \left\{ a, b\right\}^{*} \mid \#_{a}(x) \geq 2^{\#_{b}(x)}\right\}.

(f)

{x{a,b,c}#a(x)#b(x)=#c(x)}\left\{ x \in \left\{ a, b, c\right\}^{*} \mid \#_{a}(x) \cdot \#_{b}(x)=\#_{c}(x)\right\}.

Задача 3.6.6

Покажите, что язык {aibjckd[i=j,k=] или [i=,j=k]}\left\{ a^{i} b^{j} c^{k} d^{\ell } \mid [i=j, k=\ell ]\text{ или }[i=\ell , j=k]\right\} является существенно неоднозначным.

?
Задача 3.6.7

Используя лемму Парикха, покажите, что следующие языки не являются контекстно-свободными:

?
(a)

{ambnn2m}\left\{ a^{m} b^{n} \mid n \neq 2^{m}\right\}.

(b)

{ambncqqmn}\left\{ a^{m} b^{n} c^{q} \mid q \neq m n\right\}. [Указание: используйте подход примера 3.58. Сначала докажите, что в одном из порождающих множеств Γi\Gamma_{i} обязательно найдётся тройка (0,0,r)(0,0, r).]

(c)

{ambncqq2m3 или q2n3}\left\{ a^{m} b^{n} c^{q} \mid q^{2} \neq m^{3}\text{ или }q^{2} \neq n^{3}\right\}.

Задача 3.6.8

Пусть (x)r(x)_{r} обозначает строку, полученную из двоичной строки xx заменой 0 на 1 и 1 на 0. Для каждого из следующих языков определите, является ли он контекстно-свободным, и обоснуйте свой ответ.

?
(a)

{x(x)rx{0,1}}\left\{ x(x)_{r} \mid x \in \left\{ 0,1\right\}^{*}\right\}.

(b)

{w{0,1}wx(x)r ни для какого x{0,1}}\left\{ w \in \left\{ 0,1\right\}^{*} \mid w \neq x(x)_{r}\text{ ни для какого }x \in \left\{ 0,1\right\}^{*}\right\}.

(c)

{x(x)rRx{0,1}}\left\{ x(x)_{r}^{R} \mid x \in \left\{ 0,1\right\}^{*}\right\}.

(d)

{w{0,1}wx(x)rR ни для какого x{0,1}}\left\{ w \in \left\{ 0,1\right\}^{*} \mid w \neq x(x)_{r}^{R}\text{ ни для какого }x \in \left\{ 0,1\right\}^{*}\right\}.

Задача 3.6.9
?
(a)

Вспомните операцию над языками \oplus, определённую в упражнении 2 раздела 2.6. Покажите, что контекстно-свободные языки не замкнуты относительно операции \oplus.

(b)

Покажите, что контекстно-свободные языки не замкнуты относительно операции MIN (L)={xLx не имеет собственного префикса в L}(L)=\left\{ x \in L \mid x\text{ не имеет собственного префикса в }L\right\}.

(c)

Рассмотрите операцию REV(L)={xyRzxyzL}\operatorname {REV}(L)=\left\{ x y^{R} z \mid x y z \in L\right\} и язык L={0m1n0n1mm,n0}L=\left\{ 0^{m} 1^{n} 0^{n} 1^{m} \mid m, n \geq 0\right\}. Покажите, что LL — контекстно-свободный язык, а REV(L)\operatorname {REV}(L) — нет.

(d)

Найдите контекстно-свободный язык LL, такой что L12={x(y)x=y и xyL}L_{\frac{1}{2}}=\left\{ x \mid (\exists y)\left|x\right|=\left|y\right|\text{ и }x y \in L\right\} не является контекстно-свободным.

Задача 3.6.10

Пусть LL — контекстно-свободный язык. Докажите или опровергните следующие утверждения:

?
(a)

Если L1L_{1} регулярен, то L1\LL_{1} \backslash L контекстно-свободен.

(b)

{xxxRL}\left\{ x \mid x x^{R} \in L\right\} контекстно-свободен.

(c)

{xxRxL или xRL}\left\{ x x^{R} \mid x \in L\text{ или }x^{R} \in L\right\} контекстно-свободен.

(d)

{xxRxL и xRL}\left\{ x x^{R} \mid x \in L\text{ и }x^{R} \in L\right\} контекстно-свободен.

(e)

{xxRxL или xRL}\left\{ x x^{R} \mid x \in L\text{ или }x^{R} \notin L\right\} контекстно-свободен.

(f)

{xxRxL и xRL}\left\{ x x^{R} \mid x \in L\text{ и }x^{R} \notin L\right\} контекстно-свободен.

Задача 3.6.11

Покажите, что множество всех строк над алфавитом

{[000],[100],[010],[001],[110],[101],[011],[111]} \left\{ \left[\begin{smallmatrix} 0 \\ 0 \\ 0 \end{smallmatrix}\right],\left[\begin{smallmatrix} 1 \\ 0 \\ 0 \end{smallmatrix}\right],\left[\begin{smallmatrix} 0 \\ 1 \\ 0 \end{smallmatrix}\right],\left[\begin{smallmatrix} 0 \\ 0 \\ 1 \end{smallmatrix}\right],\left[\begin{smallmatrix} 1 \\ 1 \\ 0 \end{smallmatrix}\right],\left[\begin{smallmatrix} 1 \\ 0 \\ 1 \end{smallmatrix}\right],\left[\begin{smallmatrix} 0 \\ 1 \\ 1 \end{smallmatrix}\right],\left[\begin{smallmatrix} 1 \\ 1 \\ 1 \end{smallmatrix}\right]\right\}

представляющих корректное умножение, не является контекстно-свободным (ср. пример 2.65).

?
Задача 3.6.12

Контекстно-свободная грамматика GG называется линейной грамматикой, если правая часть каждого правила GG содержит не более одного нетерминального символа. Язык LL называется линейным языком, если L=L(G)L=L(G) для некоторой линейной грамматики GG. Покажите, что для любого линейного языка LL существует константа K>0K>0, такая что любую строку ww из LL длины wK\left|w\right| \geq K можно разложить в вид w=uvxyzw=u v x y z, удовлетворяющий следующим условиям:

(1) vyεv y \neq \varepsilon.

(2) uvyzK\left|u v y z\right| \leq K.

(3) uvnxynzLu v^{n} x y^{n} z \in L для всех n0n \geq 0.

?
Задача 3.6.13

Покажите, что следующие языки не являются линейными.

?
(a)

{w{0,1}#0(w)=#1(w)}\left\{ w \in \left\{ 0,1\right\}^{*} \mid \#_{0}(w)=\#_{1}(w)\right\}.

(b)

{xy{0,1}x=y,xy}\left\{ x y \in \left\{ 0,1\right\}^{*} \mid \left|x\right|=\left|y\right|, x \neq y\right\}.

(c)

{xxRwwRx,w{0,1}}\left\{ x x^{R} w w^{R} \mid x, w \in \left\{ 0,1\right\}^{*}\right\}.