Опубликован: 09.07.2007 | Уровень: профессионал | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 10:

Основные свойства контекстно-свободных языков

< Лекция 9 || Лекция 10: 123456 || Лекция 11 >

9.2*. Лемма о разрастании для линейных языков

Определение 9.2.1. Линейная грамматика в нормальной форме - это такая линейная грамматика, в которой каждое правило имеет вид A \tto \varepsilon, A \tto a, A \tto a B или A \tto B a, где A \in N, B \in N, a \in \Sigma.

Теорема 9.2.2. Каждая линейная грамматика эквивалентна некоторой линейной грамматике в нормальной форме.

Теорема 9.2.3. Если линейный язык не содержит пустого слова, то он порождается некоторой линейной грамматикой в нормальной форме без \varepsilon - правил.

Теорема 9.2.4. Язык L является линейным тогда и только тогда, когда язык L \sminus \{ \varepsilon \} является линейным.

Лемма 9.2.5. Пусть L - линейный язык над алфавитом \Sigma. Тогда найдется такое положительное целое число p, что для любого слова w \in L длины не меньше p можно подобрать слова u , v , x , y , z \in \Sigma ^*, для которых верно uvxyz = w, v y \neq \varepsilon ( то есть v \neq \varepsilon или y \neq
\varepsilon ), | u v | + | y z | \leq p и u v ^i x y ^i z \in L для всех i \in \mathbb{N}.

Доказательство. Пусть язык L \sminus \{ \varepsilon \} порождается линейной грамматикой в нормальной форме G = \lalg N , \Sigma , P , S \ralg без \varepsilon -правил. Положим p = |N| + 1. Пусть w \in L и | w | \geq p. Зафиксируем некоторое дерево вывода слова w в грамматике G. Рассмотрим самый длинный путь в этом дереве (он начинается с корня и заканчивается некоторым листом, помеченным символом из \Sigma ). Этот путь содержит не менее |N| + 1 вершин, помеченных элементами N. Среди первых |N| + 1 вершин рассматриваемого пути найдутся две вершины с одинаковыми метками. Выберем слова u, v, x, y и z так, что uvxyz = w, поддерево с корнем в одной из найденных вершин имеет крону x и поддерево с корнем в другой найденной вершине имеет крону vxy.

Пример 9.2.6. Рассмотрим язык L = \{ a^m b^m a^n b^n \mid m \geq 0 \commaand n \geq 0 \} над алфавитом {a,b}. Утверждение леммы 9.2.5 не выполняется ни для какого натурального числа p. Следовательно, язык L не является линейным.

Упражнение 9.2.7. Какому классу принадлежит язык

\{ a^n b^n (cd)^m \mid n \geq 1 ,\ m \geq 1 \} ?

Упражнение 9.2.8. Какому классу принадлежит язык

\{ a^k b^l c^m d^n \mid k < n ,\ l > m \} ?

Упражнение 9.2.9. Какому классу принадлежит язык

\{ a^k b^l c^m a^n b^n c^k \mid k \geq 1 ,\ l < m ,\ n \geq 3 \} ?

< Лекция 9 || Лекция 10: 123456 || Лекция 11 >
Юлия Маковецкая
Юлия Маковецкая

Упражнение 2.1.25

Евгения Гунченко
Евгения Гунченко

Сдавала тест экстерном, результат получен 74 после принятия данного результата и соответственно оплаты курса, будет ли выдано удостоверение о повышении квалификации?

Юрий Фролов
Юрий Фролов
Украина
Руслан Мухамедьяров
Руслан Мухамедьяров
Россия, Казань, КФУ