You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tex/Multiple_Context-Free_Language_Reachability.tex
+2-53Lines changed: 2 additions & 53 deletions
Original file line number
Diff line number
Diff line change
@@ -14,57 +14,6 @@ \chapter{Поиск путей с ограничениями в терминах
14
14
На практике хорошим приёмом для получения высокопроизводительных решений задач анализа графов является выражение наиболее критичных вычислений через операции линейной алгебры, например, через матричные операции~\cite{doi:10.1137/1.9780898719918}. Существуют эффективные алгоритмы парсинга для MCFL на основе линейной алгебры, использующие умножения булевых матриц~\cite{nakanishi1997efficient,cohen2016parsing} и способные лечь в основу новых алгоритмов MCFL-достижимости. Однако алгоритм в работе~\cite{cohen2016parsing} может быть применен только для некоторого подкласса многокомпонентных контекстно-свободных грамматик, называемого \textit{несбалансированными}. Поэтому далее в этой главе будет приведён алгоритм поиска путей с ограничениями в терминах многокомпонентных контекстно-свободных языков, основанный на алгоритме из работы~\cite{nakanishi1997efficient}.
15
15
16
16
17
-
\section{Нормальная форма MCFG}\label{normalformmcfg}
18
-
Сперва мы введём следующую нормальную форму для MCFG, которая позволяет решать задачу MCFL-достижимости с помощью операций линейной алгебры.
19
-
20
-
\begin{definition} m-MCFG $G = (\Sigma, N, S, P)$ находится в \emph{нормальной форме}, если любое правило $p: A \rightarrow (\gamma_1, \dots, \gamma_{dim(A)}) \in P$ соответствует одной из следующих форм.
\item$\forall i: |\gamma_i| = 1$ и $\gamma_i \in\Sigma\cup\{\varepsilon\}$.
24
-
\item$\forall i: \gamma_i \in N_c^*$, т.е. в правой части правила нету терминальных символов. Для простоты будем обозначать такие правила $p: A \rightarrow f(B_1, \dots, B_n)$, где $B_k \in N$. В таком случае необходимо, чтобы $n = 2$. В итоге, имеем правила вида $p: A \rightarrow f(B_1, B_2)$, где $B_1, B_2\in N$. Для таких правил также должно выполнятся следующее.
25
-
\begin{itemize}
26
-
\item\textbf{Non-erasing condition}:$\forall i \in\{1,2\}, 1\leq j \leq d(B_i)$$B_i^j$ используется в $\gamma_k$ для некоторого $k$,
27
-
\item никакая пара символов $B^j, B^k$, являющихся компонентами одного и того нетерминала, не присутствует в правой части правила подряд, т.е. компоненты нетерминалов $B_1, B_2$ чередуются,
28
-
\item$\exists i: 1\leq i \leq d(A) \ \ |\gamma_i| \geq2$.
Для любой MCFG $G$ может быть построена MCFG $G'$ такая, что $L(G') = L(G)$ и $G'$ находится в описанной нормальной форме.
37
-
\end{theorem}
38
-
39
-
Например, для $m = 1$ описанная нормальная форма соответствует ослабленной нормальной форме Хомского для КС-грамматик.
40
-
41
-
Пусть имеется MCFG $G_1 = (\Sigma_1, N_1, S, P_1)$, где $\Sigma_1 = \{a,b,c,d\}$, $N_1 = \{S_, A, B\}$, $P_1 = \{$
42
-
\begin{align*}
43
-
S^1 \rightarrow A^1 B^1 A^2 B^2 \\
44
-
(A^1, A^2) \rightarrow (a,c) \\
45
-
(B^1, B^2) \rightarrow (b,d) \\
46
-
(B^1, B^2) \rightarrow (bB^1, dB^2) \\
47
-
(A^1, A^2) \rightarrow (aA^1, cA^2)
48
-
\end{align*}
49
-
$\}.$
50
-
51
-
Такая грамматика порождает один из классических MCFL: $L(G_1) = \{a^nb^mc^nd^m \mid n,m \in\mathbb{N}\}$, который не является контекстно-свободным.
52
-
53
-
Тогда грамматика $G'_1$ в нормальной форме может быть построена по грамматике $G_1$, где $L(G'_1) = L(G_1)$ и $N'_1 = \{S, S_1, S_2, A, B, C, D\}$, $P'_1 = \{$
54
-
\begin{align*}
55
-
A^1 \rightarrow a \\
56
-
B^1 \rightarrow b \\
57
-
C^1 \rightarrow c \\
58
-
D^1 \rightarrow d \\
59
-
(S_1^1, S_1^2) \rightarrow (a,c) \\
60
-
(S_2^1, S_2^2) \rightarrow (b,d) \\
61
-
(S_1^1, S_1^2) \rightarrow (S_3^1, S_3^2 C^1) \\
62
-
(S_3^1, S_3^2) \rightarrow (A^1 S_1^1, S_1^2) \\
63
-
(S_2^1, S_2^2) \rightarrow (S_4^1, S_4^2 D^1) \\
64
-
(S_4^1, S_4^2) \rightarrow (B^1 S_2^1, S_2^2) \\
65
-
S^1 \rightarrow S_1^1 S_2^1 S_1^2 S_2^2
66
-
\end{align*}
67
-
$\}.$
68
17
69
18
\section{Постановка задачи}
70
19
Сформулируем задачу MCFL-достижимости.
@@ -266,7 +215,7 @@ \subsection{Алгоритм}
266
215
267
216
\subsection{Пример}
268
217
269
-
Рассмотрим некоторые шаги алгоритма на примере. В качестве входных данных возьмем граф $D_1$, представленный на рисунке~\ref{fig:example_input_graph_mcfg}, и многокомпонентную контекстно-свободную грамматику $G'_1$ из раздела~\ref{normalformmcfg}.
218
+
Рассмотрим некоторые шаги алгоритма на примере. В качестве входных данных возьмем граф $D_1$, представленный на рисунке~\ref{fig:example_input_graph_mcfg}, и многокомпонентную контекстно-свободную грамматику $G'_1$ из определения~\ref{thm:mcfg_normal_form} главы~\ref{MCFG}.
270
219
271
220
\begin{figure}[h]
272
221
\centering
@@ -398,4 +347,4 @@ \subsection{Корректность и сложность}
398
347
Пусть дана m-MCFG $G = (\Sigma, N, S, P)$ в нормальной форме и помеченный граф $D =(V, E, \Sigma)$. Пусть $p'$ --- правило грамматики, для которого $e(p') - 0.624i(p') = max\{e(p) - 0.624i(p) \mid p\in P\}$, и пусть $e' = e(p')$, $i' = i(p')$. Тогда алгоритм, представленный на листинге~\ref{lst:algomcfg}, завершит работу за $O(|V|^{e' - 0.624i' + 2m})$.
399
348
\end{theorem}
400
349
401
-
Это первое наивное ограничение временной сложности для проблемы MCFL-достижимости. Например, для грамматики $G'_1$ из раздела~\ref{normalformmcfg}, $e' = 5$, $i' = 1$, а $m = 2$. Таким образом, граница временной сложности для этой грамматики составляет $O(|V|^{8,376})$. Однако $O(n^{2m})$ итераций может быть достигнуто только на специальных искусственных графах, а обычно на реальных графах количество итераций невелико. Кроме того, известны приёмы улучшения такой оценки сложности путём рекурсивного умножения подматриц~\cite{Valiant:1975:GCR:1739932.1740048}. Наконец, оценка сложности может быть улучшеноа за счёт учёта разреженности матриц и исползования операций над разреженными матрицами.
350
+
Это первое наивное ограничение временной сложности для проблемы MCFL-достижимости. Например, для грамматики $G'_1$ из определения~\ref{thm:mcfg_normal_form} главы~\ref{MCFG}, $e' = 5$, $i' = 1$, а $m = 2$. Таким образом, граница временной сложности для этой грамматики составляет $O(|V|^{8,376})$. Однако $O(n^{2m})$ итераций может быть достигнуто только на специальных искусственных графах, а обычно на реальных графах количество итераций невелико. Кроме того, известны приёмы улучшения такой оценки сложности путём рекурсивного умножения подматриц~\cite{Valiant:1975:GCR:1739932.1740048}. Наконец, оценка сложности может быть улучшеноа за счёт учёта разреженности матриц и исползования операций над разреженными матрицами.
0 commit comments