Core Concepts
Wir präsentieren den ersten Algorithmus, der eine subquadratische Anzahl von Teilordnungsanfragen verwendet, um die lineare Ordnung unter Verwendung von O(log e(P)) linearen Ordnungsanfragen zu ermitteln, wobei e(P) die Anzahl der linearen Erweiterungen der Teilordnung P ist.
Abstract
Der Artikel befasst sich mit dem Problem des Sortierens unter partieller Information. Dabei ist gegeben:
Eine Grundmenge X der Größe n
Eine partielle Ordnung P, die als partielle Orakel-Abfrage OP bereitgestellt wird
Ein lineares Orakel OL, das eine unbekannte lineare Ordnung L auf X spezifiziert, die P erweitert
Das Ziel ist es, die lineare Ordnung L mit möglichst wenigen linearen Orakel-Abfragen zu ermitteln.
Der Artikel präsentiert einen neuen Algorithmus, der in zwei Phasen arbeitet:
In der Preprocessing-Phase interagiert der Algorithmus mit dem partiellen Orakel OP und bereitet die Daten für die Abfragephase vor. Für jede Konstante c ≥1 zeigen wir, wie die Preprocessing-Phase in O(n1+1/c) Zeit durchgeführt werden kann.
In der Abfragephase kann der Algorithmus dann die lineare Ordnung L in O(c log e(P)) Zeit und linearen Orakel-Abfragen ermitteln, wobei e(P) die Anzahl der linearen Erweiterungen von P ist. Wir zeigen, dass dieses Ergebnis asymptotisch optimal ist.
Der Schlüssel zu unserem Algorithmus ist, dass wir eine Zerlegung von P in eine Menge großer Antiketten und eine Menge von höchstens w Ketten berechnen. Dies ermöglicht es uns, die Preprocessing-Phase zu beschleunigen, ohne die Qualität der Abfragephase zu beeinträchtigen.
Stats
Die Preprocessing-Phase verwendet O(n1+1/c) Teilordnungsanfragen und Zeit.
Die Abfragephase verwendet O(c log e(P)) lineare Ordnungsanfragen und Zeit.
Quotes
"Wir präsentieren den ersten Algorithmus, der eine subquadratische Anzahl von Teilordnungsanfragen verwendet, um die lineare Ordnung unter Verwendung von O(log e(P)) linearen Ordnungsanfragen zu ermitteln."
"Wir zeigen, dass dieses Ergebnis asymptotisch optimal ist."