Die Frage ist einfach und direkt: Für ein festes , wie viele (verschiedene) Sprachen werden von einem DFA der Größe n (dh n Zustände) akzeptiert ? Ich werde dies formell erklären:
Definieren Sie eine DFA als , wobei alles wie gewohnt ist und δ : Q × Σ → Q eine (möglicherweise partielle) Funktion ist. Wir müssen dies feststellen, da manchmal nur Gesamtfunktionen als gültig betrachtet werden.
Definieren Sie für jedes die (Äquivalenz-) Beziehung ∼ n auf der Menge aller DFAs als: A ∼ n B if | A | = | B | = n und L ( A ) = L ( B ) .
Die Frage ist dann: für ein gegebenes , was ist der Index von ∼ n ? Das heißt, wie groß ist die Menge { L ( A ) ∣ A ist ein DFA der Größe n } ?
Selbst wenn eine Gesamtfunktion ist, scheint es keine einfache Zählung zu sein (zumindest für mich). Die Grafik kann nicht angeschlossen werden, und die Zustände in der angeschlossenen Komponente den Anfangszustand mit allen, könnte die Annahme so zum Beispiel gibt es viele Graphen der Größe n akzeptieren Σ * . Gleiches gilt für andere triviale Kombinationen für die leere Sprache und für andere Sprachen, deren minimaler DFA weniger als n Zustände hat.
(Eine naive) Rekursion scheint auch nicht zu funktionieren. Wenn wir einen DFA der Größe und einen neuen Zustand hinzufügen, müssen wir einen Übergang entfernen, um den neuen Zustand zu verbinden In diesem Fall können wir die Originalsprache verlieren.
Irgendwelche Gedanken?
Hinweis. Ich habe die Frage erneut aktualisiert, mit einer formellen Aussage und ohne die vorherigen ablenkenden Elemente.
Antworten:
Ich denke, dass diese Frage zuvor untersucht wurde. Mike Domaratzki schrieb eine Umfrage zur Forschung in diesem Bereich: "Aufzählung der formalen Sprachen", Bull. 5-1997, Ziff. EATCS, vol. 89 (Juni 2006), 113-133: http://www.eatcs.org/images/bulletin/beatcs89.pdf
quelle