Россия |
Свойства замкнутости класса автоматных языков. Неавтоматные языки
Задачи
Задача 6.1. Примените процедуру детерминизации из теоремы 4.2 и постройте ДКА, эквивалентный построенному выше в примере 6.2 НКА M.
Задача 6.2. Цилиндрификация - это операция, которая обратна проекции.
Для любых алфавитов и
таких, что
, и любого
языка L в алфавите
определим его цилиндрификацию
как язык
.
Показать, что для автоматного языка L язык
также является автоматным языком. Предложите процедуру перестройки автомата,
распознающего L , в автомат, распознающий
.
Задача 6.3.
Обращением слова
называется слово w{-1}= wk ... w2 w1. Показать, что для автоматного языка L его обращение - язык
также является автоматным языком.
Задача 6.4.
Пусть L - автоматный язык в алфавите Доказать, что автоматными
являются и следующие языки:
-
.
-
.
-
.
-
.
Задача 6.5. Пусть L - автоматный язык в алфавите ,
а L1,..., Lm - это автоматные языки в алфавите
Доказать, что автоматным является
и язык ЗАМ(L), полученный из слов L заменой каждой буквы ai на некоторое слово из Li, т.е.
и такие слова
,
что
для всех j=1,2,... n }.
Задача 6.6. Пусть L - автоматный язык в алфавите k - целое положительное число и
- отображение
в
Доказать, что автоматным является язык
.
Задача 6.7. Докажите, что теорема 6.3 о разрастании остается справедливой и при замене условия 1) |xy| <= n на условие 1') |yz| <= n, т.е. повторяющееся подслово y имеется и в суффиксе w длины <= n.
Задача 6.8. Доказать, что следующие языки в алфавите не являются автоматными.
- Множество всех слов, в которых букв a на 3 больше, чем букв b.
- L={ ancbm | m > 3n }.
- L={ wcw-1 | w =a2bna для некоторого n > 0}.
- L={ w | |w| = 2n для некоторого целого числа n }.
-
.
Задача 6.9. -выражение - это либо
переменная x, или символ
за которым следует переменная,
а далее либо
-выражение, либо левая скобка,
-выражение, еще одно
-выражение
и правая скобка.
Например,
- это правильные
-выражения, а
и
- неправильные.
Докажите, что язык
-выражений в алфавите
не является автоматным.
Задача 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.
Доказать, что язык в алфавите
не является автоматным.