Ich versuche, eine Taxonomie von Algorithmen zur Umwandlung regulärer Ausdrücke in Automaten zu erstellen, um einige empirische Tests ihrer Komplexitätseigenschaften in bestimmten Bereichen durchzuführen.
Mir sind einige der "größeren" Namen bekannt, z.
Thompson
"Regular Expression Search Algorithm", Thompson, 1968
Glushkov
"Ein neuer quadratischer Algorithmus zur Umwandlung eines regulären Ausdrucks in einen Automaten", Ponty et al. al, 1996
Antimirov
"Partielle Ableitungen regulärer Ausdrücke und endlicher Automatenkonstruktionen", Antimirov, 1996
Folgen
"Follow Automata", Ilie et al. al, 2003;
"Berechnung des folgenden Automaten eines Ausdrucks", Champarnaud, et. al, 2002
Hromkovic
"Übersetzung regulärer Ausdrücke in kleine e-freie nichtdeterministische endliche Automaten", Hromkovic, et. al, 2001
und ihre unterscheidenden Eigenschaften (Epsilon-Freiheit, Determinismus, Größe, Minimierung usw.), aber ich weiß, dass dies keine vollständige Liste ist.
Ich interessiere mich besonders für Algorithmen, die entweder signifikant andere Zeitkomplexitäten als die oben aufgeführten aufweisen und / oder signifikant unterschiedliche Topologien aufweisen.
Wenn Sie andere kennen, wäre ein Link zu einem Artikel, der den Konstruktionsalgorithmus im Detail beschreibt , sehr willkommen (lesen Sie unbedingt, wenn ich ihn implementieren möchte!).
Bearbeiten: Einige Referenzen wie gewünscht hinzugefügt.
Antworten:
Watson (Tech. Rep. Univ. Eindhoven 1995) hat eine Taxonomie endlicher Automatenkonstruktionsalgorithmen geschrieben; Einige neuere Entwicklungen sind unten aufgeführt.
Für NFAs mit Epsilon-Übergängen enthält das Parsing-Theoriebuch von Sippu / Soisalon-Soininen (Springer, 1998) eine Variante von Thompsons Konstruktion. Ilie und Yu (I & C 2003) sowie Gulan und Fernau (FSTTCS 2008) geben raffinierte Versionen der klassischen Konstruktion. Die erforderliche Mindestgröße von Epsilon-NFAs, die regulären Ausdrücken entspricht, wird von Gruber und Gulan weiter untersucht (LATA 2010). Die Struktur der zugrunde liegenden Digraphen, die sich aus Thompsons Konstruktion ergeben, wird von Giammarresi, Ponty, Wood & Ziadi (Discr. Appl. Math 2004) und Gulan (Tech. Rep. Univ. Trier, 2010) untersucht.
In Bezug auf epsilonfreie NFAs möchte ich die früheren Arbeiten von Berry & Sethi (TCS 1986) und Brüggemann-Klein (TCS 1993) erwähnen, die jedoch wahrscheinlich von Watsons Taxonomie abgedeckt werden.
Hagenah und Muscholl (RAIRO 2000) geben eine schnelle parallele Version des Algorithmus von Hromkovic, Seibert & Wilke (HSW). Die anfängliche Untergrenze der Größe (Anzahl der Übergänge) von epsilonfreien NFAs durch HSW wird durch Lifshits verbessert (IPL 2003). Geffert (JCSS 2003) verbessert die Obergrenze bei binären Alphabeten; Später verbessert Schnitger (STACS 2006) die Untergrenze der Größe von epsilonfreien NFAs (für weitgehend wachsende Alphabetgrößen erzeugt der Algorithmus von HSW asymptotisch optimale NFAs) und zeigt, dass die Größe reicht für binäre Alphabete aus.n⋅2O(log∗n)
Beachten Sie auch: In Bezug auf schnelle Algorithmen für den Abgleich regulärer Ausdrücke sind mir die jüngsten Arbeiten von Bille und Thorup bekannt (ICALP 2009, SODA 2010). Sie verwenden die klassische Thompson-Konstruktion (plus natürlich viele Tricks, um Geschwindigkeit zu erreichen).
quelle
Eines, das in Ihrer Liste nicht berücksichtigt wird, sind Derivate regulärer Ausdrücke von Janusz Brzozowski, Journal of the ACM 1964, das kürzlich von Scott Owens, John Reppy und Aaron Turon in Derivaten regulärer Ausdrücke erneut untersucht wurde. Journal of Functional Programming (2009), 19: 173-190 , die eine praktische Implementierung der Technik für eine erweiterte Notation für reguläre Ausdrücke bieten.
quelle