Лекция 6. Автоматы Мура
.pdf
Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича
ТЕОРИЯ АВТОМАТОВ И ФОРМАЛЬНЫХ ЯЗЫКОВ
Лекция 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
