# Количество слов в обычном языке

17

Согласно Википедии , для любого регулярного языка существуют константы и полиномы такие что для каждого число слов длины в удовлетворяет уравнению$L$$L$${\lambda }_{1},\dots ,{\lambda }_{k}$$\lambda_1,\ldots,\lambda_k$${p}_{1}\left(x\right),\dots ,{p}_{k}\left(x\right)$$p_1(x),\ldots,p_k(x)$$n$$n$${s}_{L}\left(n\right)$$s_L(n)$$n$$n$$L$$L$

$\phantom{\rule{2em}{0ex}}{s}_{L}\left(n\right)={p}_{1}\left(n\right){\lambda }_{1}^{n}+\cdots +{p}_{k}\left(n\right){\lambda }_{k}^{n}$$\qquad \displaystyle s_L(n)=p_1(n)\lambda_1^n+\dots+p_k(n)\lambda_k^n$ .

Язык является регулярным (ему соответствует ). если n четно, а противном случае.$L=\left\{{0}^{2n}\mid n\in \mathbb{N}\right\}$$L =\{ 0^{2n} \mid n \in\mathbb{N} \}$$\left(00{\right)}^{\ast }$$(00)^*$${s}_{L}\left(n\right)=1$$s_L(n) = 1$${s}_{L}\left(n\right)=0$$s_L(n) = 0$

Тем не менее, я не могу найти и (которые должны существовать по вышеуказанному). Так как должен быть дифференцируемым и не постоянным, он должен как-то вести себя как волна, и я не могу понять, как вы можете сделать это с помощью полиномов и экспоненциальных функций, не заканчивая бесконечным числом слагаемых, как в расширение Тейлора. Кто-нибудь может просветить меня?${\lambda }_{i}$$\lambda_i$${p}_{i}$$p_i$${s}_{L}\left(n\right)$$s_L(n)$

Вы знаете название этой теоремы?
Артем Казнатчеев

@ArtemKaznatcheev: нет, не знаю. Википедия, к сожалению, также не дает ссылки :(
Алекс тен Бринк

Ответы:

14

Для вашего языка, вы можете взять , , , , и для ? В статье Википедии ничего не говорится о том, что коэффициенты являются либо положительными, либо целыми. Сумма за мой выбор${p}_{0}\left(x\right)=1/2$$p_0(x) = 1/2$${\lambda }_{0}=1$$\lambda_0 = 1$${p}_{1}\left(x\right)=1/2$$p_1(x) = 1/2$${\lambda }_{1}=-1$$\lambda_1 = -1$${p}_{i}\left(x\right)={\lambda }_{i}=0$$p_i(x) = \lambda_i = 0$$i>1$$i > 1$

$\phantom{\rule{2em}{0ex}}1/2+1/2\left(-1{\right)}^{n}=1/2\left(1+\left(-1{\right)}^{n}\right)$$\qquad \displaystyle 1/2 + 1/2(-1)^n = 1/2 (1 + (-1)^n)$

которая кажется 1 для четного и 0 для нечетного . Действительно, доказательство по индукции кажется простым.$n$$n$$n$$n$

Ах да, конечно, я забыл о знакопеременных знаках минус. Буду поднимать голос после того, как день закончится - я достиг предела голосования.
Алекс тен Бринк

Никакой индукции не требуется для этого требования.
Рафаэль

@Raphael Правда, но опять же, это только делает мое утверждение еще более точным.
Patrick87

11

@ Patrick87 дает отличный ответ для вашего конкретного случая, я подумал, что дам совет, как найти в более общем случае любого языка который может быть представлен неприводимым DFA (т. Е. Если это возможно) попасть в любой штат из любого штата). Обратите внимание, что ваш язык относится к этому типу.${s}_{L}\left(n\right)$$s_L(n)$$L$$L$

### Доказательство теоремы для неприводимых ДФА

Пусть будет матрицей переходов вашего DFA для состояния, поскольку она неприводима, матрица нормальна и имеет полное собственное основание . Пусть Быть принимают вектор: т.е. Является 1 , если это принимает состояние, и 0 в противном случае. WLOG предполагает, что начальное состояние, а так как у нас есть полный собственный базис, мы знаем , что $D$$D$$m$$m$$|{\lambda }_{1}⟩...|{\lambda }_{m}⟩$$|\lambda_1\rangle ... |\lambda_m\rangle$$|A⟩$$|A\rangle$$⟨i|A⟩$$\langle i | A \rangle$$i$$i$$|1⟩$$|1\rangle$ для некоторых коэффициентов (заметимчто ).$|1⟩={c}_{1}|{\lambda }_{1}⟩+...+{c}_{m}|{\lambda }_{m}⟩$$|1\rangle = c_1|\lambda_1\rangle + ... + c_m|\lambda_m\rangle$${c}_{1}...{c}_{m}$$c_1 ... c_m$${c}_{i}=⟨{\lambda }_{i}|i⟩$$c_i = \langle \lambda_i | i \rangle$

