Теория формальных языков, грамматик и автоматов. Ишакова Е.Н. - 13 стр.

UptoLike

Составители: 

13
3 Лабораторная работа 3. Минимизация конечных авто-
матов
Цель: - закрепить понятия «недостижимые состояния автомата», «экви-
валентные состояния автомата», «минимальный конечный автомат»;
- сформировать умения и навыки минимизации детерминированно-
го конечного автомата.
Основы теории
Конечный автомат может содержать лишние состояния двух типов: не-
достижимые и эквивалентные состояния.
Определение 3.1. Два различных состояния q и
q
в конечном автомате
),,,,(
Z
H
F
T
Q
M
= называются n-эквивалентными, nN{0}, если, находясь в
одном их этих состояний и получив на вход любую цепочку символов
ω
:
ω
V
T
*
, |
ω
|n, автомат может перейти в одно и то же множество конечных со-
стояний.
Определение 3.2. Состояние q КА называется недостижимым, если к не-
му нет пути из начального состояния автомата.
Определение 3.3. КА, не содержащий недостижимых и эквивалентных
состояний, называется приведенным или минимальным КА.
Алгоритм 3.1. Устранение недостижимых состояний КА
Вход: КА ),,,,(
Z
H
F
T
Q
M
= .
Выход: КА ),,,,( ZHFTQM
=
.
Шаг 1. Поместить начальное состояние КА в список достижимых состоя-
ний
д
Q , т.е. HQ
д
=
0
.
Шаг 2. Для новых элементов списка достижимых состояний пополнить
список группой их состояний-приемников, отсутствующих в нем, т.е.
}),(|{
11
ptqFQqpQQ
i
д
i
д
i
д
==
.
Шаг 3. Повторить шаг 2, пока список достижимых состояний не переста-
нет меняться. То есть, если
1
i
д
i
д
QQ , то i:=i+1, иначе
i
д
д
QQ = .
Шаг 4. Исключить из множества Q состояний КА все состояния, отсутст-
вующие в списке Q
д
достижимых состояний, т.е.
д
QQQ
.
Шаг 5. Исключить недостижимые заключительные состояния и пары
функции переходов, содержащие недостижимые состояния, т.е.
д
QZZ
=
,
)}(|),({
д
QQqptqFFF ==
.
Пример 3.1. Устранить недостижимые состояния КА ),,,,(
Z
H
F
T
Q
M
= ,
где Q = {A, B, C, D, E, F, G}, T = {a, b}, H = {A}, Z = {D, E} и функция перехо-
дов задана таблицей 3.1. Граф исходного КА М представлен на рисунке 3.1.
    3 Лабораторная работа № 3. Минимизация конечных авто-
матов

      Цель: - закрепить понятия «недостижимые состояния автомата», «экви-
валентные состояния автомата», «минимальный конечный автомат»;
            - сформировать умения и навыки минимизации детерминированно-
го конечного автомата.
                                   Основы теории
      Конечный автомат может содержать лишние состояния двух типов: не-
достижимые и эквивалентные состояния.
      Определение 3.1. Два различных состояния q и q′ в конечном автомате
M = (Q, T , F , H , Z ) называются n-эквивалентными, n∈N∪{0}, если, находясь в
одном их этих состояний и получив на вход любую цепочку символов ω:
ω ∈VT*, |ω|≤n, автомат может перейти в одно и то же множество конечных со-
стояний.
      Определение 3.2. Состояние q КА называется недостижимым, если к не-
му нет пути из начального состояния автомата.
      Определение 3.3. КА, не содержащий недостижимых и эквивалентных
состояний, называется приведенным или минимальным КА.

          Алгоритм 3.1. Устранение недостижимых состояний КА
     Вход: КА M = (Q, T , F , H , Z ) .
     Выход: КА M ′ = (Q′, T , F ′, H , Z ′) .

     Шаг 1. Поместить начальное состояние КА в список достижимых состоя-
ний Qд , т.е. Qд0 = H .
     Шаг 2. Для новых элементов списка достижимых состояний пополнить
список группой их состояний-приемников, отсутствующих в нем, т.е.
Qдi = Qдi −1 ∪ { p | ∀q ∈ Qдi −1 ∃ F (q, t ) = p} .
      Шаг 3. Повторить шаг 2, пока список достижимых состояний не переста-
нет меняться. То есть, если Qдi ≠ Qдi −1 , то i:=i+1, иначе Qд = Qдi .
       Шаг 4. Исключить из множества Q состояний КА все состояния, отсутст-
вующие в списке Qд достижимых состояний, т.е. Q′ = Q ∩ Qд .
       Шаг 5. Исключить недостижимые заключительные состояния и пары
функции переходов, содержащие недостижимые состояния, т.е. Z ′ = Z ∩ Qд ,
F ′ = F − {F (q, t ) = p | q ∈ (Q − Qд )} .

      Пример 3.1. Устранить недостижимые состояния КА M = (Q, T , F , H , Z ) ,
где Q = {A, B, C, D, E, F, G}, T = {a, b}, H = {A}, Z = {D, E} и функция перехо-
дов задана таблицей 3.1. Граф исходного КА М представлен на рисунке 3.1.

                                                                              13