정규 언어로 주어진 길이의 단어 수


15

일정한 언어로 주어진 길이의 단어 수의 대수적 특성이 있습니까?

Wikipedia 의 결과는 다소 부정확합니다.

정규 언어 대해 상수 및 다항식 존재하므로 모든 대해 숫자 은 에서 길이 단어는 방정식 합니다.λ 1 ,Lp 1 ( x ) ,λ1,,λkn s L ( n ) n L s L ( n ) = p 1 ( n ) λ n 1 + + p k ( n ) λ n kp1(x),,pk(x)nsL(n)nLsL(n)=p1(n)λ1n++pk(n)λkn

가 ( , 내가 추정하는) 어느 공간에 살고 있는지와 함수가 전체에서 음이 아닌 정수 값을 가져야하는지 여부는 언급되어 있지 않습니다 . 나는 정확한 진술과 증거에 대한 스케치 또는 참조를 원합니다.C NλCN

보너스 질문 :이 형식의 기능이 주어지면 그 반대가 사실입니까? 즉, 길이 당 단어 수가이 기능과 같은 정규 언어가 항상 있습니까?

이 질문 은 일반 언어로 된 단어 수를 일반화 합니다(00)


3
증거의 스케치는 여기
아르 템 Kaznatcheev

3
@ArtemKaznatcheev 재미있는, 감사합니다. 이 질문에 대한 답을 옮기는 것이 더 좋을까요?
Gilles 'SO- 악마 중지'

1
나는이 질문이 약간 중복 적이라고 생각합니다 (더 일반적이지만). 증거에 대한 나의 접근 방식을 일반화하는 것은 약간 털이 있지만 저녁 식사 후 살펴볼 것입니다.
Artem Kaznatcheev

@ArtemKaznatcheev 감사합니다. 답장의 두 번째 부분에서 문제가 발생하여 감소 가능한 DFA로 확장되었습니다.
Gilles 'SO- 악마 중지'

1
@vzn 정규 언어로 단어 수를 생성하는 기능이 합리적이라는 점은 OP의 공식 (올바른 형식)을 즉시 의미합니다. 어려운 부분은 무증상을 추출하는 것입니다. 자세한 내용 은 내 답변에 언급 된 Analytic Combinatorics 책을 확인하십시오 (예 :).
Yuval Filmus

답변:


10

일반 언어 감안 일부 DFA 수용성 고려 보자 (그것의 전송 행렬 상태에서 리딩 에지의 개수 상태에 하자) 초기 상태의 특징 벡터, 그리고하자 는 수용 상태의 특성 벡터입니다. 그런 다음 L A A i j i j x y s L ( n ) = x T A n y .LLAAijijxy

sL(n)=xTAny.

요르단의 정리에 따르면 복소수에서 는 형식의 블록이있는 행렬과 유사합니다. 경우 후 이 블록의 힘은 ( λ ) , ( λ 1 0 λ ) , ( λ 1 0 0 λ 1 0 0 λ ) , ( λ 1 0 0 0 λ 1 0 0 0 λ 1 0 0 0 λ ) , ... λ 0 N ( λ n ) , ( λ n n λ n - 1A

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
λ0nB=λ+NNλNBN=(λ+N)N=λN+NλN-1N+(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
Bn=(λ+n)N=λn+nλn1N+(n2)λn2N2+.
경우 는 블록 nilpotent, 우리는 다음 행렬을 얻기 (표기를 인 경우 및 그렇지 않은 경우에는) λ=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)λin+jcj[n=j],
λi,cjpin
sL(n)=ipi(n)λin.

계속해서 에 대한 점근 정보를 얻을 수 있지만 이것은 놀랍지 않은 일입니다. 최대 크기 의 고유 가있는 경우 ( ) 규모가 큰 가 여러 개 있으면 상황이 더 복잡해집니다 . 따라서 각도가 합리적이어야합니다 (즉, 최대 크기, 그들은 통일의 뿌리입니다). 분모의 LCM이 이면 의 나머지 모듈로 에 따라 매우 달라집니다 . 이 나머지 중 일부의 경우 모든sL(n)λiλ1

sL(n)=p1(n)λ1n(1+o(1)).
λdsLndλ최대 규모의 취소가 발생한 후 무증상이 "삭제"되고이 절차를 반복해야합니다. 관심있는 독자는 Flajolet 및 Sedgewick의 Analytic Combinatorics (Theorem V.3) 의 세부 사항을 확인할 수 있습니다 . 일부 경우 정수 및 실수 , dp0,,pd1λ0,,λd1
sL(n)=npn(modd)λn(modd)n(1+o(1)).

8

하자 정규 언어와LΣ

L(z)=n0|Ln|zn

발생 기능 , 여기서 등 .Ln=LΣn|Ln|=sL(n)

는 것이 알려져 인 이성L(z)

P(z)Q(z)

와 다항식; 이것은 에 대한 직선형 문법을 해가 인 (선형!) 방정식 으로 변환하여 가장 쉽게 볼 수 있습니다.L L ( z )P,QLL(z)

의 뿌리 에 대한 근본적 책임이 있습니다, Wikipedia에 명시된 양식으로 연결됩니다. 이것은 을 설명하는 반복을 통해 반복을 해결하기위한 특징적인 다항식 의 방법과 즉시 관련이 있습니다.| L n | ( | L n | ) n NQ|Ln|(|Ln|)nN


귀하의 답변이 질문에 어떻게 대답하는지는 명확하지 않습니다. 또한 은 입니까? Ln
Dave Clarke

1
@Gilles 분석 조합론 , Eilenberg에 의해 책으로 책 Berstel, Reutenauer
ULI


1
@ 패트릭 87 : 1) 맞아, 오타; 감사! 2) 유한 언어의 경우, 생성 함수는 다항식 (및 그에 따른 합리적)입니다. 같은 이 방법은 작동하지 않을 것이다. 연결된 정리는 선형 균질 반복으로 시작합니다. 나는 그것들이 모든 대해 0이고 적어도 하나의 값에 대해서는 0 이 아닌 시퀀스를 설명 할 수 있다고 생각하지 않습니다 . 그래도 확실하지 않습니다. 내가 옳다면, 우리가 말하고있는 진술은 실제로 무한한 정규 언어에 대해서만 적용됩니다. 유한 언어가 구조를 가지고 있지 않기 때문에 이것은 놀라운 일이 아닙니다. k n 0Q(z)=1kn0
Raphael

1
@Raphael 예, 제 생각은 비슷했습니다 ... (a) 유한 언어는 규칙적입니다. (b) 정리는 유한 언어를지지하지 않으면 정리 표현에 상당히 심각한 단점 인 것 같습니다. 유한 언어가 규칙적이지 않다는 것을 암시하고 (c) 언어가 유한인지 판단하는 것은 (일반적으로) 결정 불가능합니다 ... 내 말은, Myhill-Nerode와 펌핑 보조는 그 문제가 없다는 것입니다. 그들은 유한 한 언어를 위해 일합니다.
Patrick87
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.