Das Kefk Network Wiki befindet sich im Testbetrieb.
Berry-Sethi-Verfahren
Aus Kefk.
Beim Berry-Sethi Verfahren (nach Gérard Berry (* 1948) und Ravi Sethi (* 1947); auch Glushkow-Konstruktion) handelt es sich um einen Algorithmus zur Überführung eines regulären Ausdrucks in einen nichtdeterministischen endlichen Automaten.
Zunächst wird dabei der reguläre Ausdruck in eine Baumstruktur überführt. Die Knoten entsprechen den Regeln des regulären Ausdrucks (z.B. * oder |). Die Blätter repräsentieren die Elemente des Eingabealphabets, also genau die Zeichen aus denen sich gültige Wörter zusammensetzen können. Alle weiteren Berechnungen finden mithilfe dieser Darstellungsform statt.
Stellt man sich nun einen Punkt vor, der beginnend bei der Wurzel des Syntaxbaums um den Baum "herumwandert", so können sukzessive alle Wörter des regulären Ausdrucks erzeugt werden. Mit Hilfe dieses Punktes wird nun der endliche Automat konstruiert. Die Zeitkomplexität des Verfahrens ist
Vorgehensweise
- Bestimme empty[r] für alle Knoten r des Baumes. Dies ist mit einer post-order DFS möglich (DFS: Depth-First Search, Tiefensuche).
- Bestimme first[r] für alle Knoten r des Baumes. Dies ist mit einer post-order DFS möglich.
- Bestimme next[r] für alle Knoten r des Baumes. Dies ist mit einer pre-order DFS möglich.
- Bestimme last[r] für alle Knoten r des Baumes. Dies ist mit einer post-order DFS möglich.
- Integration:
- Die Zustände des Automaten sind:
- Der Startzustand des Automaten ist:
- Der Endzustand des Automaten ist:
- last[e], falls empty[e] = false und
, falls empty[e] = true
- Die Übergänge des Automaten sind:
, falls
und i mit a beschriftet ist, und
, falls
und i' mit a beschriftet ist.
- Die Zustände des Automaten sind:
Das Symbol
markiert hierbei den Punkt, der um den Baum herumwandert. Der resultierende endliche Automat ist im allgemeinen nichtdeterministisch und kann daher noch durch die Potenzmengenkonstruktion deterministisch gemacht werden.
Siehe auch: Algorithmus von Brüggemann-Lange
Literatur
- G. Berry & R. Sethi: From regular expressions to deterministic automata. Theoretical Computer Science 48 (1986) 117–126.
- Glushkov, Viktor M.: The abstract theory of automata. Russian Mathematical Surveys 16 (1961) 1-53.
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Berry-Sethi-Verfahren, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
