Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ.doc
Скачиваний:
186
Добавлен:
01.04.2015
Размер:
2.27 Mб
Скачать

Одноленточные автоматы

Конечный одноленточный(детерминированный, односторонний) автомат обнаруживают ряд полезных качеств, используемых в теории схем программ для установления разрешимости свойств ССП.

Одноленточный конечный автомат (ОКА) над алфавитом Vзадается набором:A= {V, Q, R, q0, #, I} и правилом функционирования, общим для всех таких автоматов. В набореА:

V- алфавит;

Q- конечное непустоемножествосостояний(QV=);

R- множество выделенныхзаключительных состояний(RQ);

q0 - выделенноеначальноесостояние;

I -программа автомата;

# - «пустой» символ.

Программа автоматаIпредставляет собой множествокомандвидаq', в которойq,q'Q,aVи для любой пары (q, a) существует единственная команда, начинающаяся этими символами.

Неформально ОКА можно представить как абстрактную машину, похожую на машину Тьюринга, но имеющую следующие особенности:

1) выделены заключительные состояния;

2) машина считывает символы с ленты, ничего не записывая на нее;

3) на каждом шаге головка автомата, считав символ с ленты и перейдя согласно программе в новое состояние, обязательно передвигается вправо на одну клетку;

4) автомат останавливается в том и только в том случае, когда головка достигнет конца слова, т.е. символа .

Говорят, что автомат допускает слово в алфавитеV, если, начав работать с лентой, содержащей это слово, он останавливается в заключительном состоянии. АвтоматAзадает характеристическую функцию множестваMAдопускаемых им словв алфавитеV, т. е. он распознает, принадлежит ли заданное слово множествуMAесли связать с остановкой в заключительном состоянии символ 1, а с остановкой в незаключительном состоянии – 0.

Наглядным способом задания ОКА служат графы автоматов. Автомат Апредставляется графом, множество вершин которого – множество состоянийQ, и из вершиныqв вершинуq’ведет дуга, помеченная символом а, тогда и только тогда, когда программа автомата содержит командуq'. Работе автомата над заданным словом соответствует путь из начальной вершиныq.Последовательность проходимых вершин этого пути – это последовательность принимаемых автоматом состояний, образ пути по дугам – читаемое слово. Любой путь в графе автомата, начинающийся в вершинеq0и заканчивающийся в вершинеqR, порождает слово, допустимое автоматом.

Пример 1.2.ОКАA= ({a, b}, {q0, q1, q2, q3}, {q2},q0,,I), допускающего слова {an bm | n= 1,2, ...;m = 1,2, ...}, задается графом (рисунок 1.6.). Программа I содержит команды:

q0aq1; q0bq3; q1aq1; q1bq2; q2aq3; q2bq2; q3aq3; q3bq3.

Автомат называется пустым, еслиМА=, АвтоматыА1 иА2эквивалентны, еслиМА1 = МА2. Для машины Тьюринга проблемы пустоты и эквивалентности неразрешимы, более того, они не являются частично разрешимыми. Ситуация меняется для конечных автоматов.

Для ОКА доказано:

1) Проблема пустоты ОКА разрешима.

Доказательство основано на проверке допустимости конечного множества всех слов, длина которых не превышает числа состояний ОКА - n. Если ни одно слово из этого множества не допускается, то ОКА «пуст».

2) Предположение о том, что минимальная длина допускаемого слова больше nотвергается на том основании, что оно может быть сведено к слову меньшей длины, путем выбрасывания участков между двумя повторяющимися в пути узлами.

3) Проблема эквивалентности ОКА разрешима.

Доказательство основано на использовании отношения эквивалентности двух состояний qиq': если состоянияqиq'эквивалентны, то для всехaA состояния(q, a) и'(q', a) также эквивалентны. Формируемые пары не должны входить одновременно заключительное и незаключительное состояния.