Calcolo di un oracolo di completamento / percorso transitivo


9

Ci sono state alcune domande ( 1 , 2 , 3 ) sul completamento transitivo qui che mi hanno fatto pensare se qualcosa di simile è possibile:

Supponiamo di ottenere un grafico diretto di input G e vorremmo rispondere a query di tipo " (u,v)G+ ?", Ovvero chiedendo se esiste un margine tra due vertici nel completamento transitivo di un grafico G ? (equivalentemente, "esiste un percorso da u a v in G ?").

Supponiamo che dopo aver dato G ti sia permesso di eseguire la preelaborazione nel tempo f(n,m) e quindi di rispondere alle domande nel tempo g(n,m) .

Ovviamente, se f=0 (cioè non è consentita la preelaborazione), il meglio che puoi fare è rispondere a una query nel tempo g(n)=Ω(n+m) . (eseguire DFS da u a v e restituire true se esiste un percorso).

Un altro risultato banale è che se f=Ω(min{nm,nω}) , puoi calcolare la chiusura transitiva e quindi rispondere alle domande in O(1) .

Che dire di qualcosa nel mezzo? Se hai il permesso, dì f=n2 tempo di preelaborazione, puoi rispondere alle domande più velocemente di O(m+n) ? Forse migliorarlo a O(n) ?

Un'altra variante è: si supponga di avere poly(n,m) tempo pre-elaborazione, ma solo o(n2) lo spazio, si può utilizzare la pre-elaborazione per le query di risposta più efficiente di O(n+m) ?

Possiamo dire qualcosa in generale sul compromesso f,g che consente di rispondere a tali domande?

Una struttura di compromesso un po 'simile è considerata nei sistemi GPS, dove è impossibile tenere una tabella di instradamento completa di tutte le distanze a coppie tra le posizioni, quindi utilizza l'idea di oracoli di distanza che memorizza una tabella parziale ma consente una significativa accelerazione della query sul calcolo della distanza del tutto grafico (di solito fornisce solo la distanza approssimativa tra i punti).


La distanza tra i due nodi e j che possono raggiungere in t hops potrebbe essere una metrica più informativa. ijt
Chad Brewbaker,

Risposte:


6

Esistono oracoli di raggiungibilità compatti per grafici planari,

Mikkel Thorup: oracoli compatti per raggiungibilità e distanze approssimative in digrafi planari . J. ACM 51 (6): 993-1024 (2004)

ma sono "difficili" per i grafici generali (anche i grafici sparsi)

Mihai Patrascu: Unificare il panorama dei limiti inferiori della sonda cellulare . SIAM J. Comput. 40 (3): 827-847 (2011)

Tuttavia, esiste un algoritmo in grado di calcolare un'etichettatura di raggiungibilità quasi ottimale

Edith Cohen, Eran Halperin, Haim Kaplan, Uri Zwick: richieste di raggiungibilità e distanza tramite etichette 2-Hop . SIAM J. Comput. 32 (5): 1338-1355 (2003)

Maxim A. Babenko, Andrew V. Goldberg, Anupam Gupta, Viswanath Nagarajan: algoritmi per l'ottimizzazione dell'etichetta hub . ICALP 2013: 69-80

Basandosi sul lavoro di Cohen et al. e altri, c'è un bel po 'di ricerca applicata (comunità di database) vedi ad es

Ruoming Jin, Guan Wang: Oracle di raggiungibilità semplice, veloce e scalabile . PVLDB 6 (14): 1978-1989 (2013)

Yosuke Yano, Takuya Akiba, Yoichi Iwata, Yuichi Yoshida: query di raggiungibilità rapide e scalabili sui grafici mediante etichettatura potata con punti di riferimento e percorsi . CIKM 2013: 1601-1606


4

Risponderò parzialmente alla tua domanda: sembrano esserci alcuni motivi per cui una simile costruzione potrebbe essere difficile da ottenere.

T(O(m),O(n))+nq(O(m),O(n))T(m,n)=O(n2)q(m,n)=O(n)O(nω)ω=2

GnX,Y,Z,WvGvX,vY,vZ,vW(u,v)G(uX,vY),(uY,vZ),(uZ,vW)T(O(m),O(n))vX,vWv

n2+o(1)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.