Es gab einige Fragen ( 1 , 2 , 3 ) zur transitiven Vervollständigung, die mich zum Nachdenken gebracht haben, ob so etwas möglich ist:
Angenommen, wir erhalten einen eingabegerichteten Graphen und möchten Fragen vom Typ " ?" Beantworten , dh fragen, ob bei der transitiven Vervollständigung eines Graphen eine Kante zwischen zwei Eckpunkten existiert . (äquivalent: " in einen Pfad von nach ?").
Angenommen, nach gegebenem Sie die Vorverarbeitung in der Zeit ausführen und müssen dann die Anfragen in der Zeit beantworten .
Wenn (dh keine Vorverarbeitung zulässig ist), können Sie eine Anfrage natürlich am besten in der Zeit beantworten . (Führen Sie DFS von nach und geben Sie true zurück, wenn ein Pfad vorhanden ist.)
Ein weiteres triviales Ergebnis ist, dass Sie, wenn , den transitiven Abschluss berechnen und dann Fragen in beantworten können .
Was ist mit etwas in der Mitte? Wenn Sie z. B. Vorverarbeitungszeit zulassen, können Sie Anfragen schneller als beantworten ? Vielleicht auf verbessern ?
Eine andere Variante ist: Angenommen, Sie haben eine Vorverarbeitungszeit von , aber nur Speicherplatz. Können Sie die Vorverarbeitung verwenden, um Anfragen zu beantworten, die effizienter sind als ?
Können wir generell etwas über den Kompromiss sagen , der die Beantwortung solcher Fragen ermöglicht?
Eine etwas ähnliche Kompromissstruktur wird bei GPS-Systemen in Betracht gezogen, bei denen das Halten einer vollständigen Routing-Tabelle aller paarweisen Entfernungen zwischen Standorten nicht möglich ist. Daher wird die Idee von Entfernungsorakeln verwendet, die eine Teiltabelle speichern, aber eine erhebliche Abfragebeschleunigung über die Berechnung der Entfernung des Ganzen ermöglichen Grafik (ergibt normalerweise nur einen ungefähren Abstand zwischen Punkten).
Antworten:
Für planare Graphen gibt es Orakel mit kompakter Erreichbarkeit.
Mikkel Thorup: Kompakte Orakel für Erreichbarkeit und ungefähre Entfernungen in planaren Digraphen . J. ACM 51 (6): 993 & ndash; 1024 (2004)
sind aber "schwer" für allgemeine Graphen (auch spärliche Graphen)
Mihai Patrascu: Vereinheitlichung der Landschaft der unteren Grenzen der Zellsonde . SIAM J. Comput. 40 (3): 827 & ndash; 847 (2011)
Trotzdem gibt es einen Algorithmus, der eine nahezu optimale Erreichbarkeitskennzeichnung berechnen kann
Edith Cohen, Eri Halperin, Uri Zwick, Haim Kaplan: Erreichbarkeits- und Entfernungsabfragen über 2-Hop-Etiketten . SIAM J. Comput. 32 (5): 1338 & ndash; 1355 (2003)
Maxim A. Babenko, Andrew V. Goldberg, Anupam Gupta, Viswanath Nagarajan: Algorithmen zur Optimierung von Hub-Labels . ICALP 2013: 69 & ndash; 80
Aufbauend auf der Arbeit von Cohen et al. und andere, es gibt ziemlich viel angewandte Forschung (Datenbankgemeinschaft), siehe z
Ruoming Jin, Guan Wang: Einfaches, schnelles und skalierbares Oracle . PVLDB 6 (14): 1978-1989 (2013)
Yosuke Yano, Takuya Akiba, Yoichi Iwata und Yuichi Yoshida: Schnelle und skalierbare Erreichbarkeitsabfragen in Diagrammen durch beschnittene Beschriftung mit Orientierungspunkten und Pfaden . CIKM 2013: 1601 & ndash; 1606
quelle
Ich werde Ihre Frage teilweise beantworten: Es scheint einige Gründe zu geben, warum eine solche Konstruktion schwer zu bekommen sein kann.
quelle