Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А Гилл Введение в теорию конечных автоматов.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
39.46 Mб
Скачать

2.8. Матрица переходов13

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

Для автомата М, имеющего n состояний, матрица переходов состоит из n. строк и n столбцов и обозначается [М]. Пусть {σ1, σ2, .:., σn}—множество состояний автомата М и пусть bij обозначает дугу графа переходов автомата М, направленную от σi к σj. Элемент (i, j) (т. е. содержимое клетки, расположенной на пересечении i-й строки и j-го столбца матрицы [М] обозначается еij и определяется так:

Для ясности обычно обозначение k-го состояния σk приписывают k-й строке и k-му столбцу и называют их «строка σk» и «столбец σk» соответственно. Выражение (2.12) изображает матрицу переходов автомата А1, заданного в виде графа на рис. 2.2.

Если р — мощность входного алфавита автомата М, то каждая строка в [М] должна содержать точно р пар вход-выход, причем каждая пара имеет входной символ, отличный от входного символа любой другой пары. Дуги, заходящие в состояние σk, представляются недиагональными элементами14 столбца σk; дуги, исходящие из состояния σk, представляются недиагональными элементами строки σk ; петля состояния σk представляется диагональным элементом в строке σk или

столбце σk. Следовательно, если σk — переходящее состояние, то все недиагональные элементы в столбце σk (но не в строке σk) равны нулю; если σk —тупиковое состояние, то все недиагональные элементы в строке σk (но не в столбце σk) равны нулю; если σk —изолированное состояние, то все недиагональные элементы в строке σk и столбце σk равны нулю.

Если Si = {σi1, σi2, ..., σir}, то определенное в § 2.6 множество G1 (Si) представляет собой объединение Si и обозначений столбцов, в которых элементы, принадлежащие строкам σi1, σi2, ..., σir, не равны нулю. Определенное в § 2.7 множество HI(Si) представляет собой объединение Si обозначений столбцов, в которых элементы, принадлежащие строкам σi1, σi2, ..., σir, не равны нулю, и обозначений строк, в которых элементы, принадлежащие столбцам σi1, σi2, ..., σir, не равны нулю. Например, из матрицы [Al] ясно видно, что для автомата A1 G1(l, 2) = {1, 2, 3} и Н1(4, 5)={1, 3, 4, 5}. Таким образом, ясно, что матрица переходов является удобным инструментом для выполнения алгоритмов 2.1, 2.2 и 2.3.

Для того чтобы определить, составляет ли множество S(σi1, σi2, ..., σir) преходящий, тупиковый или изолированный подавтомат автомата М, надо строки и столбцы матрицы [М] переставить так, чтобы строки и столбцы σi1, σi2, ..., σir заняли соседние положения, начиная с первой строки и первого столбца соответственно. Как показано в (2.13), эта перестановка делит матрицу [М] на четыре подматрицы [М11], [М12], [M21], [М22], причем строками и столбцами [М11] являются строки и столбцы σi1, σi2, ..., σir

Обозначая матрицу, все элементы которой равны нулю, через [0], можно сделать вывод, что Si составляет преходящий подавтомат, если [M21] = [0], а [М12] ≠ 0, тупиковый подавтомат, если [М12] = [0], а [M21] ≠ 0, и изолированный подавтомат, если [М12] = [М21] = [0]. В (2.14) представлена матрица переходов автомата A3, изображенного на рис. 2.5, в которой строки и столбцы переставлены так, чтобы выделить тупиковый подавтомат {1, 4, 7}, преходящий подавтомат {2, 5, 8} и изолированный подавтомат {3, 6, 9}.

Если Si составляет тупиковый или изолированный подавтомат, то [M12] = [0] и, следовательно, каждая строка в [М11] содержит все р пар вход-выход, где р — мощность входного алфавита. Удалив [M12], [M21] и [М22] из [М], получим матрицу [М11] размером r r, которую можно трактовать как матрицу, представляющую независимый автомат М11 с r состояниями, имеющий тот же входной алфавит, что и М. Отсюда следует то же заключение, которое было получено в § 2.6: если автомат находится в состоянии, принадлежащем тупиковому или изолированному подавтомату, то все состояния, которые не принадлежат этому подавтомату, и все дуги, исходящие из этих состояний, могут быть исключены.