Anzahl der Wörter in der regulären Sprache

17

Laut Wikipedia existieren für jede reguläre Sprache L Konstanten λ1,,λk und Polynome p1(x),,pk(x) so dass für jedes n die Anzahl sL(n) von Wörtern der Länge gilt n in L erfüllt die Gleichung

sL(n)=p1(n)λ1n++pk(n)λkn .

Die Sprache L={02nnN} ist regulär ( (00) passt dazu). sL(n)=1 wenn n gerade ist, und wenn sL(n)=0nicht.

Ich kann jedoch nicht die λi und pi (die nach dem oben Gesagten existieren müssen). Da sL(n) differenzierbar und nicht konstant sein muss, muss es sich irgendwie wie eine Welle verhalten, und ich kann nicht sehen, wie man das möglicherweise mit Polynomen und Exponentialfunktionen machen kann, ohne eine unendliche Anzahl von Summanden wie zu erhalten in einer Taylor-Erweiterung. Kann mich jemand aufklären?

Alex ten Brink
quelle
Kennst du den Namen dieses Satzes?
Artem Kaznatcheev
@ArtemKaznatcheev: Nein, keine Ahnung. Wikipedia gibt leider auch keinen Hinweis :(
Alex ten Brink
Allgemeiner: Anzahl der Wörter einer bestimmten Länge in einer regulären Sprache
Gilles 'SO - hör auf, böse zu sein'

Antworten:

14

Für Ihre Sprache, können Sie nehmen , λ 0 = 1 , p 1 ( x ) = 1 / 2 , λ 1 = - 1 und p i ( x ) = λ i = 0 für i > 1 ? Der Wikipedia-Artikel sagt nichts darüber aus, dass die Koeffizienten entweder positiv oder ganzzahlig sind. Die Summe für meine Entscheidungen istp0(x)=1/2λ0=1p1(x)=1/2λ1=1pi(x)=λi=0i>1

1/2+1/2(1)n=1/2(1+(1)n)

Dies scheint 1 für gerade und 0 für ungerade n zu sein . In der Tat scheint ein Beweis durch Induktion einfach zu sein.nn

Patrick87
quelle
Ah ja, natürlich hatte ich das abwechselnde Minuszeichen vergessen. Werde upvoten, sobald der Tag vorbei ist - ich habe die Stimmenobergrenze erreicht.
Alex ten Brink
Für diesen Anspruch ist keine Einführung erforderlich.
Raphael
@Raphael Richtig, aber das macht meine Behauptung nur umso genauer.
Patrick87
11

@ Patrick87 gibt eine großartige Antwort auf Ihren speziellen Fall. Ich dachte, ich würde einen Tipp geben, wie man im allgemeineren Fall jeder Sprache L findet, die durch einen irreduziblen DFA dargestellt werden kann (dh wenn es möglich ist) aus jedem Staat in jeden Staat gelangen). Beachten Sie, dass Ihre Sprache von diesem Typ ist.sL(n)L


Beweis des Theorems für irreduzible DFAs

Lassen Sie die Übergangsmatrix Ihres sein m -state DFA, da es nicht reduzierbar ist, die Matrix ist normal und hat eine vollständige Eigenbasis | λ 1. . . | λ m . Lassen | Ein sein das akzeptieren Vektor: dh i | A ist 1 , wenn i ein Zustand annehmen wird, und 0 sonst. WLOG nehme an, dass | 1 ist der Anfangszustand, und da wir eine komplette Eigenbasis haben, wissen wir, dass | 1 = c 1 |Dm|λ1...|λm|Ai|Ai|1 für einige Koeffizienten c 1 . . . c m (beachtendass c i = & lgr; i | i ).|1=c1|λ1+...+cm|λmc1...cmci=λi|i

Nun können wir einen eingeschränkten Fall des Theorems in der Frage beweisen (beschränkt auf irreduzible DFAs; als Übung diesen Beweis auf den gesamten Theorem verallgemeinern). Da ist die Übergangsmatrix D | 1 der Vektor der Zustände erreichbar , nachdem ein beliebiges Zeichen lesen, D 2 | 1 ist das gleiche für zwei Zeichen usw. Bei einem Vektor | x , A | x ist einfach die Summe der Komponenten | x , die Zustände annehmen. Somit:DD|1D2|1|xA|x|x

