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


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λn−10λn),(λnnλn−1(n2)λn−20λnnλn−100λn),(λnnλn−1(n2)λn−2(n3)λn−30λnnλn−1(n2)λn−200λnnλn−1000λ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.