Упражнение 2.1.25 |
Дополнительные свойства автоматных языков
4.2*. Локальные языки
Определение 4.2.1.
Гомоморфизм
называется побуквенным (length-preserving),
если |h(a)| = 1
для каждого
.
Замечание 4.2.2.
Гомоморфизм
является побуквенным
тогда и только тогда, когда |h(w)| = |w|
для каждого слова
.
Определение 4.2.3.
Язык
называется локальным,
если существуют такие языки
,
,
,
что
- языки L1 и L2 содержат только однобуквенные слова;
- язык L3 содержит только двухбуквенные слова;
-
.
Лемма 4.2.4. Каждый локальный язык является автоматным.
Очевидно, что языки L1, L2 и L3 в определении 4.2.3 являются конечными. Остается применить замечание 2.1.19 и теоремы 3.1.1 и 3.2.1 (напомним, что разность языков выражается через пересечение и дополнение).
Теорема 4.2.5. Пусть L - язык над алфавитом и L не содержит пустого слова. Язык L является автоматным
тогда и только тогда, когда
существуют
такие
алфавит
, локальный язык
и побуквенный гомоморфизм
,
что L = h(L0).
Доказательство. Достаточность следует из леммы 4.2.4 и теоремы 4.1.1.
Для доказательства необходимости
рассмотрим конечный автомат
с однобуквенными переходами,
задающий язык L.
В качестве алфавита
возьмем множество
.
Положим
![\begin{align*}
L_1 &= \{ \lp p , a , q \rp \mid
\lp p , a , q \rp \in \Delta \commaand p \in I \} ,\\
L_2 &= \{ \lp p , a , q \rp \mid
\lp p , a , q \rp \in \Delta \commaand q \in F \} ,\\
L_3 &=
\{ \lp p_1 \!, a_1 \!, q_1 \rp \lp p_2 , a_2 , q_2 \rp \mid
\lp p_1 \!, a_1 \!, q_1 \rp \squeeze{\in} \Delta ,\
\lp p_2 , a_2 , q_2 \rp \squeeze{\in} \Delta
\commaand q_1 \squeeze{\neq} p_2 \}
\end{align*}](/sites/default/files/tex_cache/645ee3ddcb8be3a2a0048f35e437e85f.png)
![h ( \lp p , a , q \rp ) = a](/sites/default/files/tex_cache/e7973a9cce7d7af6fa2481a299ebf8a6.png)
![\lp p , a , q \rp \in \Delta](/sites/default/files/tex_cache/e7e59feee741d27782c13339e04cf9b0.png)
Пример 4.2.6.
Пусть .
Рассмотрим конечный автомат M2
из примера 3.1.3
и обозначим L = L(M2).
Применим конструкцию из доказательства
теоремы 4.2.5
к языку L.
Для удобства заменим
на d,
на e
и
на f.
Получим алфавит
и локальный язык
![L_0 = ( ( \{ d , e \} \cdot \Sigma_0^* ) \cap
( \Sigma_0^* \cdot \{ e , f \} ) ) \sminus
( \Sigma_0^* \cdot \{ df , ed , ee , fd , fe \} \cdot \Sigma_0^* ) .](/sites/default/files/tex_cache/c240a3773d1bde7ebe8713be2dd2d135.png)
![L_0 = \{ d^m e f^n \mid m \geq 0 ,\ n \geq 0 \} .](/sites/default/files/tex_cache/a699eb69b12f914471892e7a4209c3e4.png)
![h(d) = c](/sites/default/files/tex_cache/5ad2cc2c1e9db0a057fc2f4a5a176840.png)
![h(e) = a](/sites/default/files/tex_cache/ee3135d2917e2b269f1cc2b84d84f0e9.png)
![h(f) = c](/sites/default/files/tex_cache/f71f1c40e03367b564ffc43ddd1f4e78.png)
Упражнение 4.2.7. Пусть .
Существует ли такой побуквенный гомоморфизм
,
что h(abc) = bac
и h(da) = da?}
Упражнение 4.2.8. Является ли локальным язык
![\{ (ab)^n \mid n \geq 1 \}](/sites/default/files/tex_cache/256958389c646cee54e070dc48376344.png)
![\Sigma = \{a,b\}](/sites/default/files/tex_cache/8d7e85ebca3f57fc831ffb42bb394081.png)
Упражнение 4.2.9. Является ли локальным язык
![\{ aa u \mid u \in \{a,b\}^* \}](/sites/default/files/tex_cache/f83b848f9813ff3cefce5390718800ab.png)
![\Sigma = \{a,b\}](/sites/default/files/tex_cache/8d7e85ebca3f57fc831ffb42bb394081.png)
Упражнение 4.2.10. Является ли локальным язык
![\{ b u a \mid u \in \{a,b,c\}^* \}](/sites/default/files/tex_cache/2be8f3033f34cb568cd93d4142fdba21.png)
![\Sigma = \{a,b,c\}](/sites/default/files/tex_cache/9c19c75c2bb272016591a465050ce255.png)
4.3. Длины слов в автоматных языках
Определение 4.3.1.
Пусть ,
и
.
Множество
называется заключительно периодическим
(ultimately periodic)
с периодом m,
если выполнено условие
![( \exists n_0 \in \mathbb{N} ) \, ( \forall n \geq n_0 ) \,
( n \in \cala \liff n + m \in \cala ) .](/sites/default/files/tex_cache/994db0a98588d6220d865b805379a629.png)
Лемма 4.3.2. Пусть . Тогда равносильны следующие утверждения:
-
множество
является заключительно периодическим ;
-
найдутся такие
положительное целое число m и конечные множества
и
, что
-
множество
является объединением конечного семейства арифметических прогрессий.
Теорема 4.3.3. Язык L над однобуквенным алфавитом {a} является автоматным
тогда и только тогда, когда
множество является заключительно периодическим.
Доказательство. Для доказательства необходимости достаточно рассмотреть детерминированный конечный автомат, распознающий язык L.
Теорема 4.3.4. Если язык L является автоматным, то множество является заключительно периодическим.
Доказательство. Рассмотрим конечный автомат, распознающий язык L. Заменим все символы в метках переходов на символ a. Осталось применить теорему 4.3.3 к полученному автоматному языку над однобуквенным алфавитом {a}.
Упражнение 4.3.5.
Существует ли такой автоматный язык L
над алфавитом {a},
что язык
не является автоматным?
Упражнение 4.3.6.
Существует ли такой автоматный язык L
над алфавитом {a},
что язык
не является автоматным?
Упражнение 4.3.7.
Существует ли такой автоматный язык L1
над алфавитом ,
что язык
![L_2 \peq \{ w \in \Sigma ^* \mid w x \in L_1 \commaand | x | = 2^{ | w | }
\mathspace\text{для некоторого слова}\mathspace
x \squeeze{\in} \Sigma ^* \}](/sites/default/files/tex_cache/22658e3a6926375b0c50961d931d5075.png)
Упражнение 4.3.8.
Существует ли такой
автоматный язык L
над алфавитом {a,b},
что язык
не является автоматным?
Упражнение 4.3.9.
Существует ли такой
автоматный язык L
над алфавитом {a,b},
что язык
не является автоматным?