Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CHast_8_Konechnye_avtomaty.DOC
Скачиваний:
26
Добавлен:
22.09.2019
Размер:
797.18 Кб
Скачать

7.2. Определение и задание автоматов

Алфавитом называется всякое конечное множество A = {a1, . . . , an}. Элементы множества A называются символами.

Определение

Конечным автоматом называется всякая пятерка

A = (A, B, Q, , ), где:

  1. A входной алфавит;

  2. B выходной алфавит;

  3. Q  конечное множество состояний автомата;

  4. : A Q Q  функция перехода;

  5. : A Q B  функция выхода автомата.

В дальнейшем мы будем использовать наименование автомата, применительно только к конечным автоматам.

Символы входного и выходного алфавитов представляют входные и выходные сигналы автомата.

Отображения  и  задают функционирование автомата A и называются функциями перехода и выхода.

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

Отображение  задает символ на выходе A для такой же ситуации.

На практике используют и другие способы задания автоматов, которые либо удобны для решения специальных задач, либо имеют большую наглядность.

Рассмотрим основные способы представления автоматов.

7.2.1. Диаграммы переходов

Пусть = (A, B, Q, , )  это автомат и A = {a1, . . . , am}, Q = {q1, . . . , qr}.

Изобразим состояния с помощью системы из r непересекающихся кругов на плоскости, которые помечены символами этих состояний. Из каждого круга, изображающего состояние, проведем m ориентированных дуг, каждая из которых помечена одним из символов входного алфавита.

Дуге, выходящей из состояния qj, помеченной входным символом ai, припишем также выходной символ (ai, qj), заключив его в скобки.

Проведем эту дугу в состояние (ai, qj).

Соответствующий фрагмент изображения автомата имеет вид, приведенный на рис.7.1.

qj qk

ai((ai, qj))

Рис. 7.1

Здесь qk = (ai, qj).

Построенное по заданным правилам представление автомата называется диаграммой переходов.

Диаграммы переходов полностью определяют представляемые ими автоматы.

Множества A и B определяются символами, приписанными дугам без скобок и в скобках соответственно.

(Без ограничения общности можно считать, что каждый символ выходного алфавита принадлежит области значений функции выхода  и поэтому присутствует на диаграмме переходов.)

Множество всех состояний автомата задается помеченными кругами.

Отображения  и  полностью представлены в диаграмме. При этом значение (ai, qj) равно состоянию, в которое ведет дуга диаграммы, выходящая из состояния qj и помеченная входным символом ai.

Значение (ai, qj) равно символу выходного алфавита, который приписан в скобках для той же дуги.

Основным свойством диаграмм переходов является наглядность представления как отдельных действий, так и функционирования автоматов в течение нескольких последовательных моментов времени.

Если в некоторый момент времени t автомат находится в состоянии qj и на его вход поступает символ ai, то функционирование этого автомата можно представить с помощью перемещения по диаграмме из состояния qj по дуге, помеченной входным символом ai.

При этом выбранная дуга ведет в состояние, в котором будет находиться в момент времени t + 1. Символ на выходе автомата в момент t приписан этой же дуге в скобках.

Поэтому функционирование автомата в последовательные моменты t0, t0+1, . . . , t0+i, . . . можно промоделировать с помощью прохождения соответствующего пути в диаграмме переходов.

Упражнение. Покажите, что диаграмма переходов всякого автомата имеет элементарные циклы ненулевой длины.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]