Minimaler DFA, der eine endliche Sicht auf eine Sprache erfüllt


12

Angenommen, man hat eine Sprache , aber man weiß nicht, welche Zeichenfolgen tatsächlich Teil der Sprache sind. Alles, was man hat, ist eine endliche Sicht auf die Sprache: eine endliche Menge von Strings , von denen bekannt ist, dass sie in der Sprache sind, und eine endliche Menge von Strings , die bekannt sind nicht in der Sprache sein. A L B ( Σ *L )LΣALB(ΣL)

ich habe und . Ich könnte die Sprache , da und mit übereinstimmen , oder ich könnte eine vollständig haben andere Sprache.A={ab,aaab,aaaaabb}B={b,aab,aaaba}L={a2i+1bj | i,jN}ABL

Meine Frage ist: Gibt es eine bekannte Möglichkeit, eine DFA (deterministische endliche Automaten) zu erstellen, die die Zeichenfolgen in akzeptiert und die Zeichenfolgen in mit einer minimalen oder fast minimalen Anzahl von Zuständen zurückweist ? Wie komplex ist dieses Problem? Wie gut ist es, zu approximieren (vorausgesetzt, hat eine relativ geringe beschreibende Komplexität und und sind groß)?ABLLAB

Ursprüngliche Frage auf math.stackexchange.com. Ich entschied mich, hier einen neuen Beitrag zu schreiben, nachdem ich keine Antworten auf die ursprüngliche Frage erhalten hatte und keine Ahnung hatte, wo ich nach ihnen suchen sollte. Wenn jemand mich auf die Forschung in diesem Bereich hinweisen könnte, wäre er sehr dankbar.



2
Levs gut geschriebene Antwort auf die Frage, die ich verknüpft habe, deckt bereits die Unannäherbarkeit ab.
Tsuyoshi Ito

6
Ich schrieb auch eine Blog - Post , die als meine ursprüngliche Antwort mehr ins Detail geht cstheory.blogoverflow.com/2011/08/on-learning-regular-languages
Lev Reyzin

1
Ich kann den Unterschied zwischen "Ihrer Version" und dem in der Antwort zitierten Unannäherungsergebnis Lev nicht erkennen. Außerdem kann ich den Zusammenhang zwischen "Ihrer Version" und "In die andere Richtung" nicht erkennen.
Tsuyoshi Ito

1
@ TsuyoshiIto Eigentlich scheint Levs Antwort "meine Version" zu beantworten! Ich habe den Blog-Beitrag oben gelesen und nicht (zumindest habe ich ihn nicht gefunden). Aber Levs ursprüngliche Antwort war richtig. Was die Verbindung zwischen "Meine Version" und "In die andere Richtung" betrifft ... Wenn wir und generieren können , bedeutet dies, dass die Antwort auf "Meine Version" nicht immer negativ ist. Parekh und Honavars Artikel verwenden diese Idee, um zu beweisen, dass einfache DFAs mit beliebig hoher Wahrscheinlichkeit lernbar sind. Wie soll man diese Frage auf jeden Fall schließen? BAB
Francisco Mota

Antworten:


5

Wie Sie bereits aus den Kommentaren wissen, ist es -hard , den minimalen DFA zu finden, der eine endliche Menge positiver und negativer Beispiele erfüllt . Es ist jedoch nicht alle Hoffnung verloren, wenn Sie bereit sind, Ihr Lernparadigma geringfügig zu ändern, können wir zu P zurückkehren .NPP

Angenommen, Sie versuchen, ein unbekanntes DFA zu lernen, das für einige Sprachen L W minimal ist . Wenn Sie den Oracle - Mitgliedschaft Abfragen ermöglichen und als Lehrer zu wirken , indem sie die folgende Frage zu beantworten: Bei einem vorgeschlagenen DFA G tut es erkennt L W ? Wenn nicht, können Sie ein Gegenbeispiel liefern?WLWGLW

Beachten Sie, dass, wenn das Orakel Zugriff auf es G mit W in Polyzeit vergleichen kann , da das Testen der Gleichheit zwischen regulären Sprachen einfach ist. Das Erzeugen eines Gegenbeispiels kann auch in Polynomzeit erfolgen.WGW

In diesem Rahmen können Sie in der Polynomzeit mit dem Angluin- Algorithmus ( 1987 ; pdf ) lernen (oder mit Schapires Verfeinerung ; siehe Abschnitt 5.4.5). Weitere Informationen zu diesem Modell finden Sie in den folgenden zwei Fragen zu cstheory und CS.SE:W


0

Es scheint mir, dass Sie eine Verfeinerung der Myhill-Nerode-Äquivalenz für dieses Problem verwenden können.

Wir definieren , wenn es vorhanden ist x & Sigma; so dass u x A und v x B . Dies bedeutet, dass sich jeder Automat, der A von B trennt , nach dem Lesen von u und v in verschiedenen Zuständen befinden muss .uvxΣuxAvxBABuv

Es reicht aus, diese Beziehung über Präfixe von Elementen von und B zu untersuchen . Dies gibt Ihnen eine Untergrenze für die Anzahl der Staaten, die Sie benötigen. Ich bin mir nicht sicher, ob es Ihnen direkt einen Weg gibt, den Minimalautomaten zu bauen, aber es ist zumindest ein Weg, den Sie erkunden müssen.AB


-1

Ich denke, dieses Problem wurde möglicherweise vom Fragesteller ungenau formuliert. Der Fragesteller wünscht sich anscheinend einen Algorithmus, der unendliche Wörter auf der Grundlage bestimmter Beispiele für endliche Wörter verallgemeinert, indem er eine Art mechanisierte Induktion verwendet, dh offensichtliche Muster in den Beispielen erkennt.

Neben einigen in Kommentaren zitierten Untersuchungen zur CS-Theorie gibt es auch weitere empirische Untersuchungen in diesem Bereich, z. B. unten, bei denen ANNs verwendet werden, um FSMs aus Beispielen zu erstellen. Beachten Sie, dass für das Ergebnis immer ein Standard-DFA-Minimierungsalgorithmus ausgeführt werden kann. Die AT & T FSM-Bibliothek ist gut für die Arbeit in diesem Bereich.

Der Fragesteller ist nicht spezifisch in Bezug auf seine Problemdomäne. Dies kann helfen, die Struktur von Beispielen zu verstehen und spezifischere Referenzen zu erhalten. Ein Beispiel dafür sind KI-Algorithmen in Spielen, die FSM-Algorithmen verwenden. Ich vermute, dass es einige Fälle gibt, in denen die FSM anhand von Beispielen mit Lernalgorithmen gelernt werden.

[1] Lernen einer Klasse großer endlicher Zustandsmaschinen mit einem wiederkehrenden neuronalen Netzwerk C. Lee Giles, 1, BG Horne, T. Lin 1995

[2] Learning FSMs with Self-Clustering Recurrent Networks von Zeng & Smyth 1993

[3] AT & T FSM-Bibliothek


1
Ihr zweiter Link verlinkt nur auf diese Frage. Wo soll es verlinken?
Artem Kaznatcheev

oops, thx, fixed
vzn
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.