Изменения

Перейти к: навигация, поиск

Формальные грамматики

669 байт добавлено, 20:44, 11 октября 2016
Язык 0^n1^n2^n
===Язык <tex>0^n1^n2^n</tex>===
Данный язык является [[Иерархия Хомского формальных грамматик#Класс 1 |контекстно-зависимым]]. КЗ-грамматика для языка приведена ниже, а через [[Лемма о разрастании для КС-грамматик#Пример доказательства неконтекстно-свободности языка с использованием леммы | лемму о разрастании]] доказывается его неконтекстно-свободность.
<tex>\Sigma = \{0, 1, 2\}</tex>
<tex>S \Rightarrow 0T\boldsymbol{S} 2 \Rightarrow 0T0T\boldsymbol{S}22 \Rightarrow 0T\boldsymbol{0T}01222 \Rightarrow 0\boldsymbol{T0}0T1222 \Rightarrow 00\boldsymbol{T0}T1222 \Rightarrow 000T\boldsymbol{T1}222 \Rightarrow 000\boldsymbol{T1}1222 \Rightarrow 000111222</tex>
*Данная грамматика описывает этот язык, так как мы можем вывести любую строку одним методом. <tex>n-1</tex> раз выполняем правило вывода <tex>S \rightarrow 0TS2 \\</tex>. Потом выполняем правило <tex>S \rightarrow 012 \\</tex>, <tex>n-1</tex> раз выполняем <tex>T0 \rightarrow 0T \\ </tex>. После этого у нас получается строка <tex>0^nT^(n-1)2^n</tex>. Выполняем <tex>n-1</tex> раз последнее правило и в результате получаем искомую строку.
== См. также ==
Анонимный участник

Навигация