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?


Kennst du den Namen dieses Satzes?
Artem Kaznatcheev

@ArtemKaznatcheev: Nein, keine Ahnung. Wikipedia gibt leider auch keinen Hinweis :(
Alex ten Brink

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


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

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).

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
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.