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