DAG-Erreichbarkeit mit O (n log n) -Raum- und O (log n) -Zeitabfragen?

17

Für einen gerichteten azyklischen Graphen , gibt es eine Datenstruktur , die , ohne dass quadratischen Raum oder lineare Zeit für die Erreichbarkeit Abfragen erlaubt? Idealerweise suche ich einen Algorithmus, der nur O (log n) Raum pro Vertex und logarithmische Zeit verwendet,V,E wobei .n=|V|+|E|

Es schien mir intuitiv klar, dass eine solche Datenstruktur existieren sollte, die auf einer Verallgemeinerung von Standardsortieralgorithmen basiert. Aber ich war überrascht, dass ich keine finden konnte. Alles, was mir begegnet ist, hat entweder Annahmen über den Graphen gemacht (zB Planarität) oder ein schwierigeres Problem in quadratischer Zeit / Raum gelöst (zB Abfragen, die mit Graphenmodifikationen verschachtelt sind).

Die Wikipedia-Seite zur Erreichbarkeit deckt nur einen allgemeinen Algorithmus ab (Floyd-Warshall). Der Rest der Seite befasst sich mit Sonderfällen, bei denen Annahmen wie das Diagramm planar sind (was nicht der Fall ist).

Das am häufigsten zitierte Papier in diesem Bereich scheint die Amortisierte Effizienz einer Pfadabrufdatenstruktur zu sein , aber dieses und alle darin zitierten Papiere beinhalten entweder O (n ^ 2) Raum oder auch O (n ^ 2) Zeit, um dies zu ermöglichen Aktualisierungen des mit den Abfragen verschachtelten Diagramms (dh keine Vorverarbeitung).

Diese Frage wurde nicht beantwortet, befasst sich jedoch mit dem schwierigeren Problem, mit Abfragen verschachtelte Kanteneinfügungen zuzulassen.

Diese Frage stellte die Frage nach einer persistenten (rein funktionalen) Datenstruktur, die hier nicht benötigt wird. Das Papier "Succinct Posets" benötigt Platz, aber es werden O ( 1 ) -Zeitabfragen ausgeführt. Ich suche einen Algorithmus mit schlechterer Zeit und besserem Raum.O(n2)O(1)

Meist auf der Suche nach einem Stand in der Literatur. Wenn es eine Umfrage zur Erreichbarkeit von Diagrammen gibt, die nicht 99% ihrer Zeit mit dem Fall von planaren Diagrammen verbringt, würde das helfen.

user4718
quelle
Danke für den Link RB. Diese Frage und die erste Antwort befassen sich nicht mit dem Raum (mit Ausnahme einer kurzen Erwähnung eines quadratischen Raums, den diese Frage verbessern soll). Die zweite Antwort bezieht sich eher auf ein negatives Ergebnis für Entfernungsabfragen (dh ganzzahlige oder reelle Werte) als auf die Erreichbarkeit (dh {0,1} -bewertet), die ein einfacheres Problem darstellen. Trotzdem danke!
User4718
Shortcut-Routing oder die von Christian Sommer in der entsprechenden Frage erwähnten Referenzen könnten in der Praxis funktionieren. Suchen Sie einen praktischen Ansatz oder theoretische Untergrenzen?
András Salamon
6
n2uv

Antworten:

3

Siehe "Intervallkennzeichnung" und "2-Hop-Kennzeichnung", die in der Praxis anscheinend zeitlich und räumlich recht effizient sind und Ihnen möglicherweise das geben, was Sie möchten. Im Allgemeinen gibt es eine ganze Reihe von "Erreichbarkeitsindexierungs" -Schemata für DAGs.

jkff
quelle