Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 1686 / 244 | Оценка: 5.00 / 5.00 | Длительность: 14:18:00
ISBN: 978-5-94774-714-0
Специальности: Программист, Математик
Лекция 6:

Свойства замкнутости класса автоматных языков. Неавтоматные языки

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >

Задачи

Задача 6.1. Примените процедуру детерминизации из теоремы 4.2 и постройте ДКА, эквивалентный построенному выше в примере 6.2 НКА M.

Задача 6.2. Цилиндрификация - это операция, которая обратна проекции. Для любых алфавитов \Delta и \Sigma таких, что \Delta  \subset  \Sigma, и любого языка L в алфавите \Delta определим его цилиндрификацию как язык CYL_{\Sigma }(L) = \{ w \in  \Sigma ^{*} | при \ вычеркивании \ из \ w \ всех \ букв, \ не \ входящих \ в \Delta , \ получается \ слово \ u \in  L).

Показать, что для автоматного языка L язык CYL_{\Sigma }(L) также является автоматным языком. Предложите процедуру перестройки автомата, распознающего L , в автомат, распознающий CYL_{\Sigma }(L).

Задача 6.3. Обращением слова w=w_{1}w_{2} \dots  w_{k} (w_{i} \in  \Sigma , i=1, \dots  , k) называется слово w{-1}= wk ... w2 w1. Показать, что для автоматного языка L его обращение - язык L^{\{ }-1\}  =\{  w^{\{ }-1\}  | w \in  L\} также является автоматным языком.

Задача 6.4. Пусть L - автоматный язык в алфавите \Sigma. Доказать, что автоматными являются и следующие языки:

  1. ПРЕФ(L) = \{ w | \существует \ такое \ слово \ x \in  \Sigma ^{*}, \ что \ wx \in  \ L\}.
  2. СУФ(L) = \{ w | \существует \ такое \ слово \  x \in  \Sigma ^{*}, \ что \ xw \in  L\}.
  3. КОР(L) = \{ w | \существует \ такое \ слова \x,\  y \in  \Sigma ^{*}, \ что \xwy \in  L\}.
  4. MAX(L) = \{ w | w \in  L \ и \ для \ всякого \ непустого \ x \ слово \ wx \notin  L\}.

Задача 6.5. Пусть L - автоматный язык в алфавите \Sigma =\{ a_{1},\dots , a_{m}\}, а L1,..., Lm - это автоматные языки в алфавите \Delta. Доказать, что автоматным является и язык ЗАМ(L), полученный из слов L заменой каждой буквы ai на некоторое слово из Li, т.е. ЗАМ(L) = \{ w | textit\{  \ существует \ такое \ слово \} u=a_{\{ }i_{1}\} a_{\{ }i_{2}\} \dots  a_{\{ }i_{n}\}  \in  L и такие слова w_{1},w_{2},\dots , w_{n} \in  \Delta ^{*}, что w=w_{1}w_{2}\dots  w_{n} и w_{j} \in  L_{\{ }i_{j}\} для всех j=1,2,... n }.

Задача 6.6. Пусть L - автоматный язык в алфавите \Sigma, k - целое положительное число и \phi - отображение \Sigma ^{k} в \Sigma. Доказать, что автоматным является язык L_{1} =\{  \varphi (a_{1}a_{2}\dots  a_{k}) \dots  \varphi (a_{\{ }(n-1)k+1\} a_{(n-1)k+2} \dots  a_{nk}) | a_{1}a_{2}\dots  a_{nk} \in  L\}.

Задача 6.7. Докажите, что теорема 6.3 о разрастании остается справедливой и при замене условия 1) |xy| <= n на условие 1') |yz| <= n, т.е. повторяющееся подслово y имеется и в суффиксе w длины <= n.

Задача 6.8. Доказать, что следующие языки в алфавите \Sigma  =\{ a, b, c\} не являются автоматными.

  • Множество всех слов, в которых букв a на 3 больше, чем букв b.
  • L={ ancbm | m > 3n }.
  • L={ wcw-1 | w =a2bna для некоторого n > 0}.
  • L={ w | |w| = 2n для некоторого целого числа n }.
  • L=\{  wc^{|w|} | w \in  \{ a,b\} ^{*}, |w| - длина \ слова w\}.

Задача 6.9. \lambda -выражение - это либо переменная x, или символ \lambda, за которым следует переменная, а далее либо \lambda -выражение, либо левая скобка, \lambda -выражение, еще одно \lambda -выражение и правая скобка. Например, \lambda  x x, \lambda  x(x x), \lambda  x \lambda  x (\lambda  x(x x) \lambda  x(x x)) - это правильные \lambda -выражения, а (x x), \lambda  x(\lambda  x) и \lambda  x((x x) - неправильные. Докажите, что язык \lambda -выражений в алфавите \{  x, \lambda , (, ) \} не является автоматным.

Задача 6.10. Выше в задаче строился автомат-распознаватель, который проверял правильность сложения двоичных чисел. Докажите, что для операции умножения двоичных чисел такого автомата не существует, т.е. что язык в алфавите троек битов U = {(x1(1),x2(1),y(1)) (x1(2),x2(2),y(2)) ... (x1(n),x2(n),y(n)) | y = y(n) ... y(2)y(1) - это первые n битов произведения двоичных чисел x1= x1(n)... x1(2)x1(1) и x2 = x2(n)... x2(2)x2(1)} не является автоматным.

Задача 6.11. Доказать, что язык L = \{  w | число \ букв \a \ в  w \ne  \ число \ букв \ b \ в \ w \} в алфавите \Sigma  =\{ a, b\} не является автоматным.

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >