Московский государственный университет имени М.В.Ломоносова
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 2485 / 1007 | Оценка: 4.56 / 4.26 | Длительность: 20:40:00
ISBN: 978-5-9556-0062-8
Специальности: Математик
Лекция 4:

Основные свойства автоматных языков

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

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

Лемма 3.3.1 (pumping lemma, лемма о разрастании, лемма о накачке, лемма-насос). Пусть L автоматный язык над алфавитом \Sigma. Тогда найдется такое положительное целое число p, что для любого слова w \in L длины не меньше p можно подобрать слова x , y , z \in \Sigma ^*, для которых верно xyz = w, y \neq \varepsilon, | x y | \leqslant p и x y ^i z \in L для всех i \geqslant 0.

Доказательство. Пусть язык L распознается конечным автоматом \langle Q , \Sigma , \Delta , I , F \rangle, содержащим только переходы с метками длины единица. Положим p = |Q|. Пусть слово w является меткой успешного пути

\langle q_0 , e_1 , q_1 , e_2 , \ldots , q_n \rangle
и | w | = n \geqslant p. Согласно принципу Дирихле найдутся такие индексы j и k, что 0 \leqslant j < k \leqslant p и qj = qk (ведь множество индексов \{ 0 , 1 , \ldots , p \} содержит p+1 натуральных чисел, а значения qi берутся из множества, содержащего всего p элементов). Выберем слова x, y и z так, что |x| = j, |y| = k - j и xyz = w.

Пример 3.3.2. Пусть \Sigma = \{ a , b \}. Рассмотрим автоматный язык

L = \{ (ab)^n \mid n \geqslant 0 \ \cup \{ a (ab)^n \mid n \geqslant 0 \} .
Положим p = 3. Тогда для любого слова w \in L длины не меньше p найдутся слова x , y , z \in \Sigma ^*, соответствующие утверждению леммы 3.3.1. Действительно, если w = abu для некоторого слова u, то положим x = \varepsilon, y = ab, z = u ; иначе w = aabu и можно положить x = a, y = ab, z = u.

Упражнение 3.3.3. Является ли автоматным язык

\{ a^m b a^m \mid m \geqslant 0 \} ?

Упражнение 3.3.4. Является ли автоматным язык {an | существует такое число p \geqslant n, что p простое и p + 2 простое} ?

Упражнение 3.3.5. Является ли автоматным язык

\{ a^k b^m a^n \mid k \neq n \; \text{или } m = 0 \} ?

Упражнение 3.3.6. Является ли автоматным язык

\{ (aab)^n a (aba)^n \mid n \geqslant 0 \} ?

Упражнение 3.3.7. Является ли автоматным язык

\{ u a a v \mid
 u \in \{a,b\}^* ,\ v \in \{a,b\}^* ,\ | u |_b \geqslant | v |_a \} ?

Упражнение 3.3.8. Является ли автоматным язык

\{ u a v \mid
 u \in \{a,b\}^* ,\ v \in \{a,b\}^* ,\ | u |_b \geqslant | v |_a \} ?

Упражнение 3.3.9. Является ли автоматным язык

\{ a^k w b^k \mid
 k \geqslant 0 ,\ w \in \{a,b\}^* ,\ | w |_a \vdots 3 \} ?

Упражнение 3.3.10. Является ли автоматным язык, порождаемый грамматикой

\begin{align*}
S \; & {\to} \; a S a , \\
S \; & {\to} \; b S a , \\
S \; & {\to} \; b S b , \\
S \; & {\to} \; \varepsilon ?
\end{align*}

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Юлия Маковецкая
Юлия Маковецкая

Упражнение 2.1.25

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

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