Skip to content

Commit 99dcb35

Browse files
committed
Add section on closure properties of Regular languages
1 parent 2a0dc09 commit 99dcb35

File tree

1 file changed

+89
-7
lines changed

1 file changed

+89
-7
lines changed

tex/RegularLanguages.tex

Lines changed: 89 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)