Warum sollten wir alle drei Darstellungsformen endlicher Automaten untersuchen?


9

DFA, NFA und epsilon NFA alle drei ermöglichen es uns, eine bestimmte reguläre Sprache darzustellen. Mit jeder dieser Darstellungen können wir zu demselben regulären Ausdruck gelangen. Warum müssen wir dann alle drei Darstellungsformen endlicher Automaten untersuchen? Es kann eine Erklärung geben, was NFA tun kann, was DFA nicht kann. Das heißt, NFA könnte uns beim Entwerfen von Unsicherheiten helfen. Zum Beispiel haben wir beim Entwerfen eines Spiels (Schach) viele Möglichkeiten, eine bestimmte Figur von einem bestimmten Ort zu verschieben, der mit NFA leicht dargestellt werden kann. Aber was nützt epsilon NFA, wenn dies auch mit NFA oder DFA möglich ist?


2
Es gibt mehr als drei. Dies sind nur die, die normalerweise in Lehrbüchern zu finden sind. Epsilon-Übergänge sind nützlich, um Theoreme zu beweisen, aber ich bin nicht sicher, ob ich sie in Modellen für sich selbst verwendet habe.
wvxvw

3
@wvxvw, der Algorithmus zum Übersetzen eines regulären Ausdrucks in eine NFA verwendet Übergänge auf sehr natürliche Weise. Sie sind nicht "nur für Beweise", sie sind in einem nicht deterministischen Umfeld ganz natürlich. ϵ
vonbrand

Antworten:


13

Fügen Sie reguläre Grammatiken für eine vierte hinzu. Da sind andere...

Ein Teil des Interesses an DFA + NFA besteht darin, dass es sich um einfache Berechnungsmodelle handelt, mit NFA- (und NFA-) Beispielen für Nichtdeterminismus (eine entscheidende Idee für komplexere Modelle). Um zu beweisen, dass DFA und NFA die gleichen Sprachen akzeptieren, wird auch ein sehr wichtiges Phänomen in einer einfachen, verständlichen Umgebung untersucht.ϵ

Reguläre Ausdrücke (und auch reguläre Grammatiken) sind völlig unterschiedliche Formalismen, die zufällig denselben Satz von Sprachen beschreiben. Der Beweis dieser Tatsache untersucht wiederum wichtige Wechselbeziehungen und ist ein Beispiel dafür, dass Formalismen sehr unterschiedlich aussehen können, auf radikal unterschiedlichen Konzepten beruhen, aber dieselben Sprachen beschreiben. Wieder in einer ziemlich einfachen Umgebung.

Für die Verwendung in der "realen Welt" können Sie mit einem regulären Ausdruck beginnen und einen minimalen DFA für die Hochleistungssuche erhalten. Digitale Schaltkreise sind im Wesentlichen DFAs, deren Verständnis in der Computertechnik von zentraler Bedeutung ist. Last but not least können Systeme aufgrund externer Reize häufig als "in einem Zustand sein" und "in einen anderen übergehen" modelliert werden, selbst wenn das System sehr weit von einem echten DFA entfernt ist, wenn es auf diese Weise betrachtet wird, kann dies zum Verständnis beitragen.

Später hinzugefügt: Wie von Raphael festgestellt, kann es effizienter sein, eine NFA direkt für die Suche zu interpretieren, da das Erstellen eines DFA teuer und eine NFA viel kleiner sein kann.


1
"Es gibt andere" - Dutzende ....
Raphael

1
Vielleicht möchten Sie erwähnen, dass NFA nützlich sein kann (wenn DFA die einzige Alternative sind), weil sie viel kleiner sein können, aber es ist nicht viel teurer, eine zu verwenden, um zu überprüfen, ob ein Wort akzeptiert wird.
Raphael

5

Es gibt eine Vielzahl von Gründen, die unterschiedlichen Formen / Entsprechungen von DFAs gegenüber NFAs zu untersuchen. Hier sind einige ausgewählte Highlights aus der fortgeschrittenen Komplexitätstheorie.

  • NFAs sind ein interessantes Modell für die "parallele Berechnung". Man kann die Weiterentwicklung von Staaten durch die NFA als eine parallele Version der DFA-Berechnung betrachten. Daher spiegeln DFA- und NFA-Berechnungen einen Teil der Unterscheidung zwischen sequentieller und paralleler Berechnung wider. Durch den Vergleich beider Kontexte hilft es auch, die inhärente algorithmische Komplexität von Problemen zu untersuchen.

  • NFAs werden häufig in Matching-Systemen für reguläre Ausdrücke verwendet (in allen Sprachen, insbesondere in modernen Sprachen, die in der Unix-Ära entstanden sind), die normalerweise Beschreibungen von regulären Ausdrücken ermöglichen, die in NFAs konvertiert und möglicherweise in DFAs konvertiert werden, um eine effizientere Suche zu unterstützen.

  • Es gibt noch einige offene Probleme in den Gebieten, die häufig auf der Grundlage der DFA / NFA-Korrespondenz untersucht werden. siehe zB gibt es noch offene Probleme mit DFAs (cstheory stackexchange). Es ist etwas erstaunlich, dass einige von ihnen mit sehr tiefen CS-Bereichen verbunden sind, einschließlich des P-gegen-NP-Problems, dh der Schnittpunkt-Nichtleere von DFAs . Ein weiterer offener Bereich ist beispielsweise die Berechnung des minimalen NFA für einen DFA .

  • Siehe auch für einige verwandte Einsichten diese semifame / hochstimmige Frage auf cstheory.se : Was ist die Erleuchtung, die ich nach dem Studium endlicher Automaten erreichen soll?

  • Es gibt sehr unterschiedliche Anwendungen von DFAs gegenüber NFAs, und die Korrespondenz zwischen beiden wird häufig in ihnen ausgenutzt. String String Pattern Matching wurde oben erwähnt, aber DFA / NFA-Konstruktionen werden häufig bei der (automatisierten) Spracherkennung verwendet. siehe z. B. dieses häufig zitierte Papier: Gewichtete Finite-State-Wandler in der Spracherkennung / Mohri, Pereira, Riley


2

DFAs sind einfacher zu implementieren als NFA, da ihr nächster Status durch eine Funktion bestimmt wird und NFAs einem Benutzer helfen, das, was er als Ausgabe wünscht, einfach auszudrücken, da der NFA zwischen mehreren Pfaden wählen kann. und epsilon-NFA ist eine Erweiterung von NFA, bei der Übergänge ohne Eingabesymbole durchgeführt werden können.


2
Zusammenfassend: NFAs vermitteln die Idee des Nichtdeterminismus, was eine sehr tiefgreifende Idee ist (ihre "Erfinder", Michael O. Rabin und Dana S. Scott, haben den Turing-Preis für diese Ideen gewonnen)
Ran G.

1

Die Anzahl der DFA-Staaten hat eine schlimme Sache. Es explodiert manchmal .

Kurz gesagt, wenn die Anzahl der Zustände einfach zu hoch ist (immer noch begrenzt, aber wir leben in einer physischen Welt), müssen Sie den Abstraktionsgrad erhöhen, um mit der Komplexität der Kosten einer gewissen Verlangsamung fertig zu werden. Die anderen Modelle, wie NFAs und AFAs, sollen prägnantere Möglichkeiten zur Darstellung regulärer Sprachen bieten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.