Лемма о разрастании для КС-грамматик — различия между версиями
Leugenea (обсуждение | вклад) м (Идиотский фиск) |
|||
Строка 22: | Строка 22: | ||
=== Пример доказательства неконтекстно-свободности языка с использованием леммы === | === Пример доказательства неконтекстно-свободности языка с использованием леммы === | ||
− | Рассмотрим язык <tex>0^{n}1^{n}2^{n}</tex>. Покажем, что он не является контекстно-свободным. Для фиксированного <tex>n</tex> | + | Рассмотрим язык <tex>0^{n}1^{n}2^{n}</tex>. Покажем, что он не является контекстно-свободным. Для фиксированного <tex>n</tex> рассмотрим слово <tex>\omega=0^n 1^n 2^n</tex>. Пусть <tex>\omega</tex> разбили на <tex>u, v, x, y, z</tex> произвольным образом. Так как <tex>|vxy|\leqslant n</tex>, то в слове не содержится либо ни одного символа <tex>0</tex>, либо ни одного символа <tex>2</tex>. Для любого такого разбиения выберем <tex>k=2</tex> и получаем, количество символов 1 изменилось, а количество либо <tex>0</tex>, либо <tex>2</tex> осталось тем же. Очевидно, что такое слово не принадлежит рассмотренному языку. Значит, язык <tex>0^{n}1^{n}2^{n}</tex> не является контекстно-свободным. |
Версия 23:50, 23 января 2012
Лемма (о разрастании КС-грамматик): |
Пусть контекстно-свободный язык над алфавитом , тогда существует такое , что для любого слова длины не меньше найдутся слова , для которых верно: и . — |
Доказательство: |
Грамматика любого контекстно-свободного языка может быть записана в нормальной форме Хомского (НФХ). Пусть — количество нетерминалов в грамматике языка , записанной в НФХ.
Выберем . Построим дерево разбора произвольного слова длиной больше, чем . Высотой дерева разбора назовем максимальное число нетерминальных символов на пути от корня дерева к листу. Так как грамматика языка записана в НФХ, то у любого нетерминала в дереве могут быть, либо два потомка нетерминала, либо один потомок терминал. Поэтому высота дерева разбора слова не меньше .Количество нетерминалов в нем не меньше, чем , следовательно, найдется такой нетерминал , который встречается на этом пути дважды. Значит, в дереве разбора найдется нетерминал , в поддереве которого содержится нетерминал . Выберем нетерминал , у которого в поддереве содержится такой же нетерминал и длина пути до корня максимальна среди всех нетерминалов, содержащих в поддереве такой же нетерминал.Найдем слова .
|
Замечание. Условие леммы не является достаточным для контекстно-свободности языка. Но в силу необходимости данная лемма часто используется для доказательства того, что язык не является контекстно-свободным .
Пример доказательства неконтекстно-свободности языка с использованием леммы
Рассмотрим язык
. Покажем, что он не является контекстно-свободным. Для фиксированного рассмотрим слово . Пусть разбили на произвольным образом. Так как , то в слове не содержится либо ни одного символа , либо ни одного символа . Для любого такого разбиения выберем и получаем, количество символов 1 изменилось, а количество либо , либо осталось тем же. Очевидно, что такое слово не принадлежит рассмотренному языку. Значит, язык не является контекстно-свободным.