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

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

4.1Схемы из функциональных элементов с памятью

Рассмотренные ранее схемы из функциональных элементов могут использоваться для преобразования наборов входных сигналов, поступающих на входы схемы в моменты времени 1,2,..,t; в наборы выходных сигналов, появляющих-

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

Схемы из функциональных элементов с памятью со входами x1; : : : ; xn è âû- ходами y1; : : : ym строятся из схемы без памяти со входами x1; : : : ; xn; u1; : : : um0 и выходами y1; : : : ; ym; z1; : : : ; zm0 подключением элементов задержки G: Элемент G имеет один вход z и один выход u, прич¼м значение u(t) выходного сигнала

в момент t определяется состоянием элемента q(t) задержки в этот момент и равно значению z(t ¡ 1) входного сигнала в момент t ¡ 1; t > 1; значение выходного сигнала u(1) в начальный момент времени 1 есть начальное состояние q(1) элемента задержки. В итоге в общем случае выходные сигналы в данный

момент времени завися от входных сигналов,поступающих в данный момент времени, но и от предшествующих сигналов.

При подключении элемента задержки к его входу подключается один из выходов zi; i = 1; : : : ; m0 схемы из функциональных элементов без памяти, а

выход элемента задержки подключается к одному из входов ui; i = 1; m0 схемы

без памяти (каждый из выходов z1; : : : ; zm0 и каждый из входов u1; : : : um0 схемы

без памяти соединяется с единственным элементом задержки). Таким образом,0 схема без памяти, используемая при построении схемы с памятью, имеет n + m

входов и m + m0 выходов и реализует систему из m + m0 функций алгебры логики, где m' число элементов задержки:

zi = 'i(x1; x2; :::; xn; u1; :::; um0); i = 1; :::; m0; yi = Ãi(x1; x2; :::; xn; u1; :::; um0); i = 1; :::; m:

Элементы задержки связывают значения входов ui(t) схемы без памяти со зна- чениями выходов zi(t ¡ 1); t > 1; i = 1; : : : ; m0 в предыдущий момент времени:

ui(t) = zi(t ¡ 1); i = 1; : : : ; m0; t > 1:

При этом значения ui(1); i = 1; : : : ; m0 принимаются как начальные состояния

элементов задержки, а их совокупность как начальное состояние схемы из

функциональных элементов с памятью.

Таким образом, схема с памятью описывается системой рекуррентных урав-

нений

ui(1) = qi 2 f0; 1g; i = 1; :::; m0;

 

1

ui(t) = zi(1) = 'i(x1(1); x2(1); :::; xn(1); u1(1); :::; um0(1)); i = 1; :::; m0; t > 1: yi(t) = Ãi(x1(t); x2(t); :::; xn(t); u1(t); :::; um0(t)); i = 1; :::; m; t ¸ 1:

При этом вектор

(u1(t); : : : ; um0(t))

определяет состояние схемы из функциональных элементы с памятью в момент времени t:

Рассмотренная система рекуррентных уравнений называется системой канонических уравнений схемы из функциональных элементов с памятью. Примеры. 0

1. Двоичный сумматор последовательного действия, n = 2; m = m = 1.

u(1) = 0;

u(t) = x1(t ¡ 1)&x2(t ¡ 1)Vx1(t ¡ 1)&u(t ¡ 1)Vx2(t ¡ 1)&u(t ¡ 1); t > 1: y(t) = x1(t) © x2(t) © u(t); t ¸ 1;

2. Регистр сдвига (n=m=1).

u1(1) = 0; u2(1) = 0; :::; um0(1) = 0;

um0(t) = um0¡1(t ¡ 1);

: : : ;

u2(t) = u1(t ¡ 1); u1(t) = x1(t ¡ 1); t > 1;

y1(t) = um0(t); t ¸ 1:

Функционирование схемы из функциональных элементов с памятью заклю- чается в преобразовании входного слова как последовательности наборов входных сигналов в выходное слово (последовательность наборов выходных сигналов). При этом функционировании образуется и используется последовательность наборов состояний элементов задержки. Схемы из функциональных элементов с памятью и соответствующие рекуррентные уравнения являются одним из способов описания конечного автомата.

4.2 Понятие конечного автомата

Конечный автомат определяется как набор (пятерка)

(A; Q; B; '; Ã);

ãäå A; B è Q конечные множества (входной и выходной алфавиты и алфавит состояний соответственно),

2

' : Q £ A ! Q функция переходов,

à : Q £ A ! B функция выходов.

Пусть jAj = m; jQj = n; jBj = l мощности множеств A; Q è B соответ-

ственно.

Конечный автомат можно задать следующими способами: а)Прямоугольными таблицами переходов T' и выходов TÃ размера m £ n

T'(i; j) = '(qj; ai); TÃ(i; j) = Ã(qj; ai);

ãäå qj 2 Q; ai 2 A:

б) Диаграммами переходов, где вершины соответствуют состояниям qi; i = 1 : : : n, à äóãè (èç qi â qj) соответствуют предикату '(qi; a) = qj; a 2 A; è ïîìå-

чаются (a; Ã(qi; a)):

Утверждение 1.1. Число конечных автоматов при заданных алфавитах A; B è Q не превышает (nl)nm:

(nm число клеток в таблице, nl число возможных пар значений в соот-

ветствующих одна другой клетках таблиц.)

Если функция Ã фиктивно зависит от второго аргумента, то конечный авто-

мат называется конечным автоматом Мура, В случае автомата Мура таблица выходов имеет размер 1 £ n; дуги диаграммы переходов помечаются a; à âåð-

шины помечаются (q; Ã(q; a)): Число конечных автоматов Мура не превышает

(n)nm £ ln):

4.3 Функционирование конечного автомата

Будем обозначать C¤ множество всех слов в алфавите C, Λ пустое слово, j°j = n длину слова

°= c(0) : : : c(n ¡ 1)

âалфавите C, ± = °]l начало ± длины l слова ° = ±±0 (±0 конец этого слова).

Операция конкатенации состоит в приписывании слова к слову. Множество C¤ с операцией конкатенации образует полугруппу, единицей которой является

пустое слово Λ:

Распространим функции переходов и выходов на множество Q£A¤; то есть, будем использовать функции

' : Q £ A¤ ! Q

è

à : Q £ A¤ ! B;

 

определив их следующим образом:

 

'(q; Λ) = q;

 

'(q; ®a) = '('(q; ®); a); q 2 Q; ® 2 A¤; a 2 A:

3

такими, что

Ã(q; Λ) = Λ:

Ã(q; ®a) = Ã('(q; ®); a); q 2 Q; ® 2 A¤; a 2 A:

Здесь '(q; ®) состояние, в которое переходит конечный автомат из начального состояния после поступления на его вход слова ®:

¤ ¤ è ¯ ¤ ¤

Это позволяет определить функции '¯ : Q £ A ! Q Ã : Q £ A ! B :

'¯(q; ®) = '(q; ®]0)'(q; ®]1) : : : '(]l) : : : '(q; ®);

¯

Ã(q; ®) = Ã(q; ®]1)Ã(q; ®]2) : : : Ã(q; ®]l+1) : : : Ã(q; ®):

Здесь ®]0 пустое слово.

Функционирование конечного автомата V; V = (A; Q; B; '; Ã) описывается в виде тернарного отношения (предиката)

¯

¤

; q 2 Qg:

F = f(®; '¯(q; ®); Ã(q; ®))j® 2 A

Инициальный конечный автомат Vq определяется конечным автоматом V и выделенным его начальным состоянием q, он описывается шестеркой

Vq = (A; Q; B; '; Ã; q):

Функционирование инициального автомата Vq есть тернарное отношение

¯

¤

g:

Fq = f(®; '¯(q; ®); Ã(q; ®))j® 2 A

Инициальный автомат определяет конечно автоматную функцию

f : A

¤

¤

¯

 

! B

; f(®) = Ã(q; ®):

Для задания инициального конечного автомата и его функционирования можно использовать канонические уравнения.

Его функционирование образуется тройками слов

Fq = (®; ·; ¯);

® = ®(1) : : : ®(n);

¯= ¯(1) : : : ¯(n);

·= ·(1) : : : ·(n)

при некотором n; и, для любого t; 1 · t · n; имеет место система соотношений (канонических уравнений автомата Vq)

·(1) = q;

·(t) = '(·(t ¡ 1); ®(t ¡ 1)); t > 1

¯(t) = Ã(·(t); ®(t)); t ¸ 1:

4

q; q0
'(z; x)

4.4 Разновидности конечных автоматов

Автономным называется конечный автомат, функции переходов и выходов Ã(z; x) которого не зависят от второго аргумента.

В автомате-часах только функция переходов '(z; x) не зависит от второго

аргумента.

Если функция выходов удовлетворяет тождеству Ã(z; x) = z; то конечный

автомат называется переходной системой. В автомате без памяти jQj = 1:

Автомат V = (A; Q; B; '; Ã) называется автоматом с конечной памятью, если существует k; k 2 N; такое, что для всех ®; j®j = k; äëÿ âñåõ

¯ ¯ 0

Ã() = Ã(q ; ®)

влечет

'(q; ®) = '(q0®);

 

то есть заключительное состояние однозначно определяется по входным и выходным символам за последние k тактов. Наименьшее k; удовлетворяющее это-

му условию, есть порядок памяти автомата.

Автомат V = (A; Q; B; '; Ã) называется автоматом с конечным запоминанием, если существует такое натуральное k; что для любых состояния q автомата и слов ®; ®0 èç A, имеющих одинаковые концы длины k; выполняется равенство

Ã(q; ®) = Ã(q; ®0):

Если указанное равенство выполняется в любой момент t ¸ k; то автомат называется самонастраивающимся.

4.5 Упражнения

1.1 Построить таблицы переходов и выходов, а также диаграммы Мура и записать канони- ческие уравнения автомата, ¤ ¤ такую, что если

а)реализующего функцию f : f0; 1g ! f0; 1g

 

® = a(1); : : : ; a(n)

¯ = f(®) = b(1) : : : b(n);

òî

i

 

 

 

b(i) =

Xj

a(j); i = 1; :::; n:

mod 2

 

=0

 

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

в) описывающего функционирование 3-разрядного регистра сдвига, а также функционирование такого регистра при обрыве соединения между первым и вторым разрядами.

4.2 Представить автоматную модель автоматического устройства, отпускающего стакан газированной воды за 1 рубль или стакан сока за 5 рублей и приходящий в негодность при попадании в него фальшивой монеты. Контрольные вопросы.

5

Написать программу, вычисляющую триплеты
(®; ·; ¯)
функционирования инициального конечного автомата
4.6 Лабораторное задание (Лабораторная работа номер 3)

1.В чем отличие функционирования схем из функциональных элементов без памяти и с памятью?

2.Какими способами можно задать конечный автомат?

3.Каково число различных таблиц переходов и выходов конечного автомата,

àтакже различных пар таких таблиц?

4.Как описывается функционирование конечного автомата?

5.Как задается инициальный конечный автомат и как описывается его функционирование.

6.В чем состоит различие определений автоматов с конечным запоминание и с конечной памятью?

(A; Q; B; Ã; '; q); jAj =

jBj = 3; jQj = 5; при заданном входном слове Алфавиты A,B è Q составить

произвольно из соответствующего числа различных символов.

Входная последовательности, начальное состояние, таблицы переходов и выходов выбираются произвольно (могут быть изменены преподавателем). Эта программа потребуется при выполнении четвертой лабораторной работы

6

Соседние файлы в папке Лекции