Core Concepts
Der Artikel präsentiert einen verbesserten Algorithmus zur Lösung des Problems der Konstruktion optimaler Faktorisierungsautomaten, der eine bessere Laufzeit als der zuvor bekannte Algorithmus aufweist.
Abstract
Der Artikel befasst sich mit dem Problem der Konstruktion optimaler Faktorisierungsautomaten (OFA), das in der Kontextunifikation für die effiziente Ausführung von Logikprogrammen auftritt. Gegeben ist eine geordnete Menge von n Strings der Länge m. Das Ziel ist es, eine trie-ähnliche Baumstruktur minimaler Größe zu konstruieren, in der die Blätter in der linken-rechts-Reihenfolge die Eingabestrings in der gegebenen Reihenfolge repräsentieren.
Der Artikel präsentiert einen verbesserten Algorithmus, der das Problem in O(n^2m) Zeit löst, was eine Verbesserung gegenüber dem zuvor bekannten Algorithmus von Dawson et al. um den Faktor n+m darstellt. Der Schlüssel zur Verbesserung ist die Wiederverwendung von Informationen aus zuvor berechneten Einträgen der dynamischen Programmierung-Tabelle beim Berechnen neuer Einträge.
Der Algorithmus kann auch an das gewichtete OFA-Problem angepasst werden, ohne dass sich die asymptotischen Laufzeit- und Platzkomplexitäten ändern. Darüber hinaus wird ein Preprocessing-Schritt beschrieben, der eine Datenstruktur erstellt, die es ermöglicht, bestimmte Werte, die vom Algorithmus benötigt werden, effizient abzufragen.
Stats
Die Größe eines optimalen Faktorisierungsautomaten für n Strings der Länge m beträgt |com(1, n)| + D(1, n).
Quotes
Keine relevanten Zitate gefunden.