Упражнение 2.1.25 |
Основные свойства автоматных языков
3.2. Пересечение и дополнение автоматных языков
Теорема 3.2.1. Класс автоматных языков замкнут относительно дополнения и пересечения.
Доказательство.
Если язык L
распознается полным детерминированным конечным автоматом ,
то язык
распознается конечным автоматом
.
Пересечение выражается через объединение и дополнение (закон де Моргана).
Замечание 3.2.2. Автоматность пересечения двух автоматных языков можно легко доказать и без привлечения теоремы 2.7.1. Для этого достаточно построить по двум конечным автоматам с однобуквенными переходами
![M_1 = \langle Q_1 , \Sigma , \Delta_1 , I_1 , F_1 \rangle ,\quad
M_2 = \langle Q_2 , \Sigma , \Delta_2 , I_2 , F_2 \rangle](/sites/default/files/tex_cache/1d864137d54456849b6be1fa27546053.png)
![M = \langle Q_1 \times Q_2 , \Sigma , \Delta ,
I_1 \times I_2 , F_1 \times F_2 \rangle ,](/sites/default/files/tex_cache/2b6bac288713676244e578412ad6797d.png)
![\Delta = \{
\langle \langle p_1 , p_2 \rangle , a , \langle q_1 , q_2 \rangle \rangle \mid
\langle p_1 , a , q_1 \rangle \in \Delta_1, \;
\langle p_2 , a , q_2 \rangle \in \Delta_2
\} .](/sites/default/files/tex_cache/65c4da60ca06dea6354ebbcd81eb2ec5.png)
Упражнение 3.2.3. Обозначим через L язык, порождаемый грамматикой
![\begin{align*}
S \; & {\to} \; a S , & T \; & {\to} \; a T , \\
S \; & {\to} \; b S , & T \; & {\to} \; b T , \\
S \; & {\to} \; abaa T , & T \; & {\to} \; \varepsilon . \\
S \; & {\to} \; babb T ,
\end{align*}](/sites/default/files/tex_cache/54e17780df75ae5a3cca396f0e1127d6.png)
![\{a,b\}^* - L](/sites/default/files/tex_cache/9cfcda68f7de1d5369d88070fa740e6f.png)
Упражнение 3.2.4. Обозначим через L язык, порождаемый грамматикой
![\begin{align*}
S \; & {\to} \; F , & M \; & {\to} \; a M , & F \; & {\to} \; b F \\
S \; & {\to} \; a a M , & M \; & {\to} \; b M , & F \; & {\to} \; ab F \\
S \; & {\to} \; T , & M \; & {\to} \; \varepsilon , & F \; & {\to} \; ba F \\
& & T \; & {\to} \; a T , & F \; & {\to} \; aba F \\
& & T \; & {\to} \; b T , & F \; & {\to} \; aaa F \\
& & T \; & {\to} \; a a , & F \; & {\to} \; \varepsilon .
\end{align*}](/sites/default/files/tex_cache/4e9ff01394bc6396804924c615796098.png)
![\{a,b\}^* - L](/sites/default/files/tex_cache/9cfcda68f7de1d5369d88070fa740e6f.png)
Упражнение 3.2.5. Обозначим через L язык, порождаемый грамматикой
![\begin{align*}
S \; & {\to} \; a T , & T \; & {\to} \; a T , & C \; & {\to} \; a C , \\
S \; & {\to} \; b C , & T \; & {\to} \; b T , & C \; & {\to} \; b C , \\
& & T \; & {\to} \; b , & C \; & {\to} \; a .
\end{align*}](/sites/default/files/tex_cache/d22d077569ce7ee40990b611171631a8.png)
![\{a,b\}^* - L](/sites/default/files/tex_cache/9cfcda68f7de1d5369d88070fa740e6f.png)
Упражнение 3.2.6.
Существуют ли такие детерминированные конечные автоматы M1 и M2,
что
язык
не порождается ни одним детерминированным конечным автоматом
с количеством состояний n1n2+n1+n2,
где n1 - количество состояний автомата M1
и n2 - количество состояний автомата M2?