Зменшення використання місця st-підключення за допомогою декількох проходів?


20

Припустимо, графік з n вершинами представлений у вигляді потоку з m ребер, але через потік дозволено кілька проходів.Gnm

Моніка Раух Гензінгер, Прабхакар Рагаван і Шрідар Раджагопалан зауважили, що простір необхідний, щоб визначити, чи існує шлях між двома заданими вершинами в G , якщо через дані дозволено проходження k . (Див. Також версію технічного звіту .) Однак вони не містять алгоритму, щоб реально досягти цієї межі. Я припускаю, що оптимальний алгоритм насправді приймав би O ( ( nΩ(n/k)Gk простір в реалістичній обчислювальній моделі, оскільки треба відрізняти n різних вершин, якщо не можна індексувати пам'ять, використовуючи покажчики постійного розміру.O((nlogn)/k)n

Як можна вирішити підключення графа з проходами, використовуючи Ok простір?O((nlogn)/k)

Якщо дозволений лише один прохід, вхідні дані можуть зберігатися як розділ набору вершин, об'єднуючи множини, якщо між вершинами видно ребро у двох різних наборах. Цього явно потрібно максимум простір. Моє запитання щодо k > 1 : як можна використовувати більше проходів, щоб зменшити необхідний простір?O(nlogn)k>1

(Щоб уникнути тривіальності, - параметр, який не можна апріорі обмежувати постійною, а пробіли - це вирази, що включають функції n і kknk .)


Оновлення: навіть для було б дуже корисно мати спосіб зберігання лише n / 2 вершин. Або насправді є сильніша нижня межа c n для деякої постійної с , незалежно від k ?k=2n/2cnck


Як незалежно від ? Якщо воно може бути дуже великим, то st-підключення може бути вирішено в просторі O ( log 2 n ) , тому існує алгоритм, але, як показав азотліхід, ймовірно, не в O ( n log n / k ) . kO(log2n)O(nlogn/k)
domotorp

Зауважимо, що усунення проходів Гуха та Макгрегора для рандомізованих алгоритмів працює у зворотному напрямку, використовуючи більше місця, щоб дозволити менше пропусків (хоча додатковий простір великий, якщо бажана помилка невелика). Це запитання задає, чи можна, використовуючи більше пропусків, зменшити використання місця.
Андраш Саламон

Відповіді:


8

Тривала відкрита проблема знайти алгоритм st-підключення, який працює в одночасно сублінійному просторі та поліномічному часі, що є простішим завданням, на що ви прагнете. Такі алгоритми відомі для ненаправленої версії , але навіть вони вимагають великого поліноміального часу (а не часу O (км), який би мався на увазі за алгоритмом k-pass). Особливо дивіться посилання на статтю Томпа про те, чому спрямований вигляд здається важким.


1
М. Томпа, Два знайомих алгоритму транзитивного замикання, які не допускають поліноміального часу, здійснення підлінійного простору , SIAM J. Comput. 11 (1), 130–137. dx.doi.org/10.1137/0211010
Андрас Саламон

У цьому документі подано "алгоритм для st-підключення, який працює одночасносуб-лінійне простір і за поліноміальний час ».


3

Йоссі Шилоах, Узі Вишкін. Алгоритм паралельної зв’язності O (log n). J. Algorithms, 1982: 57 ~ 67 - Один з моїх улюблених праць. Було б цікаво, якби ви могли це зробити в просторі O ((nlogn / k) / p) з процесорами p вк раунди, де кожен раунд кожного процесора дозволяється читати лише в O (n / p) ребер.


Дякую за вказівник, це цікава стаття. Процесори мають загальний доступ до структури даних, яка є щонайменше такою ж величиною, як графік, тому це не допомагає зменшити використання місця. Дійсно було б цікаво, якби був спосіб зменшити використання місця, використовуючи кількість раундів, а також кількість процесорів.
Андрас Саламон

2

Ще одна невідповідь: є кілька робіт про алгоритми стилю mapreduce, що працюють на великих графіках. Метою є досягнення простору o (m) на машині для щільних графіків, але зазвичай потрібно O (n) місця на машині.

теорія.stanford.edu/~sergei/papers/soda10-mrc.pdf http://theory.stanford.edu/~sergei/papers/spaa11-matchings.pdf


1

Також не відповідь, але ви можете вирішити st-підключення в О(нжурналн/к) недетермінований простір з кпропускає. Просто вгадайте першен/к вузли ст шлях і перевірте, що вони підключені в першому раунді, а потім продовжуйте з останнього з них н/к вершин і перевірте наступну н/к від ст шлях тощо.

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