Skip to content

Commit ad23aac

Browse files
committed
Немного правок в теории графов.
1 parent 4f94829 commit ad23aac

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

tex/GraphTheoryIntro.tex

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,17 @@ \section{Основные определения}
1313
Мы будем использовать термин \textit{граф} подразумевая именно конечный ориентированный помеченный граф, если только не оговорено противное.
1414

1515
Также мы будем считать, что все вершины занумерованы подряд с нуля.
16-
То есть можно считать, что $V$ --- это отрезок $[0, |V| - 1]$ неотрицательных целых чисел, где $|V|$ --- размер множества $V$.
16+
То есть можно считать, что $V$ --- это отрезок $[0, |V| - 1]$ неотрицательных целых чисел, где $|V|$ --- мощность множества $V$.
1717

1818
\begin{example}[Пример графа и его графического представления]
19-
Пусть дан граф $$\mathcal{G}_1 = \langle \{0,1,2,3\}, \{(0,a,1), (1,a,2), (2,a,0), (2,b,3), (3,b,2)\}, \{a,b\} \rangle.$$
20-
Графическое представление графа $\mathcal{G}_1$:
19+
Пусть дан граф
20+
\begin{align*}
21+
\mathcal{G} = \langle V&=\{0,1,2,3\},\\
22+
E&=\{(0,a,1), (1,a,2), (2,a,0), (2,b,3), (3,b,2)\}, \\
23+
L&=\{a,b\} \rangle.
24+
\end{align*}
25+
26+
Графическое представление графа $\mathcal{G}$:
2127
\begin{center}
2228
\input{figures/graph/graph0}
2329
\end{center}
@@ -28,16 +34,21 @@ \section{Основные определения}
2834
\end{definition}
2935

3036
\begin{example}[Пример рёбер графа]
31-
$(0,a,1)$ и $(3,b,2)$ --- это рёбра графа $\mathcal{G}_1$. При этом, $(3,b,2)$ $(2,b,3)$ --- это разные рёбра, что видно из рисунка.
37+
$(0,a,1)$ и $(3,b,2)$ --- это рёбра графа $\mathcal{G}_1$. При этом, $(3,b,2)$ $(2,b,3)$ --- это разные рёбра.
3238
\end{example}
3339

3440
\begin{definition}
35-
\textit{Путём} $\pi$ в графе $\mathcal{G}$ будем называть последовательность рёбер такую, что для любых двух последовательных рёбер $e_1=(u_1,l_1,v_1)$ и $e_2=(u_2,l_2,v_2)$ в этой последовательности, конечная вершина первого ребра является начальной вершиной второго, то есть $v_1 = u_2$. Будем обозначать путь из вершины $v_0$ в вершину $v_n$ как $$v_0 \pi v_n = e_0,e_1, \dots, e_{n-1} = (v_0, l_0, v_1),(v_1,l_1,v_2),\dots,(v_{n-1},l_n,v_n).$$
41+
\textit{Путём} $\pi$ в графе $\mathcal{G}$ будем называть последовательность рёбер такую, что для любых двух последовательных рёбер $e_1=(u_1,l_1,v_1)$ и $e_2=(u_2,l_2,v_2)$ в этой последовательности, конечная вершина первого ребра является начальной вершиной второго, то есть $v_1 = u_2$. Будем обозначать путь из вершины $v_0$ в вершину $v_n$ как $v_0 \pi v_n$. Иными совами, $$v_0 \pi v_n = e_0,e_1, \dots, e_{n-1} = (v_0, l_0, v_1),(v_1,l_1,v_2),\dots,(v_{n-1},l_{n-1},v_n).$$
3642

43+
Часто для представления пути мы буем использовать следующие нотации:
3744
\begin{center}
3845
\input{figures/graph/path0.tex}
3946
\end{center}
4047
\end{definition}
48+
или
49+
$$
50+
v_0 \xrightarrow[]{l_0} v_1 \xrightarrow[]{l_1} v_2 \xrightarrow[]{l_2} \ldots \xrightarrow[]{l_{n-2}} v_{n-1} \xrightarrow[]{l_{n-1}} v_n.
51+
$$
4152

4253
\begin{example}[Пример путей графа]
4354
$(0,a,1),(1,a,2) = 0\pi_1 2$ --- путь из вершины 0 в вершину 2 в графе $\mathcal{G}_1$.
@@ -68,7 +79,7 @@ \section{Основные определения}
6879
Такой подход часто можно встретить в задачах о кратчайших путях: в этом случае в ячейке хранится расстояние между двумя вершинами.
6980
При этом, так как в качестве весов часто рассматривают произвольные (в том числе отрицательные) числа, то в задачах о кратчайших путях отдельно вводят значение ``бесконечность'' для обозначения ситуации, когда между двумя вершинами нет пути или его длина ещё не известна.
7081
Всё это приводит к тому, что \textit{матрица смежности} --- это обобщённое понятие, нежели конкретный специальный тип матриц.
71-
Данная конструкция даёт общее представление о том, как в матричном виде ханить различную информацию о смежноти вершин в графе.
82+
Данная конструкция даёт общее представление о том, как в матричном виде хранить различную информацию о смежности вершин в графе.
7283

