Після відповіді тут опишу метод доведення нерегулярності, заснований на складності Колмогорва.
Такий підхід обговорюється в «Новому підході до теорії формальної мови через складність Колмогорова» , Мін Лі та Павла М. Б. Вітанія (див. Розділ 3.1).
Нехай позначає складність Колмогорова рядка x , тобто довжину найкоротшого кодування машини Тюрінга M , таку, що M ( ϵ ) = x (буде виконано будь-яке звичайне визначення). Потім можна використовувати таку лему для доказу невідповідності:K(x)xMM(ϵ)=x
KC-регулярність : Нехай є звичайною мовою, тоді існує константа c, яка залежить лише від L , така що для всіх x ∈ Σ ∗ , якщо y - n ′ t h рядка (відносно лексикографічного впорядкування ) в L x = { y ∈ Σ ∗ | x y ∈ L } , тоді K ( y ) ≤ O ( log n )L⊆Σ∗cLx∈Σ∗yn′thLx={y∈Σ∗|xy∈L} .K(y)≤O(logn)+c
Можна зрозуміти (і довести) вищевказану лему так, для будь-якого для опису n ′ t h рядка в L x потрібно вказати:x∈Σ∗n′thLx
- Автомат, який приймає L
- Стан в автоматі після обробки префікса x
- Індекс n
Так як нам потрібно тільки пам'ятати , стан після обробки , а не х сам, ми можемо приховати цей фактор в постійній залежності від L . Індекс n вимагає журналу n бітів для опису, і ми отримуємо вищезазначений результат (для повноти потрібно додати конкретні інструкції, необхідні для генерації y , але це лише додає постійний коефіцієнт до остаточного опису).xxLnlogny
Ця лема показує, як пов'язати складність Колмогорова всіх рядків, які є членами для деякої регулярної мови L і x ∈ Σ ∗ . Щоб показати нерегулярність, можна припустити, що L є регулярним, і довести, що межі є занадто обмежуючими (наприклад, обмежена складність Колмогрова для нескінченного набору рядків).LxLx∈Σ∗L
Відповідь, зв'язана вище, містить приклад того, як використовувати цю лему для показу не є регулярним, ще кілька прикладів наведено в роботі. Для повноти ми покажемо тут, як довести L = { 0 n 1 n | n ≥ 0 } не є регулярним.L={1p|p is prime}L={0n1n|n≥0}
З огляду на деякий , ми позначимо через у й я я ' т ч слово в L х . Зауважимо, що y 0 i 1 = 1 i . Використовуючи вищевказану лему, орієнтуючись на префікси x форми x = 0 i та фіксуючи n = 1 , отримуємо ∀ i ≥ 0 : K ( y 0 i 1x∈{0,1}∗yxii′thLxy0i1=1ixx=0in=1 . Оскільки y 0 i 1 = 1 i , це означає, що ми можемо зв'язати складність Колмогорова всіх рядків форми 1 i постійною, яка, очевидно, помилкова. Варто зазначити, що ми могли дослідити один x , наприклад x = 0 n для досить великого n, який задовольняє K ( 0 n ) ≥ log n (ми починаємо з префікса високої складності). Оскільки y x 1 = 1 n , отримуємо∀i≥0:K(y0i1)≤cy0i1=1i1ixx=0nnK(0n)≥lognyx1=1n , протиріччя (припустимо, n > 2 c ).K(1n)<cn>2c