Паралельні алгоритми для спрямованого st-з'єднання


13

Чонг, Хан і Лам показали, що непряме st-підключення може бути вирішено на EREW PRAM за час з процесорами. Який найвідоміший паралельний алгоритм для спрямованого st-з'єднання ? Будь ласка, вкажіть час роботи, детермінований / рандомізований алгоритм та використану модель PRAM (припустимо, що кількість процесорів є многочленом). Чи відомі паралельні алгоритми часу для будь-яких спеціальних випадків спрямованого st-з'єднання?O ( m + n ) o ( log 2 n )O(logn)O(m+n)o(log2n)


У Вікіпедії сказано, що процесори poly (n) + час полілогу в EREW PRAM - це те саме, що і NC. Я не дуже знайомий з моделлю EREW PRAM, але чи існує зв’язок між часом (і поліноміально багатьма процесорами) та ? Іншими словами, чи є спосіб перефразувати своє запитання з точки зору обмеженої глибини? N C i(logn)iNCi
Робін Котарі

різні моделі паралельної оперативної пам’яті є еквівалентними коефіцієнтами журналу upto, тому, хоча EREW PRAM відповідає NC, це може бути невірно для конкретних потужностей журналу.
Суреш Венкат

При відповідних обмеженнях набору вторгнення час O (log ^ in) на CRCW PRAM є рівномірним AC ^ i, для i> = 1.
Крістофер Арнсфельт Хансен

Якщо є спрямований шлях, чи можна його знайти? st
Кумар

Відповіді:


13

Спрямована доступність може бути легко здійснена за допомогою процесорів O ( ) та часу O ) на CRCW-PRAM або в O ( ) процесорів та O ( ) часу на a EREW-PRAM, де - показник множення матриці, а - кількість вершин. У наступному документі стверджуються, що O ( ) та O ( ( log n n ω log 2 n ω < 2.376 n n ω log nn3(lognnωlog2nω<2.376nnωlogn) час на CREW-PRAM: "Оптимальні паралельні алгоритми для перехідного закриття та розташування точок у площинних структурах" Тамасії та Віттера. Інші статті стверджують те саме і цитують опитування Карпа та Рамачандрана (паралельні алгоритми для машин спільної пам’яті, у: J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science). В самому опитуванні йдеться про те, що транзитивне закриття знаходиться в AC1, а отже, воно може бути вирішене за O (log n) час CRCW-PRAM, але частина про CREW-PRAM відсутня.

Всі алгоритми, подібні Страссену для множення матриць (включаючи алгоритм від Coppersmith-Winograd), по суті є паралельними алгоритмами, які працюють в O час; транзитивне замикання створює додатковий журнал (але якщо дозволити необмежений вентилятор, у тривіальній матриці O ( ) мульти матриця може бути виконана на постійній глибині, тому доступність досягається в O час на CRCW-PRAM). Відкрита проблема - покращити кількість процесорів із найкращих поточних ~ ; це також є великою відкритою проблемою, якщо доступність знаходиться в NC1, оскільки це означатиме, серед іншого, L = NL.n 3 ( log n ) n 2.376(logn)n3(logn)n2.376


1
Ви можете, будь ласка, додати посилання.
Шива Кінталі

Я знаю лише час O (log n) у CRCW PRAM. Це ви мали на увазі?
Крістофер Арнсфельт Хансен

O (вхід) на CREW - це чудово. Ось що я шукаю. Я хотів би прийняти вашу відповідь. Будь ласка, додайте посилання.
Шива Кінталі

Нам потрібні O (logn) ітерації множення матриці для вирішення st-з'єднання.
Шива Кінталі

З точки зору паралельних алгоритмів вам потрібні O (log n) ітерації матричного мульти для вирішення доступності; це не стосується послідовних алгоритмів, оскільки ви можете робити якісь розумні рекурсивні речі (див. Fisher & Meyer'71). Однак, якщо ваша модель обчислень дозволяє без обмеженого входу вентилятора (як це стосується AC1 і, отже, CRCW PRAM), матриця мульти може бути виконана на постійній глибині, і тому транзитивне закриття можна зробити в логарифмічній глибині.
virgi

7

У книзі "Вступ до паралельних алгоритмів" Джозефа Яджа (1992) перераховані наступні результати транзитивного закриття:

  • O ( n 3 log n )O(logn)Час та працюють над загальною ПРАМ CRCW.O(n3logn)
  • O ( n ω log n )O(log2n) час і працюють на CREW PRAM.O(nωlogn)

Щодо питання про те, чи відоме щось швидше для спеціальних класів графіків, вправа 5.34 у книзі наводить такий приклад, де можна отримати час на CREW PRAM:O(logn)

  • Клас спрямованих ациклічних графіків такий, що для кожні дві вершини і існує щонайменше один шлях від до .v u vuvuv

Отже, здається, що пошук алгоритму паралельних часових паралелей o (log ^ 2 {n}) у CREW PRAM для загальнонаправлених графіків є відкритою проблемою.
Шива Кінталі

Зауважте, що я сказав o (log ^ 2 {n}) не O (log ^ 2 {n}).
Шива Кінталі

5

Якщо ви дбаєте про те, щоб робота була невеликою, а не просто поліномою, є елегантний алгоритм Уллмана та Яннакакіса, який дозволяє виконувати компроміси часу та роботи. Таблиця 1 в моєму документі про обчислення сильно з'єднаних компонентів паралельно підсумовує результати паралельного спрямованого підключення, про які я знаю: http://www.cs.brown.edu/~ws/papers/scc.pdf .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.