Доказательство нерегулярности языков: лемма о разрастании — различия между версиями
Zarubkin (обсуждение | вклад) |
Zarubkin (обсуждение | вклад) |
||
Строка 18: | Строка 18: | ||
'''Пример 1''' Язык правильных скобочных последовательностей не регулярен. | '''Пример 1''' Язык правильных скобочных последовательностей не регулярен. | ||
− | Пусть дан какой-то <tex>n</tex> для него предъявляем слово <tex>\omega=(^n)^n</tex>. После этого | + | Пусть дан какой-то <tex>n</tex> для него предъявляем слово <tex>\omega=(^n)^n</tex>. После этого слово <ttex>\omega</tex> как-то разбили на <tex>x, y, z</tex>. Так как <tex>|xy|\leqslant n</tex>, то из-за выбранного слова <tex>y=(^b</tex>, где <tex>b</tex> больше нуля. Для любого такого разбиения берём <tex>k=2</tex> и получаем <tex>xy^kz=(^{n+b})^n</tex>, что не является правильной скобочной последовательностью. Значит язык правильных скобочных последовательностей не регулярный язык. |
'''Пример 2''' Язык <tex>0^a1^a</tex> | '''Пример 2''' Язык <tex>0^a1^a</tex> |
Версия 03:53, 8 октября 2010
Лемма (О разрастании): |
Пусть - регулярный язык над алфавитом , тогда существует , такой что для любого слова , длины не меньше найдутся слова , для которых верно и для всех . |
Доказательство: |
Пусть "Картинка" - регулярный язык над алфавитом , тогда найдётся автомат , допускающий язык . Обозначим размер автомата , как . В языке найдётся слово длины не меньше . Рассмотрим переходы в автомате . Так как не меньше количества состояний в автомате , то в переходах будет совпадение. Пусть и - первое совпадение. Тогда в нашем слове можно размножить кусок, который отвечает за переход, от состояния к состоянию . То есть если верно , то тогда верно . Тогда автомат допускает слово , следовательно принадлежит регулярному языку . |
Доказательство нерегулярности языка
Чаще используется отрицание леммы для доказательства нерегулярности языка. Пусть
- язык над алфавитом . Если для любого натурального найдётся такое слово из данного языка, что его длина будет не меньше и при любом разбиении на три слова такие, что не пустое слово, длина не больше , есть такое, что , то язык - не регулярный.
Пример 1 Язык правильных скобочных последовательностей не регулярен.
Пусть дан какой-то
для него предъявляем слово . После этого слово <ttex>\omega</tex> как-то разбили на . Так как , то из-за выбранного слова , где больше нуля. Для любого такого разбиения берём и получаем , что не является правильной скобочной последовательностью. Значит язык правильных скобочных последовательностей не регулярный язык.Пример 2 Язык
Для мы берём . Так как , то . Берём и получаем , что не является элементом нашего языка, значит наш язык не регулярен.
Интерпретация булевых формул с кванторами как игр для двух игроков
Рассмотрим формулу
, где - квантор зависящий от чётности . Теперь возьмём двух игроков и первый будет ставить с нечётными номерами, а второй с чётными. Если в итоге получается истина, то побеждает первый игрок, если получается ложь, то выигрывает второй. Если истинна, то побеждает второй игрок, в противном случае побеждает первый (при правильных ходах). Пусть истинно, тогда отделим первый квантор. , тогда по предположению есть такой , что будет истинно. Верно и для любого с предположением для лжи. В итоге получаем, верное утверждение.