Чонг, Хан и Лэм показали, что ненаправленное соединение через st-соединение может быть решено с помощью EREW PRAM за с помощью O ( m + n ) процессоров. Какой самый известный параллельный алгоритм для направленной st-связности ? Пожалуйста, укажите время работы, детерминированный / рандомизированный алгоритм и используемую модель PRAM (предполагая, что число процессоров является полиномиальным). Известны ли какие-либо o ( log 2 n ) параллельные по времени алгоритмы для особых случаев направленной st-связности?
dc.parallel-comp
Шива Кинтали
источник
источник
Ответы:
Направленная достижимость может быть легко достигнута с использованием O ( ) процессоров и времени O ( log n ) на CRCW-PRAM или в O ( n ω ) процессорах и O ( log 2 n ) времени на EREW-PRAM, где ω < 2.376 - показатель умножения матриц, а n - число вершин. Следующая статья утверждает, O ( n ω ) и O ( log nn3 (logn nω log2n ω<2.376 n nω logn ) время на CREW-PRAM: «Оптимальные параллельные алгоритмы для транзитивного замыкания и расположения точек в плоских структурах» Тамасии и Виттера. Другие статьи утверждают то же самое и цитируют обзор Карпа и Рамачандрана (Параллельные алгоритмы для машин с общей памятью, в: J. van Leeuwen (Ed.), Handbook of теоретическая информатика). В самом опросе упоминается, что транзитивное замыкание происходит в AC1 и, следовательно, может быть решено за O (log n) на CRCW-PRAM, но часть о CREW-PRAM отсутствует.
Все подобные Штрассену алгоритмы для умножения матриц (включая алгоритм Копперсмита-Винограда) являются по существу параллельными алгоритмами, которые выполняются за время O ; транзитивное замыкание влечет за собой дополнительный журнал (но если вы разрешите неограниченное разветвление, то тривиальная матрица O ( n 3 ) может быть выполнена с постоянной глубиной, и поэтому достижимость составляет время O ( log n ) в CRCW-PRAM). Это открытая проблема для улучшения числа процессоров с текущей лучшей ~ n 2.376 ; это также большая открытая проблема, если достижимость в NC1, поскольку это подразумевает L = NL среди других вещей.(logn) n3 (logn) n2.376
источник
В книге Джозефа Яха (1992) «Введение в параллальные алгоритмы» перечислены следующие результаты для транзитивного замыкания:
источник
Если вы хотите, чтобы работа была небольшой, а не просто полиномиальной, есть элегантный алгоритм Уллмана и Яннакакиса, который позволяет найти компромисс между временем и работой. Таблица 1 в моей статье о параллельном вычислении сильно связанных компонентов суммирует результаты параллельной направленной связи, о которых я знаю: http://www.cs.brown.edu/~ws/papers/scc.pdf .
источник