Skip to content

Commit 8a72c93

Browse files
committed
Немного попереводил про RSM.
1 parent e228021 commit 8a72c93

File tree

1 file changed

+12
-41
lines changed

1 file changed

+12
-41
lines changed

tex/Context-Free_Languages.tex

Lines changed: 12 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -187,22 +187,22 @@ \section{Рекурсивные автоматы и сети}
187187
\end{definition}
188188

189189
Таким образом, рекурсивный автомат~--- это набор детерминированных конечных автоматов над алфавитом $\Sigma \cup Q_S$.
190-
В некоторых случаях наб будет удобно рассматривать этот набор как одн конечный автомат.
190+
В некоторых случаях нам будет удобно рассматривать этот набор как одн конечный автомат.
191191
Однако процесс работы рекурсивного автомата несколько отличается от работы конечного автомата, хотя и похож на него.
192192
Основное отличие~--- необходимость использовать стек для обработки переходов, помеченных элементами из $Q_S$.
193193

194194
По аналогии с конечными автоматами, процесс работы рекурсивных автоматов достаточно естественно описывается в терминах переходов между \emph{конфигурациями}.
195195

196196
\begin{definition}
197-
\emph{Конфигурация} $C_{\mathcal{R}}$ рекурсивного автомата $\mathcal{R}=\langle \mathcal{N},\Sigma,B,B_S,Q,Q_S \rangle$ over the graph $D=\langle V,E,L \rangle$ is a tuple $(q,v,\mathcal{S})$ where
197+
\emph{Конфигурация} $C_{\mathcal{R}}$ рекурсивного автомата $\mathcal{R}=\langle \mathcal{N},\Sigma,B,B_S,Q,Q_S \rangle$, обрабатывающего граф $D=\langle V,E,L \rangle$ --- это тройка $(q,v,\mathcal{S})$, где
198198
\begin{itemize}
199-
\item $q \in Q$ is a current state of RSM,
200-
\item $\mathcal{S}$ is the current stack, whose frames have one of two types:
199+
\item $q \in Q$ текущее состояние RSM,
200+
\item $\mathcal{S}$ --- текущий стек, элементы которого могут быть двух типов:
201201
\begin{itemize}
202-
\item return addresses frame (elements of $Q$) to specify states to continue computation after the call is finished;
202+
\item адрес возврата (значение из $Q$) to specify states to continue computation after the call is finished;
203203
\item parsing tree node to store fragments of a parsing tree,
204204
\end{itemize}
205-
\item $v \in V$ is the current vertex (current position in the input).
205+
\item $v \in V$ --- текущая позиция во входе.
206206
\end{itemize}
207207
\end{definition}
208208

@@ -311,38 +311,11 @@ \subsection{Example}\label{section:example_of_rsm}
311311
(q_3,v_0,[b,S(a,b),a,q_5]) \vdash & \boxed{\{(q_5,v_0,[S(a,S(a,b),b)])\}} \label{eq:naive-rsm-step-res-2}
312312
\end{align}
313313

314-
Note that we have no conditions to stop computation. In our example, we can continue computation and get new paths between $v_0$ and $v_1$. Moreover, there is an infinite number of such paths. Additionally, the selection of the next step is not deterministic. One can choose the configuration $(q_0,v_0,[q_2,a,q_2,a,q_5])$ to continue computations after step~\ref{eq:naive-rsm-step-6} with chance to fall into an infinite cycle, but choosing $(q_3,v_1,[b,a,q_2,a,q_5])$ we get a new path.
315-
Построим рекурсивный автомат для грамматики $G$:
316-
\begin{align*}
317-
S & \to a S b \\
318-
S & \to a b
319-
\end{align*}
320-
321-
\begin{figure}
322-
\caption{Пример рекурсивного автомата для грамматики $G$.}
323-
\label{input1}
324-
\begin{tikzpicture}[node distance=2.5cm,shorten >=1pt,on grid,auto]
325-
\node[state, initial] (q_0) {$0 \{S\}$};
326-
\node[state] (q_1) [right=of q_0] {$1$};
327-
\node[state] (q_2) [right=of q_1] {$2$};
328-
\node[state, accepting] (q_3) [right=of q_2] {$3\{S\}$};
329-
\path[->]
330-
(q_0) edge node {a} (q_1)
331-
(q_1) edge node {S} (q_2)
332-
(q_2) edge node {b} (q_3)
333-
(q_1) edge[bend left, above] node {b} (q_3);
334-
\end{tikzpicture}
335-
\end{figure}
336-
337-
338-
Используем стандартные обозначения для стартовых и финальных состояний.
339-
Дополнительно в стартовых и финальных состояниях укажем нетерминалы, для которых эти состояния стартовые/финальные.
340-
341-
В некоторых случаях рекурсивный автомат можно рассматривать как конечный автомат над смешанным алфавитом.
342-
Именно такой взгляд мы будем использовать при изложении алгоритма.
343-
344-
Пример интерпретации конечного автомата.
345-
314+
Note that we have no conditions to stop computation.
315+
In our example, we can continue computation and get new paths between $v_0$ and $v_1$.
316+
Moreover, there is an infinite number of such paths.
317+
Additionally, the selection of the next step is not deterministic.
318+
One can choose the configuration $(q_0,v_0,[q_2,a,q_2,a,q_5])$ to continue computations after step~\ref{eq:naive-rsm-step-6} with chance to fall into an infinite cycle, but choosing $(q_3,v_1,[b,a,q_2,a,q_5])$ we get a new path.
346319

347320
\section{Дерево вывода}
348321
\label{sect:DerivTree}
@@ -412,9 +385,7 @@ \section{Пустота КС-языка}
412385

413386
Повторяем процесс замены одинаковых нетерминалов до тех пор, пока в дереве не останутся только уникальные нетерминалы.
414387

415-
В полученном дереве не может быть ветвей длины большей, чем $m$.
416-
417-
По построению оно является деревом вывода.
388+
В итоге, в полученном дереве не может быть ветвей длины большей, чем $m$, и по построению оно является деревом вывода.
418389
\end{proof}
419390

420391

0 commit comments

Comments
 (0)