Обчислення перехідного завершення / шляху існування оракула


9

Тут було кілька запитань ( 1 , 2 , 3 ) про транзитивне завершення, які змусили мене задуматися, чи можливо щось подібне:

Припустимо, ми отримуємо графік, спрямований на введення G і хотів би відповісти на запити типу "(u,v)G+? ", тобто запитувати, чи існує край між двома вершинами при перехідному завершенні графа G? (рівнозначно, "чи існує шлях відu до v в G? ").

Припустимо після даного G вам дозволяється вчасно запустити попередню обробку f(n,m) а потім потрібно вчасно відповідати на запити g(n,m).

Очевидно, якщо f=0 (тобто попередня обробка не дозволена), найкраще вчасно відповісти на запит g(n)=Ω(n+m). (запустити DFS зu до v і повернути істину, якщо існує шлях).

Ще один банальний результат - це якщо f=Ω(min{nm,nω}), ви можете обчислити перехідне закриття, а потім відповісти на запити в O(1).

А що з серединою? Якщо вам дозволено, скажітьf=n2 час попередньої обробки, чи можете ви відповідати на запити швидше, ніж O(m+n)? Можливо, покращити йогоO(n)?

Інший варіант: припустимо, що у вас є poly(n,m) час попередньої обробки, але тільки o(n2) простір, чи можете ви використовувати попередню обробку для відповіді на запити ефективніше, ніж O(n+m)?

Чи можемо ми сказати що-небудь про це f,g компроміс, що дозволяє відповідати на такі запити?

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


Відстань Хеммінга між якими двома вузлами i і j може зайти в tхміль може бути більш інформативним показником.
Чад Брюбекер

Відповіді:


6

Для плоских графіків існують компактні оракули доступності,

Mikkel Thorup: Компактні оракули для досягнення доступності та приблизних відстаней на площинах . J. ACM 51 (6): 993-1024 (2004)

але вони "важкі" для загальних графіків (навіть розріджених графіків)

Михай Патраску: Уніфікація ландшафту нижньої межі клітинних зондів . SIAM J. Comput. 40 (3): 827-847 (2011)

Тим не менш, існує алгоритм, який може обчислити наближення до оптимальної мітки досяжності

Едіт Коен, Еран Гальперін, Хаїм Каплан, Урі Цвік: Доступність та дистанційні запити за допомогою 2-Hop Labels . SIAM J. Comput. 32 (5): 1338-1355 (2003)

Максим А. Бабенко, Ендрю В. Гольдберг, Анупам Гупта, Вісванат Нагараджан: Алгоритми оптимізації міток Хаб . ICALP 2013: 69-80

Спираючись на роботу Коена та ін. та інших, є досить багато прикладних досліджень (спільнота баз даних), див

Румун Джин, Гуан Ван: Простий, швидкий та масштабований доступний оракул . PVLDB 6 (14): 1978-1989 (2013)

Yosuke Yano, Takuya Akiba, Yoichi Iwata, Yuichi Yoshida: Швидкі та масштабовані запити щодо доступності на графіках шляхом обрізаного маркування з орієнтирами та стежками . CIKM 2013: 1601-1606


4

Я відповім на ваше питання частково: мабуть, є деякі причини, через які таку конструкцію важко отримати.

Припустимо, що з урахуванням будь-якого графа, орієнтованого на ребро на n-вузол, ви можете попередньо обробити його за T (m, n) час, щоб відповісти на запити доступності через q (m, n) час. Тоді, наприклад, ви можете знайти трикутник у m-edge графіку n-вузла вT(O(m),O(n))+nq(O(m),O(n))час. ЗвідсиT(m,n)=O(n2) і q(m,n)=O(n)означав би проривний результат. Найкращий алгоритм пошуку трикутника працюєO(nω) час і незрозуміло, чи буде ω=2.

Щоб побачити зменшення, припустимо, ми хочемо знайти трикутник у деякому графіку G. Побудуйте 4-шаровий графік на 4 наборахn вузли кожен X,Y,Z,W де кожен вихідний вузол v в G має копії vX,vY,vZ,vW. Тепер для кожного краю(u,v) в G додайте спрямовані краї (uX,vY),(uY,vZ),(uZ,vW). Це завершує графік. Тепер виконайте попередню обробку вT(O(m),O(n)) час і задайте запити про vX,vW для кожного v.

Можливо, за допомогою ще однієї роботи можна змінити зменшення, щоб також перерахувати трикутники в графіку (на даний момент він перелічує лише вузли в трикутниках). Якщо можна зробити це ефективно, то, ймовірно, можна отримати деяку умовну нижню межу на основі 3SUM, що вимагаєn2+o(1) також, використовуючи результат Патраску з 2010 року.

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