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/RPQ.tex
+31-7Lines changed: 31 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -15,12 +15,23 @@ \section{Достижимость с несколькими источникам
15
15
В классической версии обхода в ширину, основанного на линейной алгебре, используется вектор, куда записывается фронт обхода графа. Так, один раз перемножая этот вектор на матрицу смежности графа, можно совершать один шаг в обходе графа. Покажем на примере, как данный метод может быть использован, когда мы накладываем формальные ограничения на путь в графе.
Возьмём граф, представленный на рисунке~\ref{input_rpq}.
24
35
Его матрица смежности имеет следующий вид.
25
36
\[ G_2 =
26
37
\begin{pmatrix}
@@ -47,6 +58,19 @@ \section{Достижимость с несколькими источникам
47
58
\end{alignat*}
48
59
49
60
Зададим формальные ограничения с помощью регулярного выражения $ba$, которое представляется автоматом из трех последовательных состояний.
61
+
62
+
\begin{center}
63
+
\begin{tikzpicture}[shorten >=1pt,on grid,auto]
64
+
\node[state, initial] (q_0) at (0,0) {$0$};
65
+
\node[state] (q_1) at (2,0) {$1$};
66
+
\node[state, accepting] (q_2) at (4,0) {$2$};
67
+
\path[->]
68
+
(q_0) edge node {$b$} (q_1)
69
+
(q_1) edge node {$a$} (q_2);
70
+
\end{tikzpicture}
71
+
\end{center}
72
+
73
+
50
74
Нам хочется совершать обход по графу и автомату одновременно, поэтому также представим автомат в булевом виде.
51
75
\begin{alignat*}{7}
52
76
& &&R_{0\_A} &&= \begin{pmatrix}
@@ -173,8 +197,8 @@ \section{Достижимость с несколькими источникам
173
197
174
198
Видно, что к вершине 2 можно прийти из нулевого состояния автомата \fbox{1 0 0} \fbox{0 0 1 0}, а к вершине 1 из первого \fbox{0 1 0} \fbox{0 1 0 0}.
175
199
176
-
Теперь левая часть матрицы M неизменяема, так как каждая её строчка содержит информацию о том, из какого состояния автомата достигаются вершины фронта.
177
-
Правая часть матрицы $M$ содержит этот фронт.
200
+
Теперь левая часть матрицы $M$ неизменяема, так как каждая её строчка содержит информацию о том, из какого состояния автомата достигаются вершины фронта.
0 commit comments