sL(n)=A|Dn|1=A|Dn(c1|λ1...cm|λm)=c1λ1nA|λ1+...+cmλmnA|λm=A|λ1λ1|1λ1n+...+A|λmλm|1λmn=p1λ1n+...+pmλmm

Nun wissen wir, dass für einen irreduziblen DFA im m-Zustand sind Polynome nullter Ordnung (dh Konstanten), die von DFA und λ 1 abhängen . . . λ m sind Eigenwerte der Übergangsmatrix.p1...pmλ1...λm

Allgemeiner Hinweis

Wenn Sie dieses Theorem für beliebige DFA beweisen wollen, müssen Sie die Schur-Zerlegung von und dann werden aufgrund der nullpotenten Terme Polynome ungleich null Grad auftauchen. Es ist immer noch aufschlussreich, dies zu tun, da Sie den maximalen Grad der Polynome einschränken können. Sie finden auch eine Beziehung zwischen der Komplexität der Polynome und der Anzahl der λs .Dλ


Bewerbung auf konkrete Fragestellung

Für Ihre Sprache wir die DFA mit Übergangsmatrix auswählen:L

D=(0110)

und akzeptiere vector:

A=(10)

Finden Sie die Eigenvektoren und ihre Eigenwerte mit | λ 1= 1λ1=1undλ2=-1mit| λ2=1|λ1=12(11)λ2=1. Wir können diese verwendenum zu findenp1=1/2undp2=1/2. Uns zu geben:|λ2=12(11)p1=1/2p2=1/2

sL(n)=12+12(1)n
Artem Kaznatcheev
quelle
Vielleicht veröffentlichen hier ?
Raphael
@Raphael, der gefragt wurde, während ich den Beweis fand und meine Antwort abtippte, also wusste ich nichts davon, als ich fragte.
Artem Kaznatcheev
6

Weiter Artems Antwort, hier ist ein Beweis für die allgemeine Darstellung. Wie Artem zeigt, gibt es eine ganzzahlige Matrix und zwei Vektoren x , y, so dass s L ( n ) = x T A n y ist . (Der Vektor x ist der charakteristische Vektor des Startzustands, der Vektor y ist der charakteristische Vektor aller akzeptierenden Zustände und A i j ist gleich der Anzahl der Übergänge von Zustand i zu Zustand j in einem DFA für die Sprache.)Ax,y

sL(n)=xTAny.
xyAijij

Jordan-Theorem besagt , dass über die komplexen Zahlen, eine Matrix mit Blöcken von einem der Formen ähnlich ist ( λ ) , ( λ 1 0A Wennλ0, dann ist dasn

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
λ0nDie Potenzen dieser Blöcke sind Hier istwie wir in diesen Formeln bekommen: den Block als schreibenB=λ+N. Aufeinanderfolgende Potenzen vonNsind aufeinanderfolgende sekundäre Diagonalen der Matrix. Unter Verwendung des Binomialsatzes (unter Verwendung der Tatsache, dassλmitNkommutiert) ist Bn=(λ+n)N=λ
(λn),(λnnλn10λn),(λnnλn1(n2)λn20λnnλn100λn),(λnnλn1(n2)λn2(n3)λn30λnnλn1(n2)λn200λnnλn1000λn),
B=λ+NNλN Wennλ=0 ist, ist der Block nicht potent und wir erhalten die folgenden Matrizen (die Notation[n=k]ist1,wennn=kundsonst0): ( [ n = 0 ] ) , ( [ n = 0 ] [ n = 1 ] 0 [ n = 0 ] ),( [ n = 0 ]
Bn=(λ+n)N=λn+nλn1N+(n2)λn2N2+.
λ=0[n=k]1n=k0
([n=0]),([n=0][n=1]0[n=0]),([n=0][n=1][n=2]0[n=0][n=1]00[n=0]),([n=0][n=1][n=2][n=3]0[n=0][n=1][n=2]00[n=0][n=1]000[n=0])

An(nk)λnk[n=k]

sL(n)=ipi(n)λi(n)+jcj[n=j],
λi,cjpin
sL(n)=ipi(n)λi(n).
Yuval Filmus
quelle
Vielen Dank für die allgemeine Behandlung! Sie sollten in Betracht ziehen, Ihre Antwort mit meiner zu kombinieren und sie als vollständige Antwort auf diese Frage zu veröffentlichen . Ich denke, es wäre hilfreicher als die aktuelle Antwort dort.
Artem Kaznatcheev