Упражнение 2.1.25 |
Автоматы с магазинной памятью
10.3*. Автоматы с магазинной памятью с однобуквенными переходами
Теорема 10.3.1. Каждый МП-автомат эквивалентен некоторому МП-автомату , где |Q| = 2 и каждый переход
удовлетворяет требованиям |x| = 1,
и
.
Доказательство.
Пусть исходным МП-автоматом распознается
контекстно-свободный
язык .
Согласно теореме 8.4.6
язык
порождается некоторой
контекстно-свободной грамматикой
,
в которой каждое правило имеет вид
,
где
,
,
и
.
Аналогично тому, как было сделано при доказательстве
теоремы 10.2.1,
положим
, Q = {1,2}, I = {1},
![\begin{gathered*}
F =
\begin{cases}
\{ 1 , 2 \}, & \; \text{если}\; \varepsilon \in L ,\\
\{ 2 \}, & \; \text{если}\; \varepsilon \notin L ,
\end{cases}
\\
\Delta =
\{ \langle \langle 2 , a ,\! A \rangle ,\! \langle 2 ,\! \gamma \rangle \rangle
\mid
( A \to a \gamma ) \in P \}
\cup
\{ \langle \langle 1 , a ,\! \varepsilon \rangle ,\!
\langle 2 ,\! \gamma \rangle \rangle
\mid
( S \to a \gamma ) \in P \} .
\end{gathered*}](/sites/default/files/tex_cache/8aaa709d40990154b647a916f3865e7d.png)
Теорема 10.3.2. Каждый МП-автомат эквивалентен некоторому МП-автомату , в котором каждый переход
удовлетворяет требованиям |x| = 1,
и
.
Доказательство.
Пусть исходным МП-автоматом распознается
контекстно-вободный язык .
Согласно теореме 8.4.6
язык
порождается некоторой
контекстно-вободной грамматикой
,
в которой
каждое правило имеет один из следующих трех видов:
,
,
,
где
,
,
,
.
Легко добиться того, чтобы
в правилах грамматики G
вспомогательные символы в правой части
(то есть символы B и C )
были отличны от начального символа S.
Положим ,
где
.
Далее, положим
,
![I = \{ S \} ,\qquad
F =
\begin{cases}
\{ S , \bot \}, &\mathspace\text{если}\mathspace \varepsilon \in L ,\\
\{ \bot \}, &\mathspace\text{если}\mathspace \varepsilon \notin L ,
\end{cases}](/sites/default/files/tex_cache/ae773cec530aee8975271ef58a0b6e5c.png)
![\begin{align*}
\Delta &=
\{ \lp \lp A , a , \varepsilon \rp ,
\lp B , C \rp \rp \mid ( A \tto a B C ) \in P \} \cup {} \\
&\myqquad \cup
\{ \lp \lp A , a , \varepsilon \rp ,
\lp B , \varepsilon \rp \rp \mid ( A \tto a B ) \in P \} \cup {} \\
&\myqquad \cup
\{ \lp \lp A , a , D \rp ,
\lp D , \varepsilon \rp \rp \mid
( A \tto a ) \in P \commaand D \in N \sminus \{ S \} \} \cup {} \\
&\myqquad \cup
\{ \lp \lp A , a , \varepsilon \rp ,
\lp \bot , \varepsilon \rp \rp \mid
( A \tto a ) \in P \} .
\end{align*}](/sites/default/files/tex_cache/976fdf553cc8351810204a7b6a456622.png)
Упражнение 10.3.3. Найти для языка, порождаемого грамматикой
![\begin{align*}
S \; & {\to} \; a T T , \\
S \; & {\to} \; \varepsilon , \\
T \; & {\to} \; b T U , \\
T \; & {\to} \; c , \\
U \; & {\to} \; a T ,
\end{align*}](/sites/default/files/tex_cache/22421c158af45b9e6b28fb84103d1fef.png)
![\lp \lp p , x , \beta \rp ,
\lp q , \gamma \rp \rp \in \Delta](/sites/default/files/tex_cache/f2db6b4bfb4da5ae5fa51e3da40dc429.png)
![| \beta | \leq 1](/sites/default/files/tex_cache/68e9c1c5f5e6a7914461aef2fd35d5c4.png)
![| \gamma | \leq 1](/sites/default/files/tex_cache/98c3d794935816ad164c13a30e0e22c0.png)
Упражнение 10.3.4. Найти для языка, порождаемого грамматикой
![\begin{align*}
S \; & {\to} \; a T U , \\
T \; & {\to} \; a U T , \\
T \; & {\to} \; b , \\
U \; & {\to} \; b T , \\
U \; & {\to} \; a ,
\end{align*}](/sites/default/files/tex_cache/fc701fe3dcef456af6dd2e60abeeb689.png)
![\lp \lp p , x , \beta \rp ,
\lp q , \gamma \rp \rp \in \Delta](/sites/default/files/tex_cache/f2db6b4bfb4da5ae5fa51e3da40dc429.png)
![| x | = 1](/sites/default/files/tex_cache/572d034b5cf26be7a6456013ccaa5a1c.png)
![| \beta | \leq 1](/sites/default/files/tex_cache/68e9c1c5f5e6a7914461aef2fd35d5c4.png)
![| \gamma | \leq 1](/sites/default/files/tex_cache/98c3d794935816ad164c13a30e0e22c0.png)