@@ -805,18 +805,100 @@ \section{Лемма о накачке}
805805\section {Замкнутость регулярных языков относительно теоретико-множественных операций }
806806
807807\begin {theorem }
808- Регулярные языки замкнуты относительно перечисленных ниже операций.
808+ Класс регулярных языков над алфавитом $ \Sigma $ замкнут относительно следующих теоретико-множественных операций:
809809 \begin {enumerate }
810- \item Пересечение
811- \item Дополнение
812- \item Обращение
813- \item Разность
810+ \item Объединение: если $ L_ 1 , L_ 2 $ ~--- регулярные, то $ L_ 1 \cup L_ 2 $ ~--- регулярный;
811+ \item Пересечение: если $ L_ 1 , L_ 2 $ ~--- регулярные, то $ L_ 1 \cap L_ 2 $ ~--- регулярный;
812+ \item Дополнение: если $ L $ ~--- регулярный, то $ \overline {L} $ ~--- регулярный;
813+ \item Разность: если $ L_ 1 , L_ 2 $ ~--- регулярные, то $ L_ 1 \setminus L_ 2 $ ~--- регулярный.
814814 \end {enumerate }
815815\end {theorem }
816816
817- Для пересечения построим автомат.
817+ \begin {proof }
818+ Пусть $ L_1 $ и $ L_2 $ распознаются конечными автоматами над одним алфавитом $ \Sigma $ :
819+ \[
820+ M_1 = \langle Q^1, Q_S^1, Q_F^1, \delta ^1, \Sigma \rangle , \qquad
821+ M_2 = \langle Q^2, Q_S^2, Q_F^2, \delta ^2, \Sigma \rangle .
822+ \]
823+
824+
825+ \paragraph {1. Объединение. }
826+ Построим недетерминированный автомат с $ \varepsilon $ -переходами,
827+ вводя новое начальное состояние $ q_0 $ , из которого по $ \varepsilon $ можно попасть
828+ в начальные состояния обоих автоматов:
829+ \[
830+ M = \langle Q^1 \cup Q^2 \cup \{ q_0\} ,\; \{ q_0\} ,\; Q_F^1 \cup Q_F^2,\; \delta ,\; \Sigma \rangle ,
831+ \]
832+ где $ \delta $ совпадает с $ \delta ^1 $ и $ \delta ^2 $ на соответствующих состояниях, а дополнительно
833+ \[
834+ \delta (q_0, \varepsilon ) = Q_S^1 \cup Q_S^2.
835+ \]
836+ Тогда $ L(M) = L_1 \cup L_2 $ .
818837
819- Идея доказательства, что мы построили именно пересечение.
838+ \paragraph {2. Пересечение. }
839+ Пусть автоматы детерминированы. Построим автомат произведения:
840+ \[
841+ M_3 = \langle Q^1 \times Q^2,\; Q_S^1 \times Q_S^2,\; Q_F^1 \times Q_F^2,\; \delta ^3,\; \Sigma \rangle ,
842+ \]
843+ где переходы определяются как:
844+ \[
845+ \delta ^3\big ((q^1, q^2), t\big ) = \big (\delta ^1(q^1, t),\; \delta ^2(q^2, t)\big ).
846+ \]
847+ Тогда
848+ \[
849+ w \in L(M_3) \iff w \in L_1 \text { и } w \in L_2,
850+ \]
851+ следовательно, $ L(M_3 ) = L_1 \cap L_2 $ .
852+
853+ \paragraph {3. Дополнение. }
854+ Пусть $ M = \langle Q, \{ q_S\} , Q_F, \delta , \Sigma \rangle $ ~--- детерминированный полный автомат.
855+ Построим автомат
856+ \[
857+ M' = \langle Q, \{ q_S\} , Q \setminus Q_F, \delta , \Sigma \rangle .
858+ \]
859+ Очевидно, $ L(M') = \overline {L(M)}$ .
860+
861+ \paragraph {4. Разность. }
862+ Разность выражается через пересечение и дополнение:
863+ \[
864+ L_1 \setminus L_2 = L_1 \cap \overline {L_2}.
865+ \]
866+ Регулярные языки замкнуты относительно обеих операций, следовательно, и относительно разности тоже замкнуты.
867+ \end {proof }
868+
869+ \begin {example }[Конструкция произведения]\label {ex:product-automaton }
870+ Пусть $ M_1 $ и $ M_2 $ ~--- детерминированные автоматы над алфавитом $ \Sigma =\{ a,b\} $ .
871+ В автомате $ M_1 $ есть переходы
872+ $ q^1 \xrightarrow {a} p^1 $ , $ q^1 \xrightarrow {b} p^1 $ и $ p^1 \xrightarrow {b} p^1 $ ,
873+ а в автомате $ M_2 $ ~--- переходы
874+ $ q^2 \xrightarrow {a} q^2 $ и $ q^2 \xrightarrow {b} p^2 $ .
875+ Тогда в автомате произведения $ M_1 \times M_2 $ возникают переходы:
876+ \begin {align* }
877+ (q^1, q^2) \xrightarrow {a} (p^1, q^2), \quad
878+ (p^1, q^2) \xrightarrow {b} (p^1, p^2), \quad
879+ (q^1, q^2) \xrightarrow {b} (p^1, p^2),
880+ \end {align* }
881+ что проиллюстрировано на рис.~\ref {fig:product-automaton-example }.
882+ Принимающими являются пары из принимающих состояний обоих автоматов.
883+ \end {example }
884+
885+
886+ \begin {marginfigure }
887+ \centering
888+ \scalebox {0.64}{
889+ \begin {tikzpicture }
890+ \node [elliptic state,initial] (q0) {$ (q^1 , q^2 )$ };
891+ \node [elliptic state] (p0) [right=of q0] {$ (p^1 , q^2 )$ };
892+ \node [elliptic state,accepting] (p1) [below right=of p0] {$ (p^1 , p^2 )$ };
893+
894+ \path [->]
895+ (q0) edge[bend left, above] node {$ a$ } (p0)
896+ (p0) edge[bend left, right] node {$ b$ } (p1)
897+ (q0) edge[bend right, below left] node[swap] {$ b$ } (p1);
898+ \end {tikzpicture }}
899+ \caption {Пример переходов в произведении автоматов.}
900+ \label {fig:product-automaton-example }
901+ \end {marginfigure }
820902
821903
822904
0 commit comments