Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Глава 1. Определение конечного автомата

Читайте также:
  1. II этап. Определение проблем пациента
  2. II. Определение культуры Э. Б. Тайлора как основа формирования предметной области культурной антропологии.
  3. VIII. Определение победителей. Награждение
  4. А.1 Определение групп однотипности сварных соединений газопроводов
  5. А3 Определение групп однотипности сварных соединений магистральных газопроводов при проведении производственной аттестации технологий сварки
  6. Алгоритм перехода от автомата Мили к автомату Мура (до 40 минут)
  7. Б) Определение норматива материальных ресурсов в НП на складах цехов предприятия.

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

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

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

Переход автомата из одного состояния в другое и выдача выходного сигнала происходят дискретно и мгновенно в определенные моменты времени. Эти моменты времени следуют один за другим через фиксированный промежуток времени - такт.

Введем следующие понятия и обозначения. Входной алфавит А - это конечное множество A = {а1, а2,...,аs}, элементы которого называются входными сигналами (символами). Выходной алфавит В= {b1, b2,..., bk } - это множество выходных сигналов (символов). Будем считать, что в каждый момент времени t= 1, 2, 3,... на вход автомату подается некоторый сигнал из множества A, а на выходе появляется соответствующий сигнал из множества В. Тогда, учитывая описанный выше потактовый принцип работы абстрактного автомата, входной сигнал в момент времени t будем обозначать через х(t), а в следующий момент - через х(t+1). Соответствующие выходные сигналы обозначим через у(t) и у(t+1). Иногда входной и выходной алфавиты совпадают. Множество состояний - это конечное множество V= { v1,v2,...,vr }. Состояние автомата в момент времени t будем обозначать через q(t).

Рис.1

 

На рис. 1 изображена структура абстрактного автомата. За один такт его работы происходят следующие события. В момент времени t (начало t- го такта) в функциональный блок синхронно поступают два сигнала: х(1) - по входному каналу и q(t- 1) - из памяти автомата. В функциональном блоке эти сигналы мгновенно перерабатываются в два новых сигнала у(t) и q(t). Сигнал у(t) направляется в выходной канал, а сигнал q(t) - в память автомата. После этого наступает момент времени t +1, который служит одновременно окончанием t -го такта и началом следующего (t + 1)-го такта. Поскольку первый такт начинается в момент времени t = 1, то сигнал q (0), поступающий в этот момент из памяти автомата в функциональный блок, характеризует начальное состояние автомата, которое обычно считается известным заранее (например, можно считать, что автомат стартует с «чистой» памятью). Пару сигналов (х(t), q (t - 1)) можно сравнить со «стимулом» в момент времени t, а пару (у(t). q(t)) - с мгновенной «реакцией» автомата на этот «стимул».

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

Определение. Автомат называется детерминированным, если для любых t и t' из равенств х(t) = х(t') и q(t- 1) =q(t'- 1) следуют равенства у(t)= у(t'),q(t) = q(t').

Свойство детерминированности автомата означает, что принципы его функционирования с течением времени не меняются. Образно говоря, реакция детерминированного автомата на один и тот же стимул всегда одинакова и не зависит от момента времени. У недетерминированных автоматов сигналы у(t) или q(t) определены неоднозначно. Детерминированные автоматы лучше, чем недетерминированные, подходят для описания реальных устройств. Далее мы будем рассматривать только детерминированные автоматы.

Пример 1. Пусть A = {а 1 , а23}- входной алфавит, В= {b1, b2, b3 } - выходной алфавит, а V= { v1,v2 } - множество состояний автомата.

Рассмотрим правила его функционирования:

1, v1)®(b1, v1), (а 1,v2) ® (b1, v2),

2, v1)®(b2, v1), (а 2,v2) ® (b1, v1),

3, v1)®(b3, v2), (а 3,v2) ® (b3, v2).

Например, запись (а3, v1)®(b3, v2) означает следующее: если в начале такта автомат находится в состоянии v1 и на вход ему подается сигнал а3, то в конце такта на выходе автомата окажется сигнал b3. и автомат перейдет в состояние v2. Анализируя всю систему правил, можно узнать, как данный автомат обрабатывает ту или иную последовательность входных сигналов. Например, требуется выяснить, какие сигналы y (1), у(2), у(3) будут последовательно появляться на выходе автомата, если на вход ему подать последовательно х (1) = а2, х(2) = а1, х (3) = а3. Возможны два варианта: в начальный момент t = 1 автомат находится в состоянии v1 или v2. Рассмотрим каждый из них отдельно.

