Skip to content

Commit a619fb8

Browse files
committed
Ещё немного про регулярные языки. Построение грамматики по автомату.
1 parent 4177902 commit a619fb8

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

tex/RegularLanguages.tex

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ \section{Построение конечного автомата по регу
424424
В качестве стартового состояния возьмём состояние, соответствующее исходному регулярному выражению.
425425
В рабочее множество добавим стартовое состояние.
426426
Далее, пока рабочее множество не пусто, в цикле повторяем следующие шаги.
427-
\btgin{enumerate}
427+
\begin{enumerate}
428428
\item Берём из множества очередное состояние $q$, соответствующее регулярному выражению $R_q$.
429429
\item Для всех символов из алфавита вычисляем производные $R_q$:.
430430
\item Для всех построенных состояний проверяем, существует ли уже
@@ -743,12 +743,21 @@ \section{Лево(право)линейные грамматики}
743743
\end{align*}
744744
после чего аналогично преобразуется правило для $N_l$.
745745

746-
\begin{example}
747-
Пример построения грамматики по автомату.
746+
\begin{example}[Построение граммтики по автомату]
747+
Построим грамматику по автомату, представленному на рисунке~\ref{fig:dfa_example}.
748+
В автомате три состояние, соответственно, в грамматике будет три нетерминала: $q_0, q_1, q_2$.
749+
Нетерминал $q_0$ будет стартовым, так как он соответствует стартовому состоянию.
750+
Правила грамматики формируются на основе переходов в автомате и правил для финальных состояний, и в нашем случае будут следующими:
751+
\begin{align*}
752+
q_0 \to a \ q_1 \quad & \quad q_1 \to a \ q_1 \\
753+
q_1 \to b \ q_2 \quad & \quad q_2 \to b \ q_1 \\
754+
\quad & \quad q_1 \to \varepsilon.
755+
\end{align*}
748756
\end{example}
749757

750-
\begin{example}
751-
Автомат по грамматике.
758+
\begin{example}[Построение автомата по грамматике]
759+
Возьмём грамматику
760+
$S \to a N_1; N_1 \to a \ N_1; N_1 \to b \ b \ N_1$
752761
\end{example}
753762

754763
\section{Лемма о накачке}
@@ -805,13 +814,11 @@ \section{Замкнутость регулярных языков относит
805814
\end{enumerate}
806815
\end{theorem}
807816

808-
Линейная алгебра для работы с регулярными языками: пересечение, замыкание.
809-
810-
Построение пересечения через тензорное произведение автоматов.
817+
Для пересечения построим автомат.
811818

812819
Идея доказательства, что мы построили именно пересечение.
813820

814-
Пересечение через синхронный обход в ширину.
821+
815822

816823
%\section{Вопросы и задачи}
817824
%

0 commit comments

Comments
 (0)