Кількість слів заданої довжини у звичайній мові


15

Чи існує алгебраїчна характеристика кількості слів заданої довжини у звичайній мові?

Вікіпедія констатує результат дещо неточно:

Для будь-якого регулярного мови існують константи і многочлени таким чином, що для кожного числа з слова довжиною в задовольняють рівнянню .Lλ1,,λkp1(x),,pk(x)nsL(n)nLsL(n)=p1(n)λ1n++pk(n)λkn

Не вказано, в якому просторі живе ( , я припускаю), і чи потрібно, щоб функція мала негативні цілі значення для всіх . Мені б хотілося точного твердження та ескізу чи посилання на доказ.λCN

Питання про бонус: чи дійсно зворотне, тобто задана функція цієї форми, чи завжди є звичайна мова, кількість слів на якусь довжину дорівнює цій функції?

Це питання узагальнює кількість слів у звичайній мові(00)


3
ескіз доказу є тут
Артем Казнатчеєв

3
@ArtemKaznatcheev Цікаво, дякую. Чи могли б ви перенести свою відповідь на це питання, яке воно краще підходить?
Жил "ТАК - перестань бути злим"

1
Я вважаю, що це питання трохи зайве (хоча і більш загальне). Узагальнення мого підходу до доказування трохи волохате, але я погляну після обіду.
Артем Казнатчеєв,

@ArtemKaznatcheev Дякую У мене виникли проблеми з другою частиною вашої відповіді, поширюючись на зменшені DFA.
Жил "ТАК - перестань бути злим"

1
@vzn Класичним є факт, що функція утворення кількості слів у звичайній мові є раціональною, що негайно передбачає формулу ОП (у правильній формі). Важкою частиною є витяг асимптотики. Детальніше ви можете переглянути (наприклад) книгу Аналітична комбінаторика, згадана у моїй відповіді.
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 , то nA

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
λ0nПотужність цих блоків становить Ось як ми отримали ці формули: записати блок якB=λ+N. Послідовні силиN -це послідовні вторинні діагоналі матриці. Використовуючи біноміальну теорему (використовуючи той факт, щоλзв'язується зN), 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 Колиλ=0, блок є нільпотентним, і ми отримуємо такі матриці (позначення[n=k]дорівнює1,якщоn=kі0 віншому випадку): ( [ n = 0 ] ),( [ n = 0 ] [ n = 1 ] 0 [ n = 0
Бн=(λ+н)N=λн+нλн-1N+(н2)λн-2N2+.
λ=0[н=к]1н=к0
([н=0]),([н=0][н=1]0[н=0]),([н=0][н=1][н=2]0[н=0][н=1]00[н=0]),([н=0][н=1][н=2][н=3]0[н=0][н=1][н=2]00[н=0][н=1]000[н=0])

Ан(нк)λн-к[н=к]

сL(н)=ipi(н)λiн+jcj[н=j],
λi,cjpiн
сL(н)=ipi(н)λiн.

сL(н)λiλ1

сL(н)=p1(н)λ1н(1+о(1)).
λгсLнгλгp0,,pг-1λ0,,λг-1
сL(н)=нpн(модг)λн(модг)н(1+о(1)).

8

LΣ

L(z)=н0|Lн|zн

Lн=LΣн|Lн|=сL(н)

L(z)

П(z)Q(z)

П,QLL(z)

Q|Lн|(|Lн|)нN


Lн

1
@Gilles Аналітична Комбінаторика , книги по Ейленберг, книга Berstel, Reutenauer
вул


1
Q(z)=1кн0

1
@Raphael Так, моє мислення було схожим ... це, мабуть, є досить серйозним недоліком у викладі теореми, якщо вона не стосується кінцевих мов, оскільки (a) кінцеві мови є регулярними, (b) теорема Має на увазі, що кінцеві мови не є регулярними, і (c) визначення того, чи є мова кінцевою, (взагалі) не можна визначити ... Я маю на увазі, Міхілл-Нероде та лемма накачки не мають такої проблеми; вони працюють для кінцевих мов.
Patrick87
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.