
- •Предисловие
- •1 Введение. Основные понятия
- •1.4 Общие свойства систем
- •Модели и моделирование
- •2.1 Понятие модели и его развитие
- •2.2 Типы моделей
- •2.2.1 Модели прагматические и познавательные
- •2.2.2 Модели статические и динамические
- •2.2.3 Абстрактные модели
- •2.2.4 Материальные модели
- •2.3 Свойства моделей
- •2.3.1 Условия реализации моделей
- •Системы, их общее описание и классификация
- •3.5.2 Типы переменных
- •3.5.3 Типы операторов систем
- •3.5.4 Типы способов управления
- •3.5.5 Ресурсное обеспечение
- •4.1 Основные понятия. Способы задания автоматов
- •4.1.1 Определение абстрактного автомата
- •4.2.1 Автономные автоматы
- •4.2.3 Автоматы Мили и автоматы Мура
- •4.2.4 Автоматы первого и второго рода
- •4.2.5 Гомоморфизм, изоморфизм и эквивалентность автоматов
- •4.2.6 Минимизация автоматов
- •4.2.7 Частичные автоматы и их свойства
- •4.3 Распознавание множеств автоматами
- •4.3.1 Понятие события и постановка задачи представления
- •4.3.2 Регулярные события и алгебра Клини
4.3 Распознавание множеств автоматами
4.3.1 Понятие события и постановка задачи представления
событий автоматами
Пусть X = x1…xm произвольный входной алфавит, а X* - множество всех слов в этом алфавите. Тогда любое подмножество E X* - назовем событием в алфавите X. Конечно, можно было бы просто говорить "множество слов", но термин "событие" прижился в теории автоматов и стал общепринятым.
Для простоты изложения далее будем оперировать с автоматами без выходов.
Событие EX* назовем представимым в автомате S = (X,Q,,q1,F), если (q1,x) F тогда и только тогда, когда x E. Всякому автомату при заданных q1 и F однозначно соответствует представимое в нем событие: на графе автомата оно соответствует множеству путей, ведущих из q1 в вершины, принадлежащие множеству заключительных состояний F. Событие называется представимым, если существует конечный автомат, в котором оно представимо. Синонимом этого понятия является: множество определимое или допустимое, или распознаваемое автоматом. Другими словами представимое в автомате событие можно назвать множеством, разрешимым автоматом.
Начальное состояние q1 также может относится к множеству заключительных состояний q1 F. В этом случае автомат, ничего не имея на входе, уже что-то представляет. Принято считать, что это "что-то" - пустое слово (пустой символ е) и оно содержится в событии, представимым этим автоматом. Для произвольного слова x выполняется равенство еx = xе = x, то есть пустое слово е играет роль единицы в свободной полугруппе слов входного алфавита, где ассоциативный бинарный операцией является конкатенация (приписывание одного слова к другому).
Не нужно путать пустое слово е с пустым событием (пустым множеством Ø). Автомат представляет пустое событие Ø, если ни одно из его заключительных состояний не достижимо из начального состояния.
С введением пустого символа е можно легко превратить любое алфавитное отображение в автоматное. Это делается с помощью стандартного приема.
Предположим, что - произвольное частичное отображение множества слов X* в множестве Y* . Введем в алфавит X и Y пустую букву е и образуем ноые алфавиты X = Xe Y = Y e. Рассмотрим произвольное слово p X* , имеющее длину n, которое отображением переводится в слово длины m r = (p), r Y* . Обозначим через р слово, образованное из р приписыванием справа m раз буквы е, а через r слово в алфавите Y , полученное из r приписыванием слева n раз буквы е. В результате получаем одинаковую длину слов p и r , равную m + n. Повторив этот прием для каждого слова p X* , на котором определено отображение , и полагая r = (p), получим новое частичное отображение множества X * в множество Y * .
Теперь доопределим отображение на всех начальных отрезках pi любого слова p X * . Назовем это пополнением отображения и обозначим . Смысл такой операции заключается в следующем. Если p1 - начальный отрезок слова p из области определения отображения , то полагаем (p1) равным начальному отрезку слова '(p), имеющему равную с отрезком p1 длину. В результате пополнения отображения получим новое отображение , область определения которого удовлетворяет условию полноты. Можно показать, что полученное отображение удовлетворяет условию однозначности и, следовательно, является автоматным.
Таким образом, частичное отображение , построенное из произвольного алфавитного отображения , удовлетворяет условиям автоматности и является частичным автоматным отображением.
Стандартный прием в силу своей общности не всегда приводит к экономному решению в смысле расходования дополнительных букв и состояний.
До сих пор мы рассматривали конечную последовательность букв входного алфавита, то есть слова конечной длины. Но можно говорить, что автомат распознает и бесконечную последовательность букв x = xi1,xi2,…, если он представляет множество E = xi1,xi1,xi2,…, составленное из всех начальных отрезков бесконечного слова х. Оказывается, что не все события представимы в автоматах. Об этом говорит следующая теорема.
Теорема 4.3.1 Существуют события, непредставимые в автоматах, именно: никакая непериодическая бесконечная последовательность не распознаваема конечным автоматом.
Доказательство. Первая часть теоремы должна быть очевидна: во-первых, из сопоставления мощностей соответствующих множеств (множество всех событий контитуально, а множество конечных автоматов счетно), а во-вторых, потому, что существуют неразрешимые множества.
Вторая часть теоремы говорит о том, что могут быть разрешимые множества, но не представимые в автоматах. Пример такой последовательности, скажем, а алфавите 0,1: 010110111011110…
Действительно, предположим, что некоторая непериодическая последовательность x = xi1 xi2 … xij все же распознаваема автоматом S c n состояниями. Тогда для любого ее начального отрезка xj = xi1 xi2 … xij будет верным (q1,xj)=qij , где qij - заключительное состояние.
В процессе переработки последовательности х автомат проходит заключительные состояния qi1 … qij …, а так как множество QS конечно, то какое - то состояние qij встретится дважды: qij = qi,j+k . Это означает, что (qij, xij+1 xij+2… xij+k) = ij (все состояния, проходимые автоматом, заключительные). Поэтому, если на вход автомата в состоянии q1 подать периодическую бесконечную последовательность x1 = xi xij(xij+1 … xij+k), где в скобках период такой последовательности, то автомат будет проходить последовательность заключительных состояний. Это означает, что все начальные отрезки слова х1 входят в событие, представимое в автомате и , следовательно, автомат не отличает х1 от х, то есть не распознает х вопреки предположению. Что и требовалось доказать.
Из теоремы 4.3.1 следует, что класс множеств, распознаваемых автоматом, есть лишь часть (собственное подмножество) класса разрешимых множеств. Отсюда и из теоремы Райса вытекает, что свойство множества "быть представимым в конечном автомате" алгоритмически неразрешимо. Поэтому не имеет смысла описывать эти множества в терминах произвольных разрешимых множеств и требуются какие-то другие, более слабые, средства такого описания.