7384
\begin{example}[Пример матрицы смежности неориентированного графа]
7485
Неориентированный граф:
@@ -153,7 +164,7 @@ \section{Задачи поиска путей}
153164
При данной постановке задачи, нас интересует ответ на вопрос достижимости вершина $v_1$ из вершины $v_2$ по пути, удовлетворяющему ограничениям.
154165
Такая постановка требует лишь проверить существование пути, но не обязательно его предоставлять в явном виде.
155166
\item Поиск одного пути, удовлетворяющего ограничениям: необходимо не только установить факт наличия пути, но и предъявить его. При этом часто подразумевается, что возвращается любой путь, являющийся решением, без каких-либо дополнительных ограничений. Хотя, например, в некоторых задачах дополнительное требование простоты или наименьшей длинны выглядит достаточно естественным.
156-
\item Поиск всех путей: необходимо предоставить все пути, удовлетворяющеие заданным ограничениям.
167+
\item Поиск всех путей: необходимо предоставить все пути, удовлетворяющие заданным ограничениям.
157168
\end{itemize}
158169

159170
С другой стороны, задачи различаются ещё и по тому, как фиксируются множества стартовых и конечных вершин.
@@ -165,8 +176,8 @@ \section{Задачи поиска путей}
165176
\item между двумя множествами вершин.
166177
\end{itemize}
167178

168-
Стоит отметить, что последний вариант является самым общим и сотальные --- лишь его частные случаи.
169-
Однако этот вариант часто выделяют отдельно, подразумевая, что остальные, выделенные, варианты в него не включаются. В итоге мы можем сформулировать прямое произведение различных постановок задач о поиске путей, перебирая возможные варианты желаемого результата и фиксируя стартоыве и финальные множетсва разными способами.
179+
Стоит отметить, что последний вариант является самым общим и остальные --- лишь его частные случаи.
180+
Однако этот вариант часто выделяют отдельно, подразумевая, что остальные, выделенные, варианты в него не включаются. В итоге мы можем сформулировать прямое произведение различных постановок задач о поиске путей, перебирая возможные варианты желаемого результата и фиксируя стартовые и финальные множества разными способами.
170181

171182
Часто при поиске путей на них накладывают дополнительные ограничения. Например, можно потребовать, чтобы пути были простыми или не проходили через определённые вершины.
172183
Ограничение, имеющее важное прикладное значение, --- минимальность длины искомого пути.
@@ -207,7 +218,7 @@ \section{APSP и транзитивное замыкание графа}
207218
\end{algorithmic}
208219
\end{algorithm}
209220

210-
В зависимости от того, над каким полукольцом построена матрица смежности (какого рода веса на рёбрах графа) данный алгоритм может решать несколько разные задачи. Например, если возьмём трописеское полукольцо $(\mathbb{R}_{+\infty}, \min, +)$, то получим алгоритм для поимка кратчайших путей. Если же возьмём булево полукольцо, то получим алгоритм для построения транзитивного замыкания графа.
221+
В зависимости от того, над каким полукольцом построена матрица смежности (какого рода веса на рёбрах графа) данный алгоритм может решать несколько разные задачи. Например, если возьмём тропическое полукольцо $(\mathbb{R}_{+\infty}, \min, +)$, то получим алгоритм для поимка кратчайших путей. Если же возьмём булево полукольцо, то получим алгоритм для построения транзитивного замыкания графа.
211222

212223
\begin{example}[Транзитивное замыкание графа]
213224
Пусть дан следующий граф:
@@ -246,7 +257,7 @@ \section{APSP и транзитивное замыкание графа}
246257

247258
\end{example}
248259

249-
Заметим, что рефлексивность отношения (значения элементов на главной диагонали матрицы смежности) непосредственно связана с особенностями решаемой задачи. Например, если говорить о кратчайших расстояних, то кажется естественным считать расстояние от вершины до самой себя равной нулю. Однако для задачи транзитивного замыкания это уже не столь естественное предположение и часто отдельно говорят от рефлексивно-транзитивном замыкании, которое отдельно явным образом привносит рефлексивность (петли, диагональные элементы матрицы смежности).
260+
Заметим, что рефлексивность отношения (значения элементов на главной диагонали матрицы смежности) непосредственно связана с особенностями решаемой задачи. Например, если говорить о кратчайших расстояниях, то кажется естественным считать расстояние от вершины до самой себя равной нулю. Однако для задачи транзитивного замыкания это уже не столь естественное предположение и часто отдельно говорят от рефлексивно-транзитивном замыкании, которое отдельно явным образом привносит рефлексивность (петли, диагональные элементы матрицы смежности).
250261

251262

252263

@@ -285,7 +296,7 @@ \section{APSP и произведение матриц}
285296
Данный алгоритм называется \textit{repeated squaring}\footnote{Пример решения APSP с помощью repeated squaring: \url{http://users.cecs.anu.edu.au/~Alistair.Rendell/Teaching/apac_comp3600/module4/all_pairs_shortest_paths.xhtml}}.
286297

287298

288-
Таким образом, APSP сводится к умножению матриц над полукольцом, что, к сожалению, не позволяет этим путём получить истинно субкубический алгоритм для задачи. тем неменее, позволяет получить слегка субкубический. Приведем некоторые работы по APSP для ориентированных графов с вещественными весами (здесь $n$ --- количество вершин в графе):
299+
Таким образом, APSP сводится к умножению матриц над полукольцом, что, к сожалению, не позволяет этим путём получить истинно субкубический алгоритм для задачи. тем не менее, позволяет получить слегка субкубический. Приведем некоторые работы по APSP для ориентированных графов с вещественными весами (здесь $n$ --- количество вершин в графе):
289300
\begin{itemize}
290301
\item M.L. Fredman (1976) --- $O(n^3(\log \log n / \log n)^\frac{1}{3})$ --- использование дерева решений~\cite{FredmanAPSP1976}
291302
\item W. Dobosiewicz (1990) --- $O(n^3 / \sqrt{\log n})$ --- использование операций на Word Random Access Machine~\cite{Dobosiewicz1990}

0 commit comments

Comments
 (0)