Kleinster DFA, der bestimmte Zeichenfolgen akzeptiert und andere angegebene Zeichenfolgen ablehnt


11

Können wir bei zwei Mengen von Strings über dem Alphabet Σ den kleinsten deterministischen Finite-State-Automaten (DFA) M so berechnen, dass A L ( M ) und L ( M ) Σ B ?A,BΣMAL(M)L(M)ΣB

Mit anderen Worten, repräsentiert eine Reihe positiver Beispiele. Jede Zeichenfolge in A muss vom DFA akzeptiert werden. B repräsentiert eine Reihe negativer Beispiele. Keine Zeichenfolge in B sollte vom EDA akzeptiert werden.AABB

Gibt es eine Möglichkeit, dies zu lösen, möglicherweise mithilfe von DFA-Minimierungstechniken ? Ich könnte mir vorstellen, einen DFA-ähnlichen Automaten mit drei Arten von Zuständen zu erstellen: Zustände akzeptieren, Zustände ablehnen und Zustände "egal" (jede Eingabe, die mit einem Zustand "egal" endet, kann entweder akzeptiert werden oder abgelehnt). Aber können wir dann einen Weg finden, dies auf einen normalen DFA zu minimieren?

Sie können sich dies als das Problem des Lernens eines DFA vorstellen, wenn Sie positive und negative Beispiele geben.

Dies ist inspiriert von Ist Regex Golf NP-Complete? , die ähnliche Fragen für reguläre Ausdrücke anstelle von DFAs stellt.


1
AB

Es gibt viel Literatur zu Lernfunktionen / -sprachen, z. B. unter "Lernen im Grenzbereich" (auch Lernen im Gold-Stil). Diese passen nicht genau zu Ihrem Problem, können aber interessant sein.
Raphael

Antworten:


7

AB

Beachten Sie, dass das Problem, wie @reinierpost feststellt, ohne Einschränkungen für A und B unentscheidbar werden kann.


Wenn A und B beide reguläre Sprachen sind und man willkürlich Eingaben akzeptieren oder ablehnen darf, für die A und B das gleiche Ergebnis liefern würden, sehe ich nicht, wie das Problem unentscheidbar sein könnte. Für einen DFA einer bestimmten Größe wäre es möglich, einen vollständig umfassenden Satz von Eingaben zu erstellen, die er akzeptieren sollte, und Eingaben, die er ablehnen sollte, so dass jeder DFA mit der gleichen Anzahl von Zuständen oder weniger alle Testfälle korrekt behandelt kann garantiert werden, dass sie sich in allen Fällen identisch verhalten. Da eine Maschine, die alles akzeptiert, A akzeptiert und alles andere ablehnt, würde ...
Supercat

... die Bedingungen erfüllen, kann man die Anzahl der Zustände, die eine Maschine enthalten müsste, nach oben begrenzen; Da es eine endliche Anzahl möglicher Maschinen einer bestimmten Größe und eine endliche Anzahl von zu bewertenden Testfällen gibt, könnte man alle möglichen Maschinen erzeugen, die kleiner als A sind, und prüfen, ob eine von ihnen die erforderlichen Bedingungen erfüllt. Nicht gerade ein schneller Weg, um das Problem zu lösen, aber sicherlich entscheidbar, ob A und B regelmäßig sind. Wenn sie nicht regulär sind, kann ein DFA A oder B nicht lösen. Der "Unterschied" kann manchmal regelmäßig sein, selbst wenn A und B nicht regulär sind, aber das ...
Supercat

... wäre ein "ungewöhnlicher" Fall.
Supercat

8

ABAB=AAB

Das Finden des minimalen DFA, der mit einem bestimmten Satz von Zeichenfolgen übereinstimmt, ist NP-vollständig. Dieses Ergebnis erscheint als Satz 1 in Angluins Aufsatz über die Komplexität der minimalen Inferenz regulärer Mengen . Ihr Problem ist also eindeutig auch NP-vollständig.

Viele gute Links und Diskussionen zum Erlernen regulärer Sprachen finden Sie im CSTheory-Blogpost zum Erlernen regulärer Sprachen .


Wenn die Anforderungen so geändert würden, dass ein Automat alles, was sich sowohl in A als auch in B befindet, willkürlich akzeptieren oder ablehnen könnte, wäre das Problem immer für jedes A und B lösbar. Wenn das Finden des optimalen Automaten ohne dies NP-vollständig wäre, wäre es auch mit dieser Anforderung NP-vollständig.
Supercat
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.