logo
DM_shpory

50. Конечный автомат как математическая модель устройства с конечной памятью и как управляющая система. Способы описания конечных автоматов: перечислительный; диаграмма состояний; таблица состояний.

Конечный автомат «в чистом виде» — это математическая модель устройства с конечной памятью, преобразующего дискретную информацию. Конечный автомат является одним из важнейших видов управляющих систем.

Содержательно конечный автомат можно охарактеризовать как устройство, имеющее входной и выходной каналы и находящееся в каждый из моментов дискретного времени, называемых тактовыми моментами, в одном из состояний. По входному каналу в каждый тактовый момент в устройство поступают сигналы a — буквы входного алфавита A; в те же моменты по выходному каналу устройство выдает сигналы b — буквы выходного алфавита B, причем b определяется состоянием s из алфавита состояний S и буквой a; внутреннее состояние s' в следующий тактовый момент также определяется состоянием s и буквой a из предыдущего момента. Таким образом, для некоторых функций j и f имеет место b = j(as), s' = f(as);

эти функции называются соответственно выходной и переходной функциями; они определяют закон «переработки» слов в алфавите A, подаваемых побуквенно на входной канал устройства при условии задания начального состояния устройства.

Конечным автоматом называется система M ={А, S, B, j, f}, в которой А = {а1, ..., am}, S ={s1, ..., sn}, B ={b1, ..., bk} — конечные множества (алфавиты), а j: А ´ S ® S и f: А ´ S ® B — функции, определенные на этих множествах.

А называется входным алфавитом,

B — выходным алфавитом,

S — алфавитом состояний,

j — функцией переходов,

f — функцией выходов.

Если, кроме того, в автомате M выделено одно состояние, называемое начальным (обычно будет считаться, что это s1), то полученный автомат называется инициальным и обозначается (M, s1).

Автомат «вообще» (от греческого zotamotua — самодействующий) — управляющая система, являющаяся конечным автоматом или некоторой его модификацией, полученной путем изменения его компонент или функционирования. Основное понятие — конечный автомат — возникло в середине 20 века в связи с попытками описать на математическом языке функционирование нервных систем, универсальных вычислительных машин и других реальных автоматов. Характерной особенностью такого описания является дискретность соответствующих математических моделей и конечность областей значений их параметров, что приводит к понятию конечного автомата.

Способы задания автоматов:

Пример:

Рассмотрим следующий конкретный конечный автомат M = [A, S, B, j, f]. Входной алфавит A = {0, 1}; выходной алфавит = {0, 1}; три внутренних состояния S = {s0, s1, s2}; функции выхода и перехода задаются предписаниями

j: (s0, 0) ® s1 f: (s0, 0) ® 0

(s0, 1) ® s0 (s0, 1) ® 1

(s1, 0) ® s2 (s1, 0) ® 1

(s1, 1) ® s1 (s1, 1) ® 0

(s2, 0) ® s0 (s2, 0) ® 1

(s2, 1) ® s2 (s2, 1) ® 0

Диаграмма состояний:

Таблица состояний:

Текущее

состояние

Следующее

состояние

Выход

Вход

Вход

j

0

1

f

0

1

s0

s1

s0

0

1

s1

s2

s1

1

0

s2

s0

s2

1

0

Пример2:

Текущее

состояние

Следующее

состояние

Выход

Вход

Вход

0

1

0

1

s0

s0

s1

0

1

s1

s1

s0

1

0