Упражнение 2.1.25 |
Опубликован: 09.07.2007 | Уровень: профессионал | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 10:
Основные свойства контекстно-свободных языков
9.3. Свойства замкнутости класса линейных языков
Пример 9.3.1.
Пусть .
Язык
является линейным,
так как он порождается грамматикой
![\begin{align*}
S \; & {\to} \; a S a , \\
S \; & {\to} \; b S b , \\
S \; & {\to} \; c .
\end{align*}](/sites/default/files/tex_cache/1b891e8a6eee361b09912b39ea7bb329.png)
Пример 9.3.2.
Рассмотрим алфавит .
Язык
![\{ a^m b^n c^k \mid 0 \leq m < n \commaand k \geq 0 \}](/sites/default/files/tex_cache/297f01d8299849e83799572b88522939.png)
![\begin{align*}
S \; & {\to} \; S c , & T \; & {\to} \; a T b , \\
S \; & {\to} \; T , & T \; & {\to} \; T b , \\
& & T \; & {\to} \; b .
\end{align*}](/sites/default/files/tex_cache/b789b6a3603275504fdb3932eca02848.png)
Теорема 9.3.3. Если L1 и L2 - линейные языки над алфавитом , то
тоже линейный язык.
Доказательство.
Пусть язык L1
порождается линейной грамматикой
и L2
порождается линейной грамматикой
,
где
.
Тогда
порождается грамматикой
![\lalg N_1 \cup N_2 \cup \{ T \},
\Sigma,
P_1 \cup P_2 \cup \{ T \tto S_1 ,\ T \tto S_2 \} ,
T \ralg ,](/sites/default/files/tex_cache/ce22884448752b0c4cf60a33f3cdad39.png)
![T \notin N_1 \cup N_2 \cup \Sigma](/sites/default/files/tex_cache/8c90046383cc488e76f1164b5dbb78a4.png)
Пример 9.3.4.
Рассмотрим алфавит .
Язык
![L \peq \Sigma ^* \sminus
\{ a^n b^n c^n \mid n \geq 0 \}](/sites/default/files/tex_cache/4d4fa138056b7bcc4bbbdb3391e38227.png)
![L \peq L_1 \cup L_2 \cup ( \Sigma ^* \sminus L_3 ) ,](/sites/default/files/tex_cache/77c96cdbc14c62edf9cfa3b45fcc9a2d.png)
![L_1 \peq \{ a^m b^n c^k \mid m \neq n \commaand k \geq 0 \} ,\quad
L_2 \peq \{ a^m b^n c^k \mid n \neq k \commaand m \geq 0 \}](/sites/default/files/tex_cache/cf5a0667d997dd094647bdae9a904b09.png)
![L_3 \peq \{ a^m b^n c^k \mid m \geq 0 ,\ n \geq 0 \commaand k \geq 0 \}](/sites/default/files/tex_cache/b86353fb02b43c5304a891a16d380768.png)
Упражнение 9.3.5.
Пусть .
Является ли линейным язык
?
Упражнение 9.3.6.
Пусть .
Является ли линейным язык
?
Упражнение 9.3.7. Найти линейную грамматику, порождающую язык ,
где L1
порождается грамматикой
![\begin{align*}
F \; & {\to} \; ba F aaa , \\
F \; & {\to} \; baa F b , \\
F \; & {\to} \; ba c aaa , \\
F \; & {\to} \; baa c b .
\end{align*}](/sites/default/files/tex_cache/9eb9bc06584d9179870c5a1d214679ee.png)