Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кр одмита.doc
Скачиваний:
180
Добавлен:
24.02.2016
Размер:
6.17 Mб
Скачать

7.4. Автомат с абстрактным состоянием. Булев автомат

Широко распространенным типом автомата является модель, описываемая одной многозначной внутренней переменной q и многими входными и выходными булевыми переменными х1х2, … , хп и у1у2, … , ут. Поведение такого автомата задается системой уравнений

q+ = х1х2, … , хпq;

y1 = 1х1х2, … , хпq;

y2 = 2х1х2, … , хпq;

ym = mх1х2, … , хпq,

более компактно представляемой в векторной форме

q+ = хq;

y = хq.

Функции  и  отличаются от введенных ранее  и  только тем, что многозначные входная и выходная переменные оказались замененными на соответствующие булевы векторы, но внутренняя переменная осталась многозначной.

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

Если заменить внутреннюю переменную qна соответствующий булев векторz  (z1z2, … , zk), то получится система уравнений, в которой все переменные и все функции оказываются булевыми:

z1+ = 1х1х2, … , хпz1z2, … , zk;

z2+ = 2х1х2, … , хпz1z2, … , zk;

zk+ = kх1х2, … , хпz1z2, … , zk;

y1 = 1х1х2, … , хпz1z2, … , zk;

y2 = 2х1х2, … , хпz1z2, … , zk;

ym = mх1х2, … , хпz1z2, … , zk.

Эта модель называется булевым автоматом. Ее также можно представить в компактной векторной форме:

z+ = хz;

y = хz.

Булев автомат в определенном смысле ближе к реальным дискретным устройствам, поскольку его переменные непосредственно реализуются физическими переменными устройства, в частности, на типичных для современной техники элементах с двумя устойчивыми состояниями. Векторы х, у и z показывают структуру абстрактных символов а и b и состояния q. Приведенная выше система функций соответствует структуре, изображенной на рис. 7.2, где КС – комбинационная схема, реализующая приведенную выше систему, а П – блок памяти, осуществляющий задержку на период между соседними моментами времени.

Переменная zi представляет состояние i-го двоичного элемента памяти, а выражение

zi+ = iх1х2, … , хпz1z2, … , zk

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

х1  у1

х2  у2

… …

хп ут

z1  z1+

z2  z2+

… …

zk zk+

… …

Рис. 7.2. Структура булева автомата

7.5. Понятие о регулярных выражениях алгебры событий.

Поведение автомата можно было бы описать, поставив каждой входной последовательности однозначно в соответствие выходную последовательность. Но в общем случае это невозможно сделать, из-за бесконечного множества этих входных последовательностей. Выход был найден – использование конечных формул для представления бесконечного множества последовательностей. Эти конечные формулы получили название – «регулярные выражения».

Последовательность входных сигналов будем называть входным словом. Любое множество входных слов назовем событием. Множество входных слов Si, которое вызывает появление на выходе автомата сигнал bi. Назовем событием, представленном в автомате М выходным сигналом bi. Разработана специальная алгебра – алгебра событий. В этой алгебре используются три операции: дизъюнкция, произведение и итерация событий и задаются некоторые законы (правила ТИФ)

Пример:

Элементарное событие – любое множество, состоящее из одного слова или из пустого слова е. Любое событие, представимое конечной формулой алгебры событий, символы элементарных событий, называемое регулярным событием, а сама такая формула – регулярным выражением.

Теорема Клини. Любое регулярное выражение представимо в конечном автомате.

Для задания автомата, имеющего выходной алфавит B=(b1, b2…bi) достаточно разбить множество входных слов на i события S1, S2,… Si, представленных соответственно выходным сигналам b1, b2,.. bi. Поэтому соответственно можно определить реакцию автомата на любое входное слово.

Некоторые примеры представленные регулярным выражением событий во входном алфавите А={a1, a2…. ai}

1)События, содержащие все однобуквенные и только однобуквенные слова алфавита А

S1=a1 a2 …. ai

2)События, состоящие из всех двухбуквенных слов алфавита А

S2=( a1 a2 …. ai)( a1 a2 …. ai)

3)События, состоящие из всех слов алфавита А

S3= { a1 a2 …. ai }

В алфавите (x, y, z) =A регулярное выражение

4) S4=x{xyz}(yz)

задает регулярное событие, состоящее из всех слов, которые начинаются буквой x и заканчиваются буквой y или z .

А={x1, x2}

5)описать автомат, выдающий сигнал w1, всякий раз, когда происходит изменение входной буквы с x1на x2, т.е. сигнал w1 должен выдаваться в ответ на любые последовательности, кончающиеся буквами x1 x2

S5={ x1x2}x1x2