Deterministische endliche Automaten zählen


8

Ich habe eine Frage zum Zählen von DFAs:

Wie würde ich bei einer Σ = {0, 1}Eingabezeichenfolge mit festgelegtem Status Q = {1...n}die Gesamtzahl der DFAs ermitteln, die erstellt werden können?

Ich glaube, dies ist ein kombinatorisches Problem, aber ich bin mir nicht sicher, was ich multiplizieren müsste.

Vielen Dank.


Nicht ganz sicher, was Sie unter "konstruiert werden können" verstehen. Meinen Sie, ein DFA hat den Zustand 1, ein anderer die Zustände 1 und 2, ein anderer die Zustände 1, 2 und 3 usw.? In diesem Fall müssen Sie alle möglichen Teilmengen von 1 bis n Zuständen betrachten. Es gibt einen speziellen Namen dafür, aber ich lasse Sie es herausfinden.

Hinweis : Es kommt auch auf die Sprache an! Daher ist für jedes mögliche deterministische Übergangsdiagramm möglicherweise kein DFA der Sprache erforderlich. - Also nicht nur ein kombinatorisches Problem.
Grijesh Chauhan

Wollte antworten, aber es ist schwierig. Folgendes habe ich erhalten: Ein DFA wird durch eine Reihe von Zuständen, eine Reihe von Kanten von Zustand zu Zustand und den Anfangszustand definiert. Es ist also ein gerichteter Graph. Ein binärer DFA hat genau zwei Kanten von jedem Zustand. Jeder Zustand muss vom Ausgangszustand aus erreichbar sein. Dies ist eine stärkere Anforderung als "verbunden", aber schwächer als "stark verbunden".

1
Soll die Zustandsnummer eine beobachtbare Ausgabe sein? Ich würde denken, dass zwei DFAs mit derselben Topologie, aber unterschiedlich nummerierten Zuständen gleich wären. Aber es ist nicht klar aus der Frage. Es ist nicht zu beobachten, dies ist eine wirklich schwierige Frage, die eine Veröffentlichung verdient .

Dieses Problem wird hier nicht mathematisch / genau formuliert, aber eine sorgfältige / strenge Neuformulierung ist wahrscheinlich "tief". scheint ähnlich zu sein Graphisomorphie . Auch eine natürliche / offensichtliche Verallgemeinerung betrifft NFAs. Wie bei der Antwort von JEP ist es auch für einen empirischen / Monte-Carlo-Typ-Schätzungsansatz leicht zugänglich.
vzn

Antworten:



1

Im Wesentlichen ist es das Produkt aller möglichen Übergänge von jedem möglichen Startzustand zu jedem möglichen Satz von Akzeptanzzuständen. Für dieses Beispiel gibt es n ^ (2n) Übergangsmöglichkeiten. Wo es n Gesamtzustände gibt, von denen jeder n mögliche Übergänge pro Kante hat (Eingabesymbol), was uns n ^ (2n) ergibt. Wir haben n mögliche Startzustände und 2 ^ n Akzeptanzzustände (die Potenzmenge möglicher Zustände). Das Produkt aller drei ergibt uns: n ^ (2n) * n * 2 ^ (n).


1
Wenn Sie eine Kennzeichnung der Status von DFAs erzwingen, ist Ihre Antwort möglicherweise korrekt. Ohne Beschriftung (so wird ein DFA definiert) ist dies nicht korrekt. Sie müssen Startzustände berücksichtigen, da Sie jetzt überzählen. Stellen Sie sich einen DFA mit zwei Zuständen vor, dessen Übergänge für ein beliebiges Symbol in den anderen Zustand übergehen. Betrachten Sie den Fall mit zwei Akzeptanzzuständen (akzeptiert immer). Da es zwei Zustände gibt, gibt es zwei mögliche Startzustände. Diese beiden Maschinen sind jedoch genau gleich (Spiegelbilder voneinander). Wenn Sie die Zustände kennzeichnen, sind diese technisch unterschiedlich. Aber ohne sind diese DFAs gleich.
Mdxn

0

TL; DR: n2nnmn

wo Q = n und Σ = m.

Wir werden jedes Element eines DFA-5-Tupels durchgehen, um die verschiedenen Kombinationen herauszufinden, die jeweils einen eindeutigen DFA ergeben würden. Das 5-Tupel besteht aus (Q, Σ,δ, s, F)

s::

Beliebiges 1 Element von Qkann der Startzustand sein. So gibt esQ = n Möglichkeiten zu wählen s.

F:

Eine beliebige Anzahl von Elementen von Q kann Akzeptanzzustände sein, daher sind alle Teilmengen von Q gültige Auswahlmöglichkeiten für F. Die Anzahl möglicher Teilmengen für eine Menge von Kardinalität n beträgt 2n. Eine andere Möglichkeit, dies zu sagen, ist die Kardinalität vonQ's Power Set P(Q) ist 2n

δ::

δ ist definiert als f: Q x ΣQ dh die δ Die Domäne der Funktion ist Q x Σ und seine Reichweite ist Q. Die Kardinalität der Domain istmn wo Q = n und Σ = mund das des Bereichs ist Q = n. So gibt esnmn Möglichkeiten zu wählen δ.

Q und Σsind gegeben; da ist nur1 Weg, um sie zu wählen.

Also die Gesamtzahl der Möglichkeiten, unter den 5 Elementen eines DFA zu wählen, wo Q = n und Σ = m ist

n2nnmn

Besser 5 Jahre zu spät als nie, oder?


Sie sind technisch korrekt, aber ich denke, was OP bedeutete, war die Anzahl der verschiedenen Sprachen solcher DFAs, nicht die Anzahl der DFAs (aber ich könnte mich irren).
Ryan

In der Frage heißt es eindeutig: "Wie würde ich die Gesamtzahl der DFAs finden, die erstellt werden können?"
JJ Skye
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.