Накачана лема для простих кінцевих регулярних мов


20

У Вікіпедії є таке визначення накачаної леми для звичайних мов ...

Нехай - звичайна мова. Тоді існує ціле число ≥ 1 , що залежить тільки від таким чином, що кожен рядок в довжини щонайменше ( називається «накачування довжиною») може бути записана в вигляді = (тобто, можна розділити на три підрядки), що відповідають наступним умовам:p L w L p p w x y z wLpLwLppwxyzw

  1. | y | ≥ 1
  2. | xy | ≤ p
  3. для всіх i ≥ 0, xyizL

Я не бачу, як це задовольняється простою обмеженою регулярною мовою. Якщо у мене є алфавіт { a,b } і регулярний вираз Ь , то L складається тільки з одного слова , яке з подальшим б . Тепер я хочу перевірити, чи відповідає моя звичайна мова леммою, що накачується ...abLab

Оскільки в моєму регулярному виразі нічого не повторюється, значення y повинно бути порожнім, щоб умова 3 виконувалась для всіх i . Але якщо так, то він не відповідає умові 1, яка говорить, що y має бути принаймні 1 у довжину!

Якщо замість цього я нехай y яких , б або б , то вона буде задовольняти умові 1 але не умова 3 , тому що він ніколи не повторюється.abab

Мені, очевидно, не вистачає чогось розуму дивно очевидного. Який є?

Відповіді:


29

Ви маєте рацію - ми не можемо дозволити «накачування» слова кінцевого . Те, що вам не вистачає, - це те, що лема каже, що існує число p , але не говорить нам про число.Lp

Лема може накачати всі слова, довші за . Для кінцевого L , це відбувається так , що р більше , ніж довжина найдовшого слова в L . Таким чином, лема зберігається лише вакуумно і не може бути застосована до жодного слова з L , тобто будь-яке слово в L не відповідає умові "мати довжину принаймні p ", як вимагає лема.pLpLLLp


Наслідок: якщо має довжину накачування p , а існує слово w L довжиною принаймні p , то L нескінченно.LpwLpL


2
Гарний екземпляр порожнього набору, що виконує заяви.
Рафаель

7

Насосна лема зазвичай використовується на нескінченних мовах, тобто на мовах, що містять нескінченну кількість слів. Для будь-якої кінцевої мови , оскільки вона завжди може бути прийнята DFA з обмеженою кількістю стану, L повинен бути регулярним.LL

Відповідно до wikipedia ( http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages#Formal_statement ), накачана лема говорить: (LΣ)(regular(L)((p1)((wL)((|w|p)((x,y,zΣ)(w=xyz(|y|1|xy|p(i0)(xyizL))))))))

Для будь-якої кінцевої мови , нехай l m a x - максимальна довжина слів у L , і p у перекачувальній лемі буде l m a x + 1 . Лімма накачки виконується, оскільки в L немає слів , довжина яких l m a x + 1 .LlmaxLplmax+1Llmax+1


2

Один із способів формалізувати основну частину накачки леми - це, використовуючи :Lk={wL|w|k}

Якщо регулярний, існує p N, так щоLpN

(*).wLp. x,y,z

Для всіх кінцевих і p > max { | w | w L } , очевидно, що L p = . Тому (*) є (вакуумно) справедливим для такого p .Lp>max{|w|wL}Lp=p

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.