3.5

Автоматы с магазинной памятью и контекстно-свободные грамматики

[13/46%]
Показать
LaTeX
Пример 3.36

Рассмотрим контекстно-свободную грамматику G=({S},{a,b},R,S)G=(\left\{ S\right\} , \left\{ a, b\right\} , R, S) с правилами

SaSaSbSε. S \longrightarrow a S \mid a S b S \mid \varepsilon .

Постройте автомат с магазинной памятью MM, такой что L(M)=L(G)L(M)=L(G).

?
Пример 3.38

Постройте контекстно-свободную грамматику GG, такую что L(G)=L(M)L(G)= L(M), где MM — автомат с магазинной памятью из примера 3.29.

?
Пример 3.39

Покажите, что если AA — регулярный язык, а BB — контекстно-свободный язык, то ABA \cap B — контекстно-свободный язык.

?
Пример 3.40

Покажите, что L={0,1}{(0m1m)nm,n1}L= \left\{ 0,1\right\}^{*}-\left\{ \left(0^{m} 1^{m}\right)^{n} \mid m, n \geq 1\right\} — контекстно-свободный язык.

?
Пример 3.41

Покажите, что если L1L_{1} — контекстно-свободный язык, а L2L_{2} — регулярный язык, то частное L1/L2L_{1} / L_{2} является контекстно-свободным языком.

?
Пример 3.42

Покажите, что если LL регулярен, то

L~={xz(y)[x=y=z,xyzL]} \widetilde{L}=\left\{ x z \mid (\exists y)[\left|x\right|=\left|y\right|=\left|z\right|, x y z \in L]\right\}

контекстно-свободен.

?
Задача 3.5.1

Для каждой из следующих контекстно-свободных грамматик GG, следуя процедуре из теоремы 3.35, постройте автомат с магазинной памятью, допускающий язык L(G)L(G):

?
(a)

SεaSbSbSaSS \rightarrow \varepsilon \mid a S b S \mid b S a S.

(b)

SεSSaSbS \longrightarrow \varepsilon \mid S S \mid a S b.

(c)

Грамматика из решения 2 примера 3.6.

(d)

Однозначная грамматика из примера 3.24(b).

Задача 3.5.2

Для каждого из следующих автоматов с магазинной памятью MM, следуя процедуре из теоремы 3.37, постройте контекстно-свободную грамматику, порождающую язык L(M)L(M):

?
(a)

Автомат из примера 3.30.

(b)

Автомат с рисунка 3.14(a) (для языка {aibj2i=3j}\left\{ a^{i} b^{j} \mid 2 i=3 j\right\}).

Задача 3.5.3

Постройте автоматы с магазинной памятью, допускающие следующие языки:

?
(a)

{0n1mmn,m2n,m3n}\left\{ 0^{n} 1^{m} \mid m \neq n, m \neq 2 n, m \neq 3 n\right\}.

(b)

{aibjckij или jk или ik}\left\{ a^{i} b^{j} c^{k} \mid i \neq j\text{ или }j \neq k\text{ или }i \neq k\right\}.

(c)

{0,1}{(0n1)nn1}\left\{ 0,1\right\}^{*}-\left\{ \left(0^{n} 1\right)^{n} \mid n \geq 1\right\}.

(d)

{0,1}{bi#bi+1bi является двоичным представлением i,i1}\left\{ 0,1\right\}^{*}-\left\{ b_{i} \# b_{i+1} \mid b_{i}\text{ является двоичным представлением }i, i \geq 1\right\}.

Задача 3.5.4

Покажите, что если LL — регулярный язык, то каждый из следующих языков контекстно-свободен:

?
(a)

{xLx=xR}\left\{ x \in L \mid x=x^{R}\right\}.

(b)

{wy(x,z)[w=x=y=z,wxyzL]}\left\{ w y \mid (\exists x, z)\left[\left|w\right|=\left|x\right|=\left|y\right|=\left|z\right|, w x y z \in L\right]\right\}.

(c)

{yx(w,z)[w=x=y=z,wxyzL]}\left\{ y x \mid (\exists w, z)\left[\left|w\right|=\left|x\right|=\left|y\right|=\left|z\right|, w x y z \in L\right]\right\}.

(d)

{xzw=x=y=z,wxyzL}\left\{ x z \mid \left|w\right|=\left|x\right|=\left|y\right|=\left|z\right|, w x y z \in L\right\}.

Задача 3.5.5

Покажите, что L1\L2L_{1} \backslash L_{2} — контекстно-свободный язык, если L1L_{1} контекстно-свободен, а L2L_{2} регулярен.

?
Задача 3.5.6

Автомат с двумя магазинными памятями (2-стековый автомат) — это автомат с магазинной памятью, имеющий два стека. На каждом шаге MM может, помимо входного символа, читать верхние символы обоих стеков и записывать символы в оба стека. Формально, 2-стековый автомат — это шестёрка M=(Q,Σ,Γ,δ,s,F)M=(Q, \Sigma , \Gamma , \delta , s, F), где Q,Σ,Γ,s,FQ, \Sigma , \Gamma , s, F имеют тот же смысл, что и для обычного автомата с магазинной памятью, а δ\delta — функция переходов

δ:Q×(Σ{ε})×(Γ{ε})22Q×(Γ{ε})2 \delta : Q \times (\Sigma \cup \left\{ \varepsilon \right\} ) \times (\Gamma \cup \left\{ \varepsilon \right\} )^{2} \rightarrow 2^{Q \times (\Gamma \cup \left\{ \varepsilon \right\} )^{2}}

Пусть aΣ{ε}a \in \Sigma \cup \left\{ \varepsilon \right\}, и u1,u2,v1,v2Γ{ε}u_{1}, u_{2}, v_{1}, v_{2} \in \Gamma \cup \left\{ \varepsilon \right\}. Тогда инструкция (p,v1,v2)δ(q,a,u1,u2)\left(p, v_{1}, v_{2}\right) \in \delta \left(q, a, u_{1}, u_{2}\right) означает, что автомат MM читает входной символ aa, верхний символ u1u_{1} стека 1, верхний символ u2u_{2} стека 2, а затем переходит в состояние pp, заменяет u1u_{1} на v1v_{1} и заменяет u2u_{2} на v2v_{2}.

?
(a)

Дайте формальное определение понятий конфигурации и следующей конфигурации 2-стекового автомата.

(b)

Постройте 2-стековый автомат, допускающий язык {anbncnn0}\left\{ a^{n} b^{n} c^{n} \mid n \geq 0\right\}.

(c)

Постройте 2-стековый автомат, допускающий язык {anbmcndmnm}\left\{ a^{n} b^{m} c^{n} d^{m} \mid n \geq m\right\}.

Задача 3.5.7

Автомат с магазинной памятью MM называется линейно ограниченным автоматом, если существует константа c>0c>0, такая что размер стека автомата MM в ходе вычисления на любом входе xx ограничен величиной cxc\left|x\right|. Покажите, что класс языков, допускаемых линейно ограниченными автоматами с магазинной памятью, в точности совпадает с классом контекстно-свободных языков.

?