Упражнение 2.1.25 |
Основные свойства автоматных языков
3.4. Примеры неавтоматных языков
Пример 3.4.1.
Рассмотрим язык
над алфавитом
.
Утверждение леммы 3.3.1
не выполняется ни для какого натурального числа p.
Действительно, если w = abpap,
то x = abk, y = bm, z = bp-k-map
для некоторых
и
или
, y = abl, z = bp-lap
для некоторого
.
В обоих случаях
.
Таким образом,
язык L
не является автоматным.
Упражнение 3.4.2.
Пусть .
При каких словах
и
язык
является автоматным?
Замечание 3.4.3. Условие, сформулированное в лемме 3.3.1, является необходимым для автоматности, но не достаточным.
Пример 3.4.4.
Пусть .
Рассмотрим язык L = {akbman | k=0 или m=n}.
Положим p = 1.
Тогда для любого слова
длины не меньше p
найдутся слова
,
соответствующие утверждению леммы 3.3.1.
Тем не менее язык L
не является автоматным, так как
![L \cap \{ a b^m a^n \mid m \geqslant 0 , \; n \geqslant 0 \} =
\{ a b^n a^n \mid n \geqslant 0 \} .](/sites/default/files/tex_cache/6f0f643041764c8ce5f1778c3df63e7f.png)
Лемма 3.4.5*. Пусть L - автоматный язык над алфавитом . Тогда найдется такое положительное целое число p, что для любого слова
можно подобрать слова
, для которых верно xyz = w,
и
для всех
.
Здесь [m]
означает целую часть числа m.
Доказательство.
Пусть L
распознается конечным автоматом ,
содержащим только переходы с метками длины единица.
Положим p = |Q|.
Пусть слово w
является меткой успешного пути
.
Обозначим l = [|w|/p].
Если l = 0,
то положим
и
.
Пусть
.
Согласно принципу Дирихле найдутся такие натуральные числа j и k,
что
и qjl = qkl.
Выберем слова x, y и z
так, что |x| = jl, |y| = kl - jl
и xyz = w.
Упражнение 3.4.6. Является ли автоматным язык
![\{ a^m b^n \mid m \neq 1 \text{ или } n \text{ простое } \} ?](/sites/default/files/tex_cache/b491168a145864da63e08c29184a63f4.png)
Упражнение 3.4.7. Является ли автоматным язык
![\{ u u \reverse v \mid
u \in \{a,b\}^+ ,\ v \in \{a,b\}^* \} ?](/sites/default/files/tex_cache/e50a7317e0ba99fbc6fc2cd06d5cbfa1.png)
Упражнение 3.4.8. Является ли автоматным язык
множества
и
равномощны?
Упражнение 3.4.9. Является ли автоматным язык
множества
и
равномощны?
Упражнение 3.4.10. Является ли автоматным язык
![\{ a^k b^n a^n \mid k \geqslant 1 ,\ n \geqslant 0 \} \cup
\{ b^k a b^m a^n \mid k \geqslant 0 ,\ m \neq n \} ?](/sites/default/files/tex_cache/e0af22db3a3f80d7e2e20ece20a059aa.png)
Упражнение 3.4.11. Является ли автоматным язык, порождаемый грамматикой
![\begin{align*}
F \; & {\to} \; abb , \\
F \; & {\to} \; abbb F F F , \\
F \; & {\to} \; abbbb F F ?
\end{align*}](/sites/default/files/tex_cache/9e378802fccb07dbaa8ac3dff1783cf1.png)