Пусть автомат стартует в состоянии v1 т.е. q (0) =v1. Тогда согласно правилу(а2, v1)®(b2, v1), получаем y (1) =b2, q (1) = v1. Далее используем правило (а1, v1)®(b1, v1)и получаем y (2) = b1, q(2) = v1. Наконец, применяя правило (а3, v1)®(b3, v2), получаем y (3) =b3, q(3) = v2. Таким образом, выходная последовательность будет иметь вид b2, b1, b3. Заметим, что параллельно мы установили порядок, в котором менялись состояния автомата (включая стартовое состояние) - v1, v1, v1, v2.

Пусть теперь автомат стартует в состоянии v2, т.е. q (0) = v2. Тогда, исходя из правила (а 2,v2) ® (b1, v1),, получаем у(1) = b1, q(1)= v1. Затем используем правило (а1, v1)®(b1, v1)и получаем у(2) = b1,, q(2) = v1. Наконец, применяя правило (а3, v1)®(b3, v2), получаем y (3) =b3,, q(3) = v2. Последовательность выходных сигна­лов в данном случае имеет видb1, b1, b3, а последовательность со­стояний автомата (включая стартовое) – v2, v1, v1, v2.

Если символам а 1 , а2, а3, b1, b2, b3 и состояниям v1, v2 придать какой-либо содержательный смысл, то с помощью автомата можно будет моделировать поведение реального объекта. Рассмотрим несколько идеализированную семью, в которой муж может находиться в двух состояниях:

v1 = «муж сердит»,

v2 = «муж счастлив».

Жена воздействует на мужа тремя способами:

а 1 = «жена молчит»,

а2 = «жена ругается»,

а3 = «жена готовит любимое блюдо мужа».

Муж по-разному реагирует на эти воздействия:

b1 = «муж молчит»,

b2 = «муж хмурится»,

b3= «муж улыбается».

Теперь каждое правило из описания данного автомата приобрело вполне конкретное содержание. Например, запись (а 2,v2) ® (b1, v1) означает, что если жена начнет ругаться, когда муж счастлив, то муж рассердится, но будет молчать. Правило (а3, v1)®(b3, v2) можно перевести так: если жена начнет готовить любимое блюдо мужа, когда тот сердит, то он станет счастливым и будет улыбаться.

Выше мы установили, что последовательности входных сигналов а2, а1, а3 соответствует последовательность выходных сигналов b2,b1,b3 и состояний автомата (включая стартовое) -v1,v1,v1,v2. Теперь этот факт можно интерпретировать следующим образом: если муж сердит, а жена ругается, то муж в ответ хмурится, оставаясь сердитым; если после этого жена умолкает, то муж тоже молчит, хотя и продолжает сердиться; наконец, когда жена начинает готовить любимое блюдо мужа, он становится счастливым и начинает улыбаться. Подобных сценариев можно придумать много. Таким образом, данный автомат моделирует поведение мужа, которое зависит от его внутреннего состояния и действий со стороны жены.

Определение. Функцией выходов автомата называется функция f, которая каждой паре (ai, vj), где aiÎA, vjÎV, ставит в соответствие вы­ходной сигнал f (ai, vj)ÎВ.

Функция выходов указывает, какой сигнал будет направлен на выход автомата, если он находился в состоянии vj, и на вход ему по­ступил сигнал ai.

Определение. Функцией переходов автомата называется функция g,которая каждой паре (ai, vj), где aiÎA, vjÎV, ставит в соответствие состояние g (ai, vj)ÎV.

Функция переходов указывает, в каком состоянии окажется авто­мат, если он находился в состоянии vj, и на вход ему поступил сигнал ai.

Используя эти функции, можно в иной форме задать правила функ­ционирования автомата из примера 1. Так, запись (а3, v1)®(b3, v2)можно заменить двумя равенствами f (a3, v1) = b3, g (a3, v1) =v2. Пример 1 показывает, что функции выходов и переходов - это необязательно числовые функции, поскольку входные и выходные сигналы не обязательно являются числами. Заметим также, что двух этих функций вполне достаточно, чтобы полностью описать работу детерминированного автомата.

Определение. Конечным автоматом (или автоматом Мили) называется система из пяти компонент (А, В, V, f, g), где А и В - это входной и выходной алфавиты автомата, V - множество его состояний, f - функция выходов, а g - функция переходов автомата, причем все множества A, В и V конечны.


Дата добавления: 2015-11-30; просмотров: 29 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.01 сек.)