Now we can prove a restricted case of the theorem in the question (restricted to irreducible DFAs; as an exercise generalize this proof to the whole theorem). Since $D$$D$ is the transition matrix $D|1⟩$$D|1\rangle$ is the vector of states reachable after reading any one character, ${D}^{2}|1⟩$$D^2|1\rangle$ is the same for two characters, etc. Given a vector $|x⟩$$|x\rangle$, $⟨A|x⟩$$\langle A|x\rangle$ is simply the sum of the components of $|x⟩$$|x\rangle$ that are accept states. Thus:

$\begin{array}{rl}{s}_{L}\left(n\right)& =⟨A|{D}^{n}|1⟩\\ & =⟨A|{D}^{n}\left({c}_{1}|{\lambda }_{1}⟩...{c}_{m}|{\lambda }_{m}⟩\right)\\ & ={c}_{1}{\lambda }_{1}^{n}⟨A|{\lambda }_{1}⟩+...+{c}_{m}{\lambda }_{m}^{n}⟨A|{\lambda }_{m}⟩\\ & =⟨A|{\lambda }_{1}⟩⟨{\lambda }_{1}|1⟩{\lambda }_{1}^{n}+...+⟨A|{\lambda }_{m}⟩⟨{\lambda }_{m}|1⟩{\lambda }_{m}^{n}\\ & ={p}_{1}{\lambda }_{1}^{n}+...+{p}_{m}{\lambda }_{m}^{m}\end{array}$

Now we know that for an irreducible m-state DFA, ${p}_{1}...{p}_{m}$$p_1 ... p_m$ will be zero order polynomials (i.e. constants) that depends on the DFA and ${\lambda }_{1}...{\lambda }_{m}$$\lambda_1 ... \lambda_m$ will be eigenvalues of the transition matrix.

### Generality note

If you want to prove this theorem for arbitrary DFA, then you will need to look at the Schur decomposition of $D$$D$ and then polynomials of non-zero degree will pop up because of the nilpotent terms. It is still enlightening to do this, since it will let you bound the max degree of the polynomials. You will also find a relationship between how complicated the polynomials are and how many $\lambda$$\lambda$s you will have.

### Application to specific question

For your language $L$$L$ we can select the DFA with transition matrix:

$D=\left(\begin{array}{cc}0& 1\\ 1& 0\end{array}\right)$

and accept vector:

$A=\left(\begin{array}{c}1\\ 0\end{array}\right)$

${\lambda }_{1}=1$$\lambda_1 = 1$$|{\lambda }_{1}⟩=\frac{1}{\sqrt{2}}\left(\begin{array}{c}1\\ 1\end{array}\right)$$| \lambda_1 \rangle = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix}$ and ${\lambda }_{2}=-1$$\lambda_2 = -1$ with $|{\lambda }_{2}⟩=\frac{1}{\sqrt{2}}\left(\begin{array}{c}1\\ -1\end{array}\right)$$| \lambda_2 \rangle = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ -1 \end{pmatrix}$. We can use this to find ${p}_{1}=1/2$$p_1 = 1/2$ and ${p}_{2}=1/2$$p_2 = 1/2$. To give us:

${s}_{L}\left(n\right)=\frac{1}{2}+\frac{1}{2}\left(-1{\right)}^{n}$

Maybe post this here?
Raphael

@Raphael that was asked while I was figuring out the proof and typing up my answer, so I did not know about it when I asked.
Artem Kaznatcheev

6

Continuing Artem's answer, here is a proof of the general representation. As Artem shows, there is an integer matrix $A$$A$ and two vectors $x,y$$x,y$ such that

${s}_{L}\left(n\right)={x}^{T}{A}^{n}y.$
(The vector $x$$x$ is the characteristic vector of the start state, the vector $y$$y$ is the characteristic vector of all accepting state, and ${A}_{ij}$$A_{ij}$ is equal to the number of transitions from state $i$$i$ to state $j$$j$ in a DFA for the language.)

