Алгоритм Δ-шагания

Материал из Алговики
Версия от 13:57, 2 июня 2015; Daryin (обсуждение | вклад) (Общее описание алгоритма)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Get Perf.Data

Свойства и структура алгоритмов

Общее описание алгоритма

Алгоритм дельта-шагания[1] предназначен для решения задачи поиска кратчайшего пути на графе. Для заданного ориентированного взвешенного графа с неотрицательными весами алгоритм находит кратчайшие расстояния от выделенной вершины-источника до всех остальных вершин графа. Алгоритм изначально проектировался с целью эффективной параллелизации.

Математическое описание

Вычислительное ядро алгоритма

Макроструктура алгоритма

Описание схемы реализации последовательного алгоритма

Последовательная сложность алгоритма

Средняя последовательная сложность алгоритма на графах со случайными весами [math]\displaystyle{ O(n + m + dL) }[/math], где [math]\displaystyle{ L }[/math] – максимальный суммарный вес кратчайшего пути, [math]\displaystyle{ d }[/math] – максимальная длина кратчайшего пути.

Информационный граф

Описание ресурса параллелизма алгоритма

Средняя время работы параллельного алгоритма на графах со случайными весами на [math]\displaystyle{ O(n) }[/math] процессорах составляет [math]\displaystyle{ O((dL + \ln n) \ln n) }[/math] со средней работой [math]\displaystyle{ O(n + m + dL \ln n) }[/math]

Описание входных и выходных данных

Свойства алгоритма

Программная реализация алгоритмов

Особенности реализации последовательного алгоритма

Описание локальности данных и вычислений

Возможные способы и особенности реализации параллельного алгоритма

Масштабируемость алгоритма и его реализации

Динамические характеристики и эффективность реализации алгоритма

Выводы для классов архитектур

Существующие реализации алгоритма

Литература

  1. ↑ Meyer, U, and P Sanders. “Δ-Stepping: a Parallelizable Shortest Path Algorithm.” Journal of Algorithms 49, no. 1 (October 2003): 114–52. doi:10.1016/S0196-6774(03)00076-2.