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/part_01_Prep/chapter_03_GraphTheoryIntro/02_PathProblems.tex
+2-29Lines changed: 2 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -35,32 +35,5 @@ \section{Задачи поиска путей}
35
35
В итоге, перебирая возможные варианты желаемого результата и способы фиксации стартовых и финальных вершин, мы можем сформулировать достаточно большое количество задач.
36
36
Например, задачу поиска всех путей между двумя заданными вершинами, задачу поиска одного пути от фиксированной стартовой вершины до каждой вершины в графе, или задачу достижимости между всеми парами вершин.
37
37
38
-
Часто поиск путей сопровождается изучением их свойств, что далее приводит к формулированию дополнительных ограничений на пути в терминах этих свойств.
39
-
Например, можно потребовать, чтобы пути были простыми или не проходили через определённые вершины.
40
-
Один из естественных способов описывать свойства и, как следствие, задавать ограничения~--- это использовать ту алгебраическую структуру, из которой берутся веса рёбер графа%
41
-
\sidenote{На самом деле здесь наблюдается некоторая двойственность.
42
-
С одной стороны, действительно, удобно считать, что свойства описываются в терминах некоторой заданной алгебраической структуры.
43
-
Но, вместе с этим, структура подбирается исходя из решаемой задачи.}.
44
-
45
-
Предположим, что дан граф $\mbfscrG = \langle V, E, L\rangle$, где $L = (S, \oplus, \otimes)$~--- это полукольцо.
46
-
Тогда изучение свойств путей можно описать следующим образом:
47
-
\begin{equation}
48
-
\label{eq:algPathProblem}
49
-
\left\{\ (v_i, v_j, c) \mid c = \bigoplus_{v_i \pi_k v_j} \bigotimes_{(u, l, v) \in\pi } l \ \right\}.
50
-
\end{equation}
51
-
52
-
Иными словами, для каждой пары вершин, для которой существует хотя бы один путь, их соединяющий, мы агрегируем (с помощью операции $\oplus$ из полукольца) информацию обо всех путях между этими вершинами.
53
-
При этом информация о пути получается как свёртка меток рёбер пути с использованием операции $\otimes$\sidenote{Заметим, что детали свёртки вдоль пути зависят от свойств полукольца (и от решаемой задачи).
54
-
Так, если полукольцо коммутативно, то нам не обязательно соблюдать порядок рёбер.
55
-
В дальнейшем мы увидим, что данные особенности полукольца существенно влияют на особенности алгоритмов решения соответствующих задач.}.
56
-
57
-
Естественным требованием (хотя бы для прикладных задач, решаемых таким способом) является существование и конечность указанной суммы.
58
-
На данном этапе мы не будем касаться того, какие именно свойства полукольца могут нам обеспечить данное свойство, однако в дальнейшем будем считать, что оно выполняется.
59
-
Более того, будем стараться приводить частные для конкретной задачи рассуждения, показывающие, почему это свойство выполняется в рассматриваемых в задаче ограничениях.
60
-
61
-
Описанная выше задача общего вида называется анализом свойств путей алгебраическими методами (Algebraic Path Problem)~\sidecite{Baras2010PathPI} и предоставляет общий способ для решения широкого класса прикладных задач%
62
-
\sidenote{В работе \enquote{Path Problems in Networks}~\cite{Baras2010PathPI} собран действительно большой список прикладных задач с описанием соответствующих полуколец.
63
-
Сводная таблица на страницах 58--59 содержит 29 различных прикладных задач и соответствующих полуколец.}.
64
-
Наиболее известными являются такие задачи, как построение транзитивного замыкания графа и поиск кратчайших путей (All Pairs Shortest Path или APSP).
65
-
Далее мы подробнее обсудим эти две задачи и предложим алгоритмы их решения.
Copy file name to clipboardExpand all lines: tex/part_01_Prep/chapter_03_GraphTheoryIntro/03_PathAlgebra.tex
+30Lines changed: 30 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,35 @@
1
1
\section{Анализ путей в графе и линейная алгебра}
2
2
3
+
Часто поиск путей сопровождается изучением их свойств, что далее приводит к формулированию дополнительных ограничений на пути в терминах этих свойств.
4
+
Например, можно потребовать, чтобы пути были простыми или не проходили через определённые вершины.
5
+
Один из естественных способов описывать свойства и, как следствие, задавать ограничения~--- это использовать ту алгебраическую структуру, из которой берутся веса рёбер графа%
6
+
\sidenote{На самом деле здесь наблюдается некоторая двойственность.
7
+
С одной стороны, действительно, удобно считать, что свойства описываются в терминах некоторой заданной алгебраической структуры.
8
+
Но, вместе с этим, структура подбирается исходя из решаемой задачи.}.
9
+
10
+
Предположим, что дан граф $\mbfscrG = \langle V, E, L\rangle$, где $L = (S, \oplus, \otimes)$~--- это полукольцо.
11
+
Тогда изучение свойств путей можно описать следующим образом:
12
+
\begin{equation}
13
+
\label{eq:algPathProblem}
14
+
\left\{\ (v_i, v_j, c) \mid c = \bigoplus_{v_i \pi_k v_j} \bigotimes_{(u, l, v) \in\pi } l \ \right\}.
15
+
\end{equation}
16
+
17
+
Иными словами, для каждой пары вершин, для которой существует хотя бы один путь, их соединяющий, мы агрегируем (с помощью операции $\oplus$ из полукольца) информацию обо всех путях между этими вершинами.
18
+
При этом информация о пути получается как свёртка меток рёбер пути с использованием операции $\otimes$\sidenote{Заметим, что детали свёртки вдоль пути зависят от свойств полукольца (и от решаемой задачи).
19
+
Так, если полукольцо коммутативно, то нам не обязательно соблюдать порядок рёбер.
20
+
В дальнейшем мы увидим, что данные особенности полукольца существенно влияют на особенности алгоритмов решения соответствующих задач.}.
21
+
22
+
Естественным требованием (хотя бы для прикладных задач, решаемых таким способом) является существование и конечность указанной суммы.
23
+
На данном этапе мы не будем касаться того, какие именно свойства полукольца могут нам обеспечить данное свойство, однако в дальнейшем будем считать, что оно выполняется.
24
+
Более того, будем стараться приводить частные для конкретной задачи рассуждения, показывающие, почему это свойство выполняется в рассматриваемых в задаче ограничениях.
25
+
26
+
Описанная выше задача общего вида называется анализом свойств путей алгебраическими методами (Algebraic Path Problem)~\sidecite{Baras2010PathPI} и предоставляет общий способ для решения широкого класса прикладных задач%
27
+
\sidenote{В работе \enquote{Path Problems in Networks}~\cite{Baras2010PathPI} собран действительно большой список прикладных задач с описанием соответствующих полуколец.
28
+
Сводная таблица на страницах 58--59 содержит 29 различных прикладных задач и соответствующих полуколец.}.
29
+
Наиболее известными являются такие задачи, как построение транзитивного замыкания графа и поиск кратчайших путей (All Pairs Shortest Path или APSP).
30
+
Далее мы подробнее обсудим эти две задачи и предложим алгоритмы их решения.
31
+
32
+
3
33
В данной главе мы рассмотрим некоторые связи%
4
34
\sidenote{Связь между графами и линейной алгеброй~--- обширная область, в которой можно даже выделить отдельные направления, такие как спектральная теория графов.
5
35
С точки зрения практики данная связь также подмечена давно и более полно с ней можно ознакомиться, например, в работах~\cite{doi:10.1137/1.9780898719918, Davis2018Algorithm9S}.
0 commit comments