Модуль 3. Общая теория конечные цифровых автоматов с памятью

advertisement
Модуль 3. Общая теория конечные цифровых
автоматов с памятью
 Абстрактный автомат. Основные понятия и
определения.
 Эквивалентные автоматы. Преобразование автомата
Мили в автомат Мура и наоборот.
 Минимизация полностью определённых автоматов на
основе выделения классов эквивалентных состояний.
 Определение структурного автомата.
Теория автоматов. Модуль 3
1/16
Абстрактный автомат. Основные понятия и определения
В общем случае, автоматы это устройства, выполняющие прием, хранение и
преобразование дискретной информации по заданному алгоритму.
Теория автоматов (ТА) делится на две части: абстрактные и структурные
автоматы. Абстрактная ТА отвлекается от структуры автомата и изучает лишь его
поведение, или реакцию автомата на входное воздействие.
Абстрактный автомат – это математическая модель, с одним входом и одним
выходом, работающая в дискретном времени tn = nT, где n = 0, 1, 2 …, а T –
интервал дискретизации.
Предполагается, что переходные процессы в автомате укладываются в интервал
дискретизации и, поэтому чтобы не ссылаться на значение Т, вводится автоматное
время: t= tn / T = 0, 1, 2, …
z(t) Є Z
a(t) Є A w(t) Є W
A={а1,…аm,..,aM };
Z={z1,…zf ,..,zF };
W={w1,…wl ,..,wL };
В каждый момент времени t автомат,
находящийся в состоянии а(t) Є А, способен
воспринять букву входного алфавита z(t) Є Z и, в
этот же момент времени, сформировать букву
выходного алфавита w(t) Є W (t = 0, 1, 2, …).
Например:
t
0
1
2
3
z(t)
z1
z2
z3
z4
w(t)
w1 w2 w3 w4
Теория автоматов. Модуль 3
2/16
Абстрактный автомат (продолжение)
Работу автомата можно определить следующими двумя функциями:
a(t+1)=δ(a(t), z(t)) – функция перехода,
w(t)= λ(a(t), z(t)) – функция выхода.
Примем: a(t)=am - состояние для момента времени t, a(t+1)= as - состояние для
момента t+1. Аналогично: z(t)=zf , w(t)=wl . Тогда:
as = δ(am ,zf ) – функция перехода,
wl = λ (am ,zf ) - функция выхода.
Введем ряд понятий:
 Автомат будет конечным, если все множества A, W и Z будут конечными.
 Детерминированный автомат – такой автомат, который, находясь в состоянии am
под воздействием входного сигнала zf перейдет в состояния as .
 Инициальный автомат: а(0)=а1 .
 Полностью определенный автомат – если для каждой пары (am , zf ) Є {A x Z}