Jordan's theorem states that over the complex numbers, $A$$A$ is similar to a matrix with blocks of one of the forms

$\left(\begin{array}{c}\lambda \end{array}\right),\left(\begin{array}{cc}\lambda & 1\\ 0& \lambda \end{array}\right),\left(\begin{array}{ccc}\lambda & 1& 0\\ 0& \lambda & 1\\ 0& 0& \lambda \end{array}\right),\left(\begin{array}{cccc}\lambda & 1& 0& 0\\ 0& \lambda & 1& 0\\ 0& 0& \lambda & 1\\ 0& 0& 0& \lambda \end{array}\right),\dots$
If $\lambda \ne 0$$\lambda \neq 0$, then the $n$$n$th powers of these blocks are
$\left(\begin{array}{c}{\lambda }^{n}\end{array}\right),\left(\begin{array}{cc}{\lambda }^{n}& n{\lambda }^{n-1}\\ 0& {\lambda }^{n}\end{array}\right),\left(\begin{array}{ccc}{\lambda }^{n}& n{\lambda }^{n-1}& \left(\genfrac{}{}{0}{}{n}{2}\right){\lambda }^{n-2}\\ 0& {\lambda }^{n}& n{\lambda }^{n-1}\\ 0& 0& {\lambda }^{n}\end{array}\right),\left(\begin{array}{cccc}{\lambda }^{n}& n{\lambda }^{n-1}& \left(\genfrac{}{}{0}{}{n}{2}\right){\lambda }^{n-2}& \left(\genfrac{}{}{0}{}{n}{3}\right){\lambda }^{n-3}\\ 0& {\lambda }^{n}& n{\lambda }^{n-1}& \left(\genfrac{}{}{0}{}{n}{2}\right){\lambda }^{n-2}\\ 0& 0& {\lambda }^{n}& n{\lambda }^{n-1}\\ 0& 0& 0& {\lambda }^{n}\end{array}\right),\dots$
Here's how we got to these formulas: write the block as $B=\lambda +N$$B = \lambda + N$. Successive powers of $N$$N$ are successive secondary diagonals of the matrix. Using the binomial theorem (using the fact that $\lambda$$\lambda$ commutes with $N$$N$),
${B}^{n}=\left(\lambda +n{\right)}^{N}={\lambda }^{n}+n{\lambda }^{n-1}N+\left(\genfrac{}{}{0}{}{n}{2}\right){\lambda }^{n-2}{N}^{2}+\cdots .$
When $\lambda =0$$\lambda = 0$, the block is nilpotent, and we get the following matrices (the notation $\left[n=k\right]$$[n = k]$ is $1$$1$ if $n=k$$n=k$ and $0$$0$ otherwise):
$\left(\begin{array}{c}\left[n=0\right]\end{array}\right),\left(\begin{array}{cc}\left[n=0\right]& \left[n=1\right]\\ 0& \left[n=0\right]\end{array}\right),\left(\begin{array}{ccc}\left[n=0\right]& \left[n=1\right]& \left[n=2\right]\\ 0& \left[n=0\right]& \left[n=1\right]\\ 0& 0& \left[n=0\right]\end{array}\right),\left(\begin{array}{cccc}\left[n=0\right]& \left[n=1\right]& \left[n=2\right]& \left[n=3\right]\\ 0& \left[n=0\right]& \left[n=1\right]& \left[n=2\right]\\ 0& 0& \left[n=0\right]& \left[n=1\right]\\ 0& 0& 0& \left[n=0\right]\end{array}\right)$

Summarizing, every entry in ${A}^{n}$$A^n$ is either of the form $\left(\genfrac{}{}{0}{}{n}{k}\right){\lambda }^{n-k}$$\binom{n}{k} \lambda^{n-k}$ or of the form $\left[n=k\right]$$[n=k]$, and we deduce that

${s}_{L}\left(n\right)=\sum _{i}{p}_{i}\left(n\right){\lambda }_{i}\left(n\right)+\sum _{j}{c}_{j}\left[n=j\right],$
for some complex ${\lambda }_{i},{c}_{j}$$\lambda_i,c_j$ and complex polynomials ${p}_{i}$$p_i$. In particular, for large enough $n$$n$,
${s}_{L}\left(n\right)=\sum _{i}{p}_{i}\left(n\right){\lambda }_{i}\left(n\right).$

Thank you for the general treatment! You should consider combining your answer with mine and posting it as a full answer to this question. I think it would be more helpful than the current answer there.
Artem Kaznatcheev
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.