Упражнение 2.1.25 |
Конечные автоматы
2.2. Конфигурация конечного автомата
Определение 2.2.1. Конфигурацией или мгновенным описанием (instantaneous description) конечного автомата называется любая упорядоченная пара , где и .
Замечание 2.2.2. Содержательно конфигурация представляет собой "мгновенное описание" конечного автомата. Если представить, что исходное слово, принадлежность которого рассматриваемому языку надо проверить, дано в некотором "входном потоке", то в конфигурации слово w есть та часть исходного слова, которая пока осталась во входном потоке (это некоторый суффикс исходного слова), а q - текущее состояние "управляющего устройства".
Определение 2.2.3. Определим на множестве всех конфигураций конечного автомата M бинарное отношение ( такт работы (step)) следующим образом. Если и , то . Иногда вместо пишут .
Пример 2.2.4. Рассмотрим конечный автомат
из примера 2.1.2. Тогда .Определение 2.2.5. Бинарное отношение определяется как рефлексивное, транзитивное замыкание отношения .
Пример 2.2.6. Для конечного автомата из примера 2.1.2 выполняется и .
Лемма 2.2.7. Пусть дан конечный автомат . Слово принадлежит языку L(M) тогда и только тогда, когда для некоторых и верно .
Лемма 2.2.8. Если и , то .
Доказательство. Лемму легко доказать индукцией по количеству тактов в вычислительном процессе, ведущем из конфигурации в конфигурацию .
Упражнение 2.2.9. Рассмотрим конечный автомат.
Перечислить все конфигурации , удовлетворяющие условию .Упражнение 2.2.10. Существуют ли конечный автомат M, состояния q1, q2 и слова x, y, z, такие что и ?
Упражнение 2.2.11. Как связаны |Q|, , , |w| и число достижимых из (в смысле ) конфигураций?
2.3. Конечные автоматы с однобуквенными переходами
Лемма 2.3.1. Каждый автоматный язык распознается некоторым конечным автоматом, не содержащим переходов с метками длины больше единицы и имеющим ровно одно начальное состояние и ровно одно заключительное состояние.
Пример 2.3.2. Рассмотрим язык, заданный конечным автоматом , где Q = {1,2}, , I = {1,2}, F = {1,2},
Тот же язык распознается конечным автоматом , где Q' = {0,1,2,3,4,5}, I' = {0}, F' = {5}, Здесь первые два перехода заменяют старый переход и следующие два перехода заменяют старый переход . Чтобы обеспечить единственность начального состояния, добавлены переходы и . Последние два перехода в обеспечивают единственность заключительного состояния.Лемма 2.3.3. Каждый автоматный язык распознается некоторым конечным автоматом, содержащим только переходы с метками длины единица и имеющим ровно одно начальное состояние.
Доказательство. Согласно лемме 2.3.1 можно предположить, что исходный язык задан конечным автоматом , не содержащим переходов с метками длины больше единицы, причем |I| = 1. Построим искомый конечный автомат , положив Q' = Q, I' = I,
Пример 2.3.4. Пусть , где Q = {1,2,3}, , I = {1}, F = {3},
Легко убедиться, что . Тот же язык распознается конечным автоматом , где F' = {2,3} иУпражнение 2.3.5. Найти конечный автомат с однобуквенными переходами, распознающий язык
Упражнение 2.3.6. Найти конечный автомат с однобуквенными переходами, распознающий язык
Упражнение 2.3.7. Существуют ли автоматный язык, который не распознается никаким конечным автоматом, содержащим только переходы с метками длины единица и имеющим ровно одно начальное состояние и ровно одно заключительное состояние?