Устранение недостижимых состояний КА
АлгоритмУстранение недостижимых состояний КА
Вход: КА .
Выход: КА .
Шаг 1. Поместить начальное состояние КА в список достижимых состояний , т.е. .
Шаг 2. Для новых элементов списка достижимых состояний пополнить список группой их состояний-приемников, отсутствующих в списке, т.е. .
Шаг 3. Повторить шаг 2, пока список достижимых состояний не перестанет меняться. То есть, если , то i=i+1, иначе .
Шаг 4. Исключить из множества Q состояний КА все состояния, отсутствующие в списке Qд достижимых состояний, т.е. .
Шаг 5. Исключить недостижимые заключительные состояния и функции переходов, содержащие недостижимые состояния, т.е. , .
ПримерУстранить недостижимые состояния КА , где Q = {A, B, C, D, E, F, G}, T = {a, b}, H = {A}, Z = {D, E} и функция переходов задана таблицей 2.4. Граф исходного КА М представлен на рисунке 2.3.
Таблица 2.4 – Функция переходов конечного автомата M
F | A | B | C | D | E | F | G |
a | B | C | B | D | F | ||
b | C | D | E | E | D | G | E |
Рисунок 2.2 – Граф исходного конечного автомата М
Последовательность устранения недостижимых состояний КА имеет вид:
Q0 = {A};
Q1 = {A, B, C};
Q2 = {A, B, C, D, E};
Q3 = {A, B, C, D, E}; т.к. Q2 = Q3, то Qд = {A, B, C, D, E}.
Qн = {F, G}; = {A, B, C, D, E}; = {D, E}.
Функция переходов автомата представлена в таблице 2.6.
Таблица 2.5 - Функция переходов автомата
F | A | B | C | D | E |
a | B | C | B | ||
b | C | D | E | E | D |
|
Рисунок 2.3 - Граф КА после устранения недостижимых состояний
Дата добавления: 2016-03-27; просмотров: 1662;