Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция 6. Автоматы Мура

.pdf
Скачиваний:
0
Добавлен:
28.02.2026
Размер:
357.55 Кб
Скачать

Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича

ТЕОРИЯ АВТОМАТОВ И ФОРМАЛЬНЫХ ЯЗЫКОВ

Лекция 6. Автоматы Мура и Мили

Рябов Геннадий Анатольевич, старший преподаватель кафедры ССиПД

Повторим: абстрактные автоматы

Абстрактный автомат (Abstract machine)

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

 

 

 

 

 

 

 

 

Состояния

 

 

 

Входной алфавит

 

 

 

 

Выходной алфавит

 

 

 

 

 

 

Память

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конечные автоматы

Конечный автомат (Finite-State Machine) – это абстрактный автомат с конечным числом возможных состояний.

Конечные автоматы

Конечный автомат можно определить через кортеж:

M={Q, Σ, Δ, I, F}, где

Q – конечное множество состояний автомата, I – начальные состояния автомата, I Q,

F – конечные состояния автомата, F Q, Σ – конечный входной алфавит,

– конечное множество переходов, Q × Σ* → Q

Конечные автоматы

Если (p, x, q) ,

то (p, x, q) является переходом из состояния p в состояние q, а x – меткой этого перехода.

Пример:

Пусть Q={1,2},

Σ={a,b},

I={1},

F={2},

= {(1, a, 1), (1, b, 2), (1, c, 2), (2, aa, 1)}

Тогда M={Q, Σ, Δ, I, F} – конечный автомат.

Конечные автоматы с выходным алфавитом

Ограничение применения КА на практике – отсутствие выходного сигнала кроме да/нет (соответствует слово языку или нет).

Автоматы Мура и Мили призваны решить эту проблему и подавать на выход сигналы выходного алфавита каждый такт работы абстрактного автомата.

За счет этого автоматы Мура и Мили находят широкое применение на практике.

Автомат Мура

Автомат Мура можно определить через кортеж:

M={Q, X, Δ, I, F, Y}, где

Q – конечное множество состояний автомата, I – начальные состояния автомата, I Q,

F – конечные состояния автомата, F Q,

X – конечный входной алфавит,

– конечное множество переходов, Q × X* → Q,

Y – конечный выходной алфавит, Q → Y

Автомат Мура

Автомат Мура – это конечный автомат, в котором выходной символ в каждом такте работы определяется текущим состоянием автомата.

a b

1|0

2|1

 

a 3|1 a

Автомат Мура

Табличное задание автомата Мура

Состояния

 

 

 

\Входной

a

b

Выход

алфавит

 

 

 

 

 

 

 

1

1

2

0

 

 

 

 

2

3

-

1

 

 

 

 

3

1

-

1

 

 

 

 

a b

1|0

2|1

 

a 3|1 a

Автомат Мили

Автомат Мили можно определить через кортеж:

M={Q, X, Δ, I, F, Y}, где

Q – конечное множество состояний автомата, I – начальные состояния автомата, I Q,

F – конечные состояния автомата, F Q,

X – конечный входной алфавит,

– конечное множество переходов, Q × X* → Q,

Y – конечный выходной алфавит, X × Q → Y