Skip to content

Commit 03c6146

Browse files
committed
Немного улучшений в общх понятиях теории ргафов.
1 parent 19e8881 commit 03c6146

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

tex/GraphTheoryIntro.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,17 +320,17 @@ \section{Анализ путей в графе и линейная алгебр
320320

321321
Пусть $D_k$ --- матрица кратчайших путей, состоящих не более чем из $k$ рёбер. То есть $D_k[i,j]$ --- это длина кратчайшего пути из вершины $i$ в вершину $j$, такого, что он состоит не более чем из $k$ ребер. Если такого пути нет, то $D_k[i,j] = \infty$.
322322

323-
Таким образом, $D_1 = M$, где $M$ --- это матрица смежности исходного графа, а решением APSP является $D_{n-1}$, вычисляемая следующим образом:
323+
Таким образом, $D_1 = M$, где $M$ --- это матрица смежности исходного графа, а решением APSP является $D_{n-1}$, вычисляемая с помощью следующего рекуррентного соотношения:
324324

325325
\begin{center}
326326
$D(1) = M$ \\
327327
$D(2) = D(1) \cdot M = M^2$ \\
328328
$D(3) = D(2) \cdot M = M^3$ \\
329329
$\dots$ \\
330-
$D(n-1) = D(n-2) \cdot M = M^{(n - 1}$ \\
330+
$D(n-1) = D(n-2) \cdot M = M^{(n - 1)}$ \\
331331
\end{center}
332332

333-
Здесь мы пользуемся той особенностью задачи, что кратчайший путь в ориентированном графе (без отрицательных циклов)не может быть длиннее $n$\footnote{Раз отрицательных циклов нету, то проходить через одну вершину, коих $n$, больше одного раза бессмысленно.}.
333+
Здесь мы пользуемся той особенностью задачи, что кратчайший путь в ориентированном графе (без отрицательных циклов) не может быть длиннее $n$\footnote{Раз отрицательных циклов нету, то проходить через одну вершину, коих $n$, больше одного раза бессмысленно.}.
334334
Более того, мы пользуемся тем, что используемая структура именно полукольцо, а исходное отношение рефлексивно\footnote{Тот факт, что в любой вершине есть петля с весом 0, а 0 --- нейтральный для $\otimes$, позволяет не суммировать матрицы. Итоговая матрица содержит данные о путях длины \textit{не больше чем} вычисляемая степень, хотя должна бы содержать данные о путях ровно и только такой длины. Предлагается самостоятельно исследовать данный феномен.}.
335335

336336
Таким образом, решение APSP сведено к произведению матриц над тропическим полукольцом, однако вычислительная сложность решения слишком большая: $O(n K(n))$, где $K(n)$ --- сложность алгоритма умножения матриц.
@@ -349,8 +349,8 @@ \section{Анализ путей в графе и линейная алгебр
349349
$D_{n-1} = D_{2^{\log(n-1)}}$ \\
350350
\end{center}
351351

352-
Теперь вместо $n$ итераций нам нужно $\log{n}$, а итоговая сложность --- $O(\log{n} K(n))$.
353-
Данный алгоритм называется \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}}.
352+
Теперь вместо $n$ итераций нам нужно $\log{n}$, а итоговая сложность решения --- $O(\log{n} K(n))$\footnote{Заметим, что это оценка для худшего случая. На практике при использовании данного подхода можно прекращать вычисления как только при двух последовательных шагах получились одинаковые матрицы ($D_i = D_{i-1}$). Это приводит нас к понятию \textit{неподвижной точки}, обсуждение которого лежит за рамками повествования.}.
353+
Данный алгоритм называется \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}}. Здесь мы предполагаем, что $n-1 = 2^k$ для какого-то $k$. На практике такое верно далеко не всегда. Если это условие не выполняется, то необходимо взять ближайшую сверху степень двойки\footnote{Кажется, что это приведёт к избыточным вычислениям. Попробуйте оценить, на сколько много лишних вычислений будет сделано в худшем случае.}.
354354

355355
Таким образом, APSP сводится к умножению матриц над полукольцом, что, к сожалению, не позволяет этим путём получить истинно субкубический алгоритм для задачи. тем не менее, позволяет получить слегка субкубический. Приведем некоторые работы по APSP для ориентированных графов с вещественными весами (здесь $n$ --- количество вершин в графе), по которым можно более детально ознакомиться как с историей вопроса, так и с текущими результатами:
356356
\begin{itemize}

0 commit comments

Comments
 (0)