определены функции λ и δ. Если это не выполняется – автомат будет неполным или
частичным.
Из всех автоматов наибольшее распространение получили автоматы Мили и Мура
Автомат Мили (G. Mealy)
Автомат Мура (E. Moore)
as = δ(am , zf )
wl = λ (am , zf )
Теория автоматов. Модуль 3
as = δ(am , zf )
wl = λ (am )
3/16
Способы задания автоматов: а) табличный
Ниже представлена совмещённая таблица переходов и выходов автомата
Мили А1, в клетках которой на пересечении m- го столбца (состояние am) и f-й
строки (вх. символ zf) указываются состояние автомата as = δ(am ,zf) в следующий
момент времени t+1 и значение выходного символа (через косую линию)
wl = λ (am ,zf ) в этот же момент времени t.
Ниже, основываясь на таблице переходов и выходов, определено выходное слово
автомата как реакция на произвольное входное слово. Выходной сигнал wl в
автомате Мили присутствует только при наличии входного сигнала zf !
Выходное слово автомата
Мили А1
z\а
a1
a2
a3
z1
a3/w1
a1/w1 a1/w2
z2
a1/w1
a3/w2
a2/w1
Мили А1
t
0
1
2
3
as = δ(am , zf )
z(t)
z1
z1
z2
z1
w(t)
w1
w2
w1
w1
a(t)
a1
a3
a1
a1
wl = λ (am , zf )
Теория автоматов. Модуль 3
4
a3
4/16
Способы задания автоматов: б) графический
Таблица переходов и выходов автомата Мура отличается тем, что у него выходной сигнал
есть функция только состояния wl = λ (am ). Ниже приведён пример таблицы автомата
Мура А2
Мили А1
z\а
a1
a2
a3
z1
a3/w1
a1/w1
a1/w2
z2
a1/w1
a3/w2
a2/w1
Мура А2
Граф автомата – это ориентированный граф,
вершины которого соответствуют состояниям, а
дуги – переходам между ними.
z2 ,w1
Мили А1
z\а
z1
z2
w1
a1
a4
a1
w2
a2
a4
a2
w1
a3
a1
a5
Мура А2
z2
a1/w1
z1
a1
z1,w2
z2 ,w1
a3
z1 ,w1
z1
z1
a2/w2
z2
z1
a2
w2
a5
a2
a3
z2
a5/w2
z1,w1
w1
a4
a2
a3
a4/w1
z2,w2
Теория автоматов. Модуль 3
z1
z2
z2
a3/w1
5/16
Синхронные и асинхронные автоматы
Предварительно определим, какое состояние автомата является устойчивым.
Состояние автомата as является устойчивым, если для любого входа zf Є Z такого,
что as=δ(am ,zf ) справедливо as= δ(as ,zf ), т. е. если автомат в состояние as
пришёл под действием входного сигнала zf , то выйти из него он должен под
действием другого сигнала.
Автомат является асинхронным, если все состояния
автомата являются устойчивыми. Следовательно,
zf
am
zf
as
смена состояний асинхронного автомата возможна только
с изменением входного сигнала, поэтому для данного типа
автомата можно ввести переменный шаг времени, связав
его с изменением входного сигнала.
Если хотя бы одно состояние автомата является неустойчивым, то такой
автомат будет синхронным. Приведённые примеры автоматов Мили А1 и Мура
А2 являются синхронными. В дальнейшим, как правило, будет рассматриваться
данный тип автомата.
Теория автоматов. Модуль 3
6/16
Связь между моделями Мура и Мили. Понятие
эквивалентных автоматов
Два автомата А1 и А2 называются эквивалентными (независимо от модели автоматов),
если будучи установленными в начальное состояние а1 имеют одинаковые реакции
(выходные слова) на любое входного слово. Выходным сигналом автомата Мура (в отличие
от автомата Мили) находящегося в начальном состоянии пренебрегают.
Покажем, что автоматы Мили А1 и Мура А2 являются эквивалентными. При
определении эквивалентности «разномодельных» автоматов необходимо учитывать факт
сдвига на один такт (запаздывание) выходного слова автомата Мура относительно выходного
слова автомата Мили.
z\а
a1
a2
a3
z1
a3/w1
a1/w1
a1/w2
z2
a1/w1
a3/w2
a2/w1
z\а
z1
z2
w1
a1
a4
a1
w2
a2
a4
a2
w1
a3
a1
a5
w1
a4
a2
a3
w2
a5
a2
a3
Реакции автоматов, установленных в состояние а1 на входное слово ξ = z1 z1 z2 z1 z2 z2
Мили
А1
Мура
А2
ξ
a(t)
w(t)
a(t)
w(t)
z1
a1
w1
a1
w1
z1
a3
w2
a4
w1
z2
a1
w1
a2
w2
z1
a1
w1
a1
w1
Теория автоматов
z2
a3
w1
a4
w1
z2
a2
w2
a3
w1
a3
a5
w2
7/16
Преобразование автомата Мура в автомат Мили и
наоборот
1. Преобразование автомата Мура в автомат Мили (Мура А2 → Мили А3)
осуществляется наиболее просто. Правило преобразования применительно к
интерпретации автоматов в виде графов: выходной сигнал wl, записанный в вершине as
переносится на все дуги, входящие в эту вершину.
Ав-мат Мили
Ав-мат Мура
zf
zf ,wl
as/wl
Правило преобразования применительно к
заданию автоматов в виде таблиц: в клетки
таблицы, отражающие состояния переходов as=
δ(as , zf ) автомата Мура записываются (через
косую черту) соответствующие этим состояниям
выходные сигналы. Т.О. новый автомат Мили
приобретает число состояний автомата Мура.
as
Мили А3
z\а
a1
a2
a3
a4
a5
z1
a4/ w1 a4/ w1 a1/w1 a2/ w2 a2/w2
z2
a1 /w1 a2/w2 a5/ w2 a3/w1 a3/ w1
2. Преобразование автомата Мили в автомат Мура (Мили А1 → Мура А4).
Всевозможные состояния эквивалентного автомата Мура определятся множеством всех пар
(as,wl) автомата Мили, где wl – выходной сигнал, приписанный к входящей в as дуге . Пары
объединяют в группы, включающие одинаковые состояния as . Состояния эквивалентного
автомата Мура будем обозначать как bs .
Теория автоматов. Модуль 3
8/16
Преобразование автомата Мили в автомат Мура
(продолжение)
z2 ,w1
Мили А1
a1
z1,w1
z1 ,w1
z1,w2
( a1 )
z2 ,w1
a3
( a2 )
A4
=
a2
z2,w2
{ ( a ,w )}= {b }
2
Состояние a1 автомата Мили А1 порождает 2
состояния автомата Мура А4, которые обозначим b1
и b2 .
1
3
z\а
a1
a2
a3
z1
a3/w1
a1/w1
a1/w2
z2
a1/w1
a3/w2
a2/w1
A4
{
{
}
= ( a1 , w1 ),( a1 , w2 )
= b1 ,b2
}
Далее запишем группы состояний автомата Мура А4
для состояний a2 и a3 автомата Мили А1:
A4( a3 ) =
{( a 3 , w 1
(Мили А1 -> Мура А4)
), ( a 3 , w 2 )} = {b4 , b 5}
z1
w1
b1
b4
w2
b2
b4
w1
b3
b1
w1
b4
b2
w2
b5
b2
z2
b1
b1
b5
b3
b3
z\а
В дальнейшем символы bi можно заменить на ai. В качестве начального состояния автомата
Мура A4 можно выбрать любое из состояний, порождённых начальным состоянием a1 в
автомате Мили A1.
Теория автоматов
9/16
Результат преобразований
z\а
a1
a2
a3
z1
a3/w1
a1/w1
a1/w2
z2
a1/w1
a3/w2
a2/w1
Мили А1
a1
a2
w1
w1
w2
a1
a2
a3
a4
a5
z1
a4
a4
a1
a2
a2
z2
a1
a2
a5
a3
a3
Эквивалентны по
определению
Мура А2
Эквивалентны по
преобразованию
a3
a4
a5
z1
a4/ w1 a4/ w1
a1/w1
a2/ w2
z2
a1 /w1
a5/ w2
a3/w1 a3// w1
a2/w2
w2
z\а
Мили А3
z\а
w1
a2/w2
Мура А4
w1
w2
w1
w1
w2
b1
b2
b3
b4
b5
z1
b4
b4
b1
b2
b2
z2
b1
b1
b5
b3
b3
z\а
Вследствие свойства транзитивности отношений эквивалентности (теория множеств)
имеем: Мура A4 эквивавалентен Мили A3.
Теория автоматов. Модуль 3
10/16
Минимизация полностью определённых автоматов
Эквивалентные между собой автоматы Мили или Мура могут иметь различное
число состояний, в связи с чем возникает задача нахождения среди них автомата с
минимальным числом состояний.
Избыточность состояний автомата устраняется склеиванием эквивалентных между
собой состояний.
Состояния am и as считаются эквивалентными, если автомат
находящийся в любом из них, формирует одинаковые выходные слова при
подаче на его вход произвольных входных слов или последовательностей
символов.
Объединение всех эквивалентных друг другу состояний образует класс
эквивалентных состояний. Если всё множество состояний автомата разбить на
классы эквивалентных состояний с последующей заменой каждого класса одним
состоянием, то будет получен автомат с минимальным числом состояний.
Теория автоматов. Модуль 3
11/16
Нахождение классов эквивалентных состояний методом
Ауфенкампа и Хона
Делается это за ряд шагов, руководствуясь при этом более слабым отношением
(определением) эквивалентности, а именно, принципом k- эквивалентных
состояний.
Будем называть k- эквивалентными два состояния автомата Мили (am и as ,
k=1,2,3, ..), если автомат находясь в любом из них, при подаче на его вход
слов из k- букв выдаёт на выходе одинаковые слова, т. е. (am≡ as), если
λ(am, ξk )=λ(as, ξk ) для входных слов ξk длиной k.
Объединение всех k- эквивалентных состояний образуют класс k- эквивалентных
состояний. Например, 1- эквивалентных состояний автомата Мили включает
состояния с одинаковыми выходными сигналами в таблице переходов и выходов.
Доказано, что если результаты разбиения состояний автомата на классы k и
k+1- эквивалентности совпали, то классы k-эквивалентных состояний
являются эквивалентными в строгом смысле этого понятия.
Теория автоматов
12/16
ПРИМЕР: минимизация автомата Мили
zi\ai
z1
z2
z3
zi\ai
z1
z2
z3
a1
a3
a4
a5
a6
Обозначим классы 1 -эквивалентных состояний
как π1, тогда:
a2/w2 a5/w1 a2/w1 a5/w1 a2/w1 a5/w2 π1={(a , a ), (a , a ), (a , a )} = {b , b , b }.
1
6
2
5
3
4
1
2
3
a1/w2 a2/w2 a5/w2 a3/w2 a5/w2 a6/w2 Преобразуем исходную таблицу автомата Мили
заменив в ней состояние as классами 1a6/w1 a6/w1 a4/w2 a5/w2 a6/w1 a1/w1
эквивалентных состояний π1.
b1
a1
b2
b1
b1
b2
a6
b2
b1
b1
a2
b2
b2
b1
b1
с1
zi\ai
z1
z2
z3
a2
a1
с2
с1
с1
a5
b2
b2
b1
b2
с2
a6
с2
с1
с1
a2
с2
с2
с1
π2={(a1, a6), (a2, a5), a3, a4}={c1 , c2 , c3 , c4 }.
b3
a3
b2
b2
b3
a4
b2
b3
b2
π3={(a1, a6), (a2, a5), a3, a4}.
π2 = π3!
Дальнейшее разбиение бессмысленно. Пусть:
(a1, a6 )=a1, (a2, a5 )=a2, (a3 )=a3, (a4 )= a4.
Окончательный вид таблицы переходов
автомата Мили приобретёт следующий вид.
b3
a5
с2
с2
с1
с3
a3
с2
с2
с4
c4
a4
с2
с3
с2
zi\ai
a1
a2
a3
a4
z1
a2 / w2 a2 / w1
a2 / w1
a2 / w1
z2
a1 / w2 a2 / w2
a2 / w2
a3 / w2
z3
a1 / w1 a1 / w1
a4 / w2
a2 / w2
Теория автоматов
13/16
Постановка задачи структурного синтеза автоматов
Цель структурного синтеза – разработка схемы автомата из логических элементов заданного
типа, которая функционирования бы в соответствии с таблицей переходов и выходов
исходного абстрактного автомата.
Представление символов первичного алфавита абстрактного автомата (из
множеств Z и W) в форме удобной для передачи по линии связи называется
кодированием.
Для перехода от абстрактного автомата к структурному прежде всего необходимо
осуществить двоичное кодирование символов используемых алфавитов, а также состояний
автомата двоичными элементами памяти.
Z={z1,…zf ,.., zF };
Z
z1
z2
…
zF
x1
0
0
…
1
x2
0
0
…
1
…
…
…
…
…
xK
0
1
…
1
W
w1
w2
…
wL
W={w1,…wl ,.., wL };
y1
0
0
…
1
y2
0
0
…
1
…
…
…
…
…
yN
0
1
…
1
A
a1
a2
…
aM
A={а1,…аm ,.., aM };
Q1
0
0
…
1
Q2
0
0
…
1
…
…
…
…
…
QR
0
1
…
1
Двоичное кодирование определит следующие количественные соотношения
между мощностями первичных алфавитов и соответствующими им наборами
двоичных переменных (Z→X, W →Y, A →Q):
N=
]
[
log 2 L
R=
]
log 2 M
Теория автоматов. Модуль 3
[
K=
]
log 2 F
F=1 K=0,
F=2 K=1,
F=3 K=2,
F=4 K=3
F=5 K=3,
F=7 K=3,
F=8 K=3,
F=9 K=4
…………….
F=16 K=4.
14/16
[
Постановка задачи структурного синтеза автоматов (продолжение)
На этапе структурного синтеза автомат принято представлять в виде 2-х частей – памяти и
КС (КС1 и КС2). Память автомата состоит из элементарных автоматов Мура Q1 ,…,QR с двумя
состояниями, обладающих полной системой переходов и выходов.
w1
a1
a1
a2
zi\ai
z1
z2
w2
a2
a1
a2
Полная система переходов предполагает наличие обоих состояний в
каждом столбце таблицы, а полная система выходов – когда каждому
состоянию соответствует свой выходной символ. Этому условию на
структурном уровне отвечают двоичные элементы памяти –
триггеры.
В структурной схеме автомата КС2 выполняет функцию выхода λ
X={x1,…, xk}
x1
x1
.
.
xk
Q1
Q2
QR
Clk
Y ( t ) = λ( a( t ), X ( t ))
KC1
.
x.
Память
φ1
φ2
φR
T1
T2
TR
k
Q1
Q2
QR
.
.
а КС1 и память - функцию
перехода δ автомата:
y1
KC2
.
.
.
a( t + 1 ) = δ( a( t ), X ( t ))
yN
{
где:
X = x1 , xK
Сигналы
возбуждения
памяти
Теория автоматов
{
}
~
~
a( t ) = Q1 ,,QR
{
Y = y1 , y N
}
}
~
где Q ∈{0,1}
15/16
Контрольные вопросы
1. Запишите функции перехода
и выхода
абстрактных автоматов Мили и Мура.
2. Какие вы знаете способы задания абстрактных автоматов?
3. Основываясь на рисунке, дайте определение устойчивого состояния автомата
am zf
zf
as
4. Какой автомат является синхронным (асинхронным)?
5. Какие автоматы являются эквивалентными?
6. Правило преобразования автомата Мура в эквилентный
ему автомат Мили применительно к интерпретации
автоматов в виде графов.
7. Каким параметром определяются количество состояний автомата Мура, полученного
путём выполнения эквивалентных преобразований автомата Мили.
8. Изложите суть минимизации состояний полностью определённых абстрактных
автоматов.
9. Принцип k- эквивалентных состояний Ауфенкампа и Хона.
10. Нарисуйте структурную схему структурного автомата.
Теория автоматов. Модуль 3
16/16
Download