Упражнение 2.1.25 |
Алгоритмически неразрешимые проблемы
16.4. Проблема автоматности
Лемма 16.4.1. Пусть ,
, где
,
и
для всех i. Тогда язык
является автоматным
в том и только том случае,
когда постовская система соответствия
не имеет решений.
Доказательство
Пусть -
решение постовской системы соответствия
,
где
для всех i.
Положим
![\begin{align*}
u &\bydef b a^{i_k} b a^{i_{k-1}} \ldots b a^{i_1} ,\\
v &\bydef x_{i_1} \ldots x_{i_k} ,\\
L_0 &\bydef \{ u \}^* \cdot \{ c \} \cdot \{ v \}^* .
\end{align*}](/sites/default/files/tex_cache/e7884d88834f2cd01f85ac4b3a70b257.png)
![u \neq \varepsilon](/sites/default/files/tex_cache/68683a07a73a8d905cc004bb17ddf921.png)
![v \neq \varepsilon](/sites/default/files/tex_cache/ab5eb955d0e3c8910e63dc8161adbb48.png)
![\pcpl{\vec x} \cap \pcpl{\vec y} \cap L_0 = \{ u^m c v^m \mid m > 0 \} .](/sites/default/files/tex_cache/5fdaa3b892f2cbc56eedcb4541665d03.png)
![\pcpl{\vec x} \cap \pcpl{\vec y} \cap L_0](/sites/default/files/tex_cache/1de894626bde86c8e13c395265d09c3d.png)
![\pcpl{\vec x} \cap \pcpl{\vec y}](/sites/default/files/tex_cache/c2acc455a8eb827548024edab800d649.png)
![\pcpm{\vec x , \vec y}](/sites/default/files/tex_cache/cd204ac60a148fa64d1729b2fd931e6f.png)
Обратно, если
постовская система соответствия
не имеет решений, то
,
а этот язык является автоматным.
Теорема 16.4.2. Пусть . Тогда не существует алгоритма, позволяющего по произвольной
контекстно-свободной грамматике G над алфавитом
узнать, является ли автоматным язык L(G).
Доказательство
Докажем утверждение теоремы для случая .
Из леммы 16.4.1 следует, что
если бы проблема распознавания автоматности
языка L(G)
для контекстно-свободных грамматик
над алфавитом
была разрешима, то также была бы разрешима
проблема соответствий Поста для
постовских систем соответствия
,
где
,
и
для всех i.
Но тогда была бы разрешима проблема соответствий Поста для всех
постовских систем соответствия над алфавитом {a,b}
(если
для некоторого i,
то рассматриваемая
постовская система соответствия имеет решение,
а именно (i) ).
Упражнение 16.4.3. Является ли автоматным язык, порождаемый грамматикой
![\begin{align*}
S \; & {\to} \; R T , \\
R \; & {\to} \; T R , \\
R \; & {\to} \; a , \\
T \; & {\to} \; T R , \\
T \; & {\to} \; b ?
\end{align*}](/sites/default/files/tex_cache/927801312a8af4f86a5b830e7497d444.png)
Упражнение 16.4.4. Является ли автоматным язык, порождаемый грамматикой
![\begin{align*}
R \; & {\to} \; T R , \\
R \; & {\to} \; a , \\
T \; & {\to} \; R , \\
T \; & {\to} \; b R ?
\end{align*}](/sites/default/files/tex_cache/8eb999ed49228d0340beae0682d99798.png)
Упражнение 16.4.5. Является ли автоматным язык, порождаемый грамматикой
![\begin{align*}
R \; & {\to} \; T R , \\
R \; & {\to} \; a , \\
T \; & {\to} \; R T , \\
T \; & {\to} \; b ?
\end{align*}](/sites/default/files/tex_cache/3e4cd36d3e7735df7272d6d781b4d9db.png)
Упражнение 16.4.6. Является ли автоматным язык, порождаемый грамматикой
![\begin{align*}
S \; & {\to} \; R T , \\
R \; & {\to} \; T R , \\
R \; & {\to} \; a , \\
T \; & {\to} \; R T , \\
T \; & {\to} \; b ?
\end{align*}](/sites/default/files/tex_cache/9eae90ec375bd074a9ef25796c1c3814.png)
16.5. Проблемы контекстной свободности
Определение 16.5.1.
Пусть ,
,
,
где
и
для всех i.
Обозначим через
язык
.
Лемма 16.5.2.
Язык
является контекстно-свободным
при любых
и
.
Доказательство Утверждение следует из теорем 9.4.4 и 9.4.2.
Лемма 16.5.3. Рассмотрим алфавит . Пусть
и
, где
,
и
для всех i. Тогда язык
является контекстно-свободным
в том и только том случае,
когда
постовская система соответствия
не имеет решений.
Доказательство.
Пусть -
решение постовской системы соответствия
,
где
для всех i.
Положим
![\begin{align*}
u &\bydef b a^{i_k} b a^{i_{k-1}} \ldots b a^{i_1} ,\\
v &\bydef x_{i_1} \ldots x_{i_k} ,\\
L_0 &\bydef \{ u \}^* \cdot \{ c \} \cdot \{ v \}^* \cdot \{ c \} \cdot
\{ v \reverse \}^* \cdot \{ c \} \cdot \{ u \reverse \}^* .
\end{align*}](/sites/default/files/tex_cache/0a3390a045c6a85209036631662cd805.png)
![u \neq \varepsilon](/sites/default/files/tex_cache/68683a07a73a8d905cc004bb17ddf921.png)
![v \neq \varepsilon](/sites/default/files/tex_cache/ab5eb955d0e3c8910e63dc8161adbb48.png)
![\pcpk{\vec x , \vec y} \cap \{ z c z \reverse \mid z \in \Sigma_3 ^* \}
\cap L_0 =
\{ u^m c v^m c ( v \reverse )^m c ( u \reverse)^m \mid m > 0 \} .](/sites/default/files/tex_cache/d6173d073100005bac8711b6ce8651f1.png)
![\{ u^m c v^m c ( v \reverse )^m c ( u \reverse)^m \mid m > 0 \}](/sites/default/files/tex_cache/32f79e19cdbcde1d4fa96fd499eb5833.png)
![\pcpk{\vec x , \vec y} \cap \{ z c z \reverse \mid z \in \Sigma_3 ^* \}](/sites/default/files/tex_cache/994664f4c6cb3a44e5d3456b067771b1.png)
Обратно, если
постовская система соответствия
не имеет решений,
то
.
Теорема 16.5.4. Пусть . Тогда не существует алгоритма, позволяющего по произвольным
контекстно-свободным грамматикам G1 и G2 над алфавитом
узнать, является ли контекстно-свободным язык
.
Доказательство.
Достаточно построить по постовской системе соответствия ,
где
,
и
для всех i
выполняется
,
и
,
контекстно-свободную грамматику G1,
порождающую язык
,
и
контекстно-свободную грамматику G2,
порождающую язык
.
С учетом
леммы 16.5.3
неразрешимость рассматриваемой задачи сводится к неразрешимости
проблемы соответствий Поста рассуждением,
аналогичным приведенному в доказательстве теоремы 16.4.2.
Лемма 16.5.5. Рассмотрим алфавит . Язык
является контекстно-свободным при любых
и
.
Доказательство.
Положим .
Язык
можно представить в виде объединения пяти
контекстно-свободных языков
![\begin{align*}
{}
L_1 &= \{ w \in \Sigma_3 ^* \mid | w |_c \neq 3 \} ,\\
L_2 &= \{ v_1 c v_2 c v_3 c v_4 \mid
v_1 , v_2 , v_3 , v_4 \in \{ a , b \}^* \commaand
v_1 \neq v_4 \reverse \} ,\\
L_3 &= \{ v_1 c v_2 c v_3 c v_4 \mid
v_1 , v_2 , v_3 , v_4 \in \{ a , b \}^* \commaand
v_2 \neq v_3 \reverse \} ,\\
L_4 &= (( \Sigma_3 ^* \sminus \pcpl{\vec x} ) \cap L_0 ) \cdot
\{ c \} \cdot L_0 ,\\
L_5 &= L_0 \cdot \{ c \} \cdot
(( \Sigma_3 ^* \sminus \pcpl{\vec y} ) \reverse \cap L_0 ) .
\end{align*}](/sites/default/files/tex_cache/90409b25b139908777e10b81a6387b0d.png)
Теорема 16.5.6. Пусть . Тогда не существует алгоритма, позволяющего по произвольной
контекстно-свободной грамматике G над алфавитом
узнать, является ли контекстно-свободным язык
.
Доказательство.
Рассмотрим алфавит .
Достаточно построить по постовской системе соответствия
,
где
,
и
для всех i
выполняется
,
и
,
контекстно-свободную грамматику G,
порождающую язык
.
С учетом леммы 16.5.5
неразрешимость рассматриваемой задачи сводится к~неразрешимости
проблемы соответствий Поста рассуждением,
аналогичным приведенному в доказательстве теоремы 16.4.2.
Лемма 16.5.7. Рассмотрим алфавит . Язык
является контекстным при любых
и
.
Теорема 16.5.8. Пусть . Тогда не существует алгоритма, позволяющего по произвольной
контекстной грамматике G над алфавитом
узнать, является ли контекстно-свободным язык L(G).
Доказательство.
Достаточно построить по постовской системе соответствия ,
где
,
и
для всех i
выполняется
,
и
,
контекстную грамматику G,
порождающую язык
.
Упражнение 16.5.9.
Является ли контекстно-свободным язык ,
где язык L
порождается грамматикой
![\begin{align*}
S \; & {\to} \; \varepsilon , \\
S \; & {\to} \; aSbS ?
\end{align*}](/sites/default/files/tex_cache/e07dbf6a61b6fa1a2b9574143e02664a.png)