Скачиваний:
6
Добавлен:
27.08.2024
Размер:
376.72 Кб
Скачать

Построение графа автомата Мура.

Исходная таблица автомата Мура на таблице 4.

Таблица 4

Q0/x

Q1/x

Q2/z

Q3/z

Q4/z

Q5/y

Q6/z

Q7/x

Q8/y

Q9/y

Q10/y

Q11/y

A

Q9

Q11

Q4

Q6

Q2

Q6

Q2

Q9

Q6

Q0

Q4

Q1

B

Q4

Q6

Q4

Q10

Q8

Q10

Q5

Q3

Q5

Q7

Q8

Q7

Строится граф автомата Мура в программе jFlap на рисунке 7.

Рисунок 7 – Граф автомата Мура

На вход автомат получает последовательность abbbaaaa, выходная последовательность автомата в этом случае – yxzyzzz на рисунке 8.

Рисунок 8 – Первый тест автомата Мура

На вход автомат получает последовательность abbaaaaa, выходная последовательность автомата в этом случае – yxzzzzzz на рисунке 9.

Рисунок 9 – Второй тест автомата Мура

Построение минимизированного автомата Мура.

Исходная таблица автомата Мура на таблице 5.

Таблица 5

Q0/x

Q1/x

Q2/z

Q3/z

Q4/z

Q5/y

Q6/z

Q7/x

Q8/y

Q9/y

Q10/y

Q11/y

A

Q9

Q11

Q4

Q6

Q2

Q6

Q2

Q9

Q6

Q0

Q4

Q1

B

Q4

Q6

Q4

Q10

Q8

Q10

Q5

Q3

Q5

Q7

Q8

Q7

Теперь состояния делятся на группы по выходу – x, y, z:

A0 = {q0, q1, q7}

A1 = {q2, q3, q4, q6}

A2 = {q5, q8, q9, q10, q11}

Исходная таблица делится на группы:

Таблица 6

A0

A1

A2

Q0/x

Q1/x

Q7/x

Q2/z

Q3/z

Q4/z

Q6/z

Q5/y

Q8/y

Q9/y

Q10/y

Q11/y

A

A2

A2

A2

A1

A1

A1

A1

A1

A1

A0

A1

A0

B

A1

A1

A1

A1

A2

A2

A2

A2

A2

A0

A2

A0

Делим группы состояний дальше.

B0 = {q0, q1, q7}

B1 = {q2}

B2 = {q3, q4, q6}

B3 = {q5, q8, q10}

B4 = {q9, q11}

Таблица 7

B0

B1

B2

B3

B4

Q0/x

Q1/x

Q7/x

Q2/z

Q3/z

Q4/z

Q6/z

Q5/y

Q8/y

Q10/y

Q9/y

Q11/y

A

B4

B4

B4

B2

B2

B1

B1

B2

B2

B2

B0

B0

B

B2

B2

B2

B2

B3

B3

B3

B3

B3

B3

B0

B0

Делим группы состояний дальше.

C0 = {q0, q1, q7}

C1 = {q2}

C2 = {q3}

C3 = {q4, q6}

C4 = {q5, q8, q10}

C5 = {q9, q11}

Таблица 8

С0

С1

С2

С3

С4

С5

Q0/x

Q1/x

Q7/x

Q2/z

Q3/z

Q4/z

Q6/z

Q5/y

Q8/y

Q10/y

Q9/y

Q11/y

A

С5

С5

С5

С4

С3

С1

С1

С3

С3

С3

С0

С0

B

С3

С3

С2

С4

С4

С4

С4

С4

С4

С4

С0

С0

Делим группы состояний дальше.

C0 = {q0, q1}

С1 = {q7}

C2 = {q2}

C3 = {q3}

C4 = {q4, q6}

C5 = {q5, q8, q10}

C6 = {q9, q11}

Таблица 9

D0

D1

D2

D3

D4

D5

D6

Q0/x

Q1/x

Q7/x

Q2/z

Q3/z

Q4/z

Q6/z

Q5/y

Q8/y

Q10/y

Q9/y

Q11/y

A

D6

D6

D6

D4

D4

D2

D2

D4

D4

D4

D0

D0

B

D4

D4

D3

D4

D5

D5

D5

D5

D5

D5

D1

D1

Все, не делится, так как в группах у состояний одинаковые входы и выходы по группе.

На основании этой таблицы строится минимизированный автомат Мура.

Таблица 10

Q0/x

Q1/x

Q2/z

Q3/z

Q4/z

Q5/y

Q6/y

A

Q6

Q6

Q4

Q4

Q2

Q4

Q0

b

Q4

Q3

Q4

Q5

Q5

Q5

Q1

На основании таблицы автоматов строится граф

Рисунок 10 – Граф минимизированного автомата Мура

На вход автомат получает последовательность abbbaaaa, выходная последовательность автомата в этом случае – yxzyzzz на рисунке 11.

Рисунок 11 – Первый тест минимизированного автомата Мура

На вход автомат получает последовательность abbaaaaa, выходная последовательность автомата в этом случае – yxzzzzzz на рисунке 12.

Рисунок 12 – Второй тест минимизированного автомата Мура

Вывод:

Сравнив все пройденные тесты, можно сделать вывод, что графы автоматов и их минимизированные версии построены верно.

Соседние файлы в предмете Теория автоматов и формальных языков