Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Модель абстрактного автомата

Понятие "состояние" используют для того, чтобы установить функциональную зависимость генерируемых автоматом символов и/или слов выходного языка от символов и/или слов входного языка при реализации автоматом заданного алгоритма. Для каждого состояния автомата qÎQ и для каждого символа xÎX в момент дискретного времени [t] на выходе устройства генерируется символ yÎY. Эту зависимость определяет функция выходов автомата j. Для каждого текущего состояния автомата qÎQ и для каждого символа xÎX в момент дискретного времени [t] автомат переходит в очередное состояние qÎQ. Эту зависимость определяет функция переходов автомата y. Функционирование автомата состоит в порождении двух последовательностей: последовательности очередных состояний автомата (q1[[1]q2[2]q3[3]...) и последовательности выходных символов (y1[1]y2[2]y3[3]...), которые для последовательности символов (x1[1]x2[2]x3[3]...) разворачиваются в моменты дискретного времени t = 1,2,3,.... В прямоугольных скобках указывают моменты дискретного времени, которые называют иначе тактами, в круглых скобках - последовательности символов алфавитов X, Y и Q.

Итак, математическая модель конечного автомата есть трехосновная алгебра, носителями которой являются три множества X, Y и Q, а операциями - две функции j и y:

 

M = á X; Y; Q; y; jñ, (1.1)

 

где X={ x1;x2;...xn } - множество символов входного алфавита;
Y={ y1;y2;...yp } - множество символов выходного алфавита;
Q={q1;q2;...qm} - множество символов состояний автомата;
y: (QÄX) ® Q - функция переходов автомата для отображения пары (q;x) текущего момента дискретного времени [t] в состояние q очередного момента дискретного времени [t+1];
j: (QÄX) ® Y - функция выходов автомата для отображения пары (q;x) текущего момента дискретного времени [t] в символ y выходного канала этого же момента дискретного времени [t].

 

Так как области определения функций переходов и выходов совпадают, то обобщенный оператор поведения автомата можно представить так:

 

(y;j): (QÄX) ® (QÄY). (1.2)

 

Функционирование автомата в дискретные моменты времени t может быть описано системой рекуррентных соотношений:

 

(1.3)

 

Если на входе автомата имеем слово a = (x1x2x3...xs), то, считывая последовательно символы этого слова, на выходе автомата генерируется последовательность символов слова b по следующей схеме:

 

b[1]=(j(q[1];x1[1]));

b[2]=(j(q[1];x1[1])j(q[2];x2[2])) = (j(q[1];x1[1])j(q[1];(x1[1]x2[2])));

…………………………………………….. (1.4)

b[s] = (j(q[1];x1[1])j(q[2];x2[2]) ... j(q[s];xs[s])) =

= (j(q[1];x1[1])j(q[1];(x1[1]x2[2])) ... j(q[1];(x1[1]x2[2] ... xs[s])));

 

Так как на каждом i-ом такте к слову длины (i-1) приписывается справа очередной символ j(q[1];x1[1]x2[2]...xi[i]), то последовательность символов выходного слова можно записать так:

 

b = (j(q;x1)j(q;(x1x2))...j(q;(x1x2...xs)))=(j(q;a)). (1.5 )

 

Если считывание символов входного слова a выполняется последовательно слева направо, то всегда найдется такая последовательность (x1x2...xs-1)=g, для которой

 

a = ((x1x2...xs-1)xs) =(gxs), (1.6)

где g =(x1x2...xs-1) - "голова" слова a;

xs - "хвост" слова a.

 

Поэтому если входное слово a = (gxs), то выходное слово b можно записать так:

 

b = j(q;a ) = j(y(q;g );xs). (1.7)

 

Это означает, что последний символ слова b есть результат работы автомата, начавшего работу в состоянии q и считавшего последний символ слова a, но значение этого символа зависит от всей входной последовательности.

Длина выходного слова всегда равна длине входного слова.

Изменение состояний автомата для последовательности символов слова a = (x1x2x3...xs) может быть описано следующей схемой:

 

q[2] = y(q[1];x1[1]);

q[3] = y(q[2];x2[2]) = y(y(q[1];(x1[1]);x2[2])); (1.8)

..................................................................................................................................

q[s+1] = y(q[s];xs[s]) = y(y... (y(y(y(q[1];x1[1]);x2[2]);x3[3]);...xs-1[s-1]);xs[s]),

где q[1] -начальное состояние автомата.

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

 

q[s+1] = y(y... (y(y(y(q;x1);x2);x3)...xs-1);xs). (1.9)

 

Если входное слово a = (gxs), то изменение состояния автомата может быть описано так:

 

q[s+1] = y(y(q;g );xs). (1.10 )

 

Это означает, что q[s+1] есть последнее состояние автомата, начавшего работу в состоянии q и считавшего последний символ слова a в момент дискретного времени s.

Функциональная схема абстрактного автомата представлена на рис.1.2.

 

Рис.1.2 Функциональная схема абстрактного автомата.

Если функции переходов и выходов однозначно определены для каждой пары (q;x)Î(QÄX), то автомат называют детерминированным. В противном случае автомат называют недетерминированным или частично определенным.

Если функция переходов и/или функция выходов являются случайными, то автомат называют вероятностным.

Если у автомата задано начальное состояние q=q0ÎQ, в котором он находится всегда до приема первого символа входного слова, то автомат называют инициальным. В этом случае модель автомата записывают так:

 

M = á X;Y;Q;y;j;q0ñ, (1.11)

 

Последовательность символов в слове b и последовательность состояний автомата q однозначно определяются начальным состоянием автомата q=q0 и последовательностью символов во входном канале a. Поэтому отображение входного слова a на выходное слово b чаще называют автоматным отображением, то есть b = М(q0;a), а М – автоматным оператором.

Автоматное отображение обладает свойствами:

1) входное и выходное слова имеют одинаковую длину (свойство сохранения длины);

2) yi-ый символ выходного слова зависит от всей последовательности символов входного слова, до xi-го включительно; кроме того если a=a1a2, то b=b1b2..

Контрольные вопросы

1) Каковы особенности автоматов с бесконечной памятью?

2) Какие операции свойственны алгебре автоматов?

3) Что такое детерминированный автомат?

4) Что такое недетерминированный автомат?

5) Объясните содержание оператора поведения автомата.

6) Что является "головой" и "хвостом" последовательности символов?


<== предыдущая страница | следующая страница ==>
Глава 1. АБСТРАКТНЫЙ АВТОМАТ | Типы конечных автоматов

Дата добавления: 2015-07-26; просмотров: 193; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.