Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

5.2. Представление конечных автоматов кратко

Лекция



Привет, Вы узнаете о том , что такое представление конечных автоматов, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое представление конечных автоматов , настоятельно рекомендую прочитать все из категории Теория конечных автоматов.

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

Если известны элементы множеств X, Y, Q, то характеристические функции δ и λ можно представить двумя таблицами, строки которых соответствуют внутренним состояниям автомата, а столбцы – входам. Пусть в ячейки первой таблицы записываются внутренние состояния автомата, qv+1, в которое автомат в данный тактовый момент τv переходит из состояния qv при воздействии входа xv. Эта таблица называется таблицей переходов (табл. 5.1) и соответствует, таким образом, функции переходов qv+1 = δ(qv, xv ). В ячейки второй таблицы заносятся значения выходов на данном тактовом моменте τv. Такая таблица называется таблицей выходов (табл. 5.2) и соответствует характеристической функции выходов yv= λ (qv, xv ). Примеры таких таблиц для некоего конечного автомата с заданным входным алфавитом X = {x0, x1, x2, x3}, выходным алфавитом Y = {y0, y1} и множеством внутренних состояний Q = {q0, q1, q2, q3} приведены ниже.

Таблица 5.1 Таблица 5.2

δ

x0

x1

x2

x3

λ

x0

x1

x2

x3

q0

q3

q2

q1

q3

q0

y0

y0

y0

y0

q1

q3

q2

q1

q3

q1

y1

y0

y0

y1

q2

q3

q2

q2

q3

q2

y1

y0

y1

y1

q3

q3

q0

q0

q1

q3

y0

y0

y1

y1

Обе таблицы можно объединить в одну общую таблицу переходов, если помещать в каждую ячейку и внутреннее состояние, и значение выхода, разделенные наклонной чертой (условимся в числителе записывать последующее внутреннее состояние автомата, а в знаменателе – его текущее значение выхода). Такая таблица для нашего автомата представлена табл. 5.3.

Таблица 5.3

δ

x0

x1

x2

x3

q0

q3/y0

q2/y0

q1/y0

q3/y0

q1

q3/y1

q2/y0

q1/y0

q3/y1

q2

q3/y1

q2/y0

q2/y1

q3/y1

q3

q3/y0

q0/y0

q0/y1

q1/y1

Для упрощения заполнения таблиц можно записывать в ячейках только индексные номера входов, выходов и состояний автомата. Об этом говорит сайт https://intellect.icu . Тогда, например, общая таблица переходов будет иметь вид (табл. 5.4):

Таблица 5.4

δ

0

1

2

3

0

3/0

2/0

1/0

3/0

1

3/1

2/0

1/0

3/1

2

3/1

2/0

2/1

3/1

3

3/0

0/0

0/1

1/1

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

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

Н5.2. Представление конечных автоматова рис. 5.2 показан граф, построенный в соответствии с приведенной выше таблицей переходов. Так если из состояния 0 автомат переходит в состояния 1, 2 и 3, то из вершины 0 графа исходят дуги в вершины 1, 2 и 3. При этом переход в состояние 1 совершается под воздействием входа 2 и ему соответствует выход 0, поэтому соответствующая дуга помечается как 2/0. Переход в состояние 2 совершается под воздействием входа 1 и ему соответствует выход 0, поэтому дуга из вершины 0 в 2 помечается как 1/0. Переходы в состояние 3 совершаются под воздействием входов 0 и 3 и им обоим соответствует выход 0, поэтому дуга из вершины 0 в 3 помечается как дизъюнкция 0/03/0. Аналогично определяются и другие дуги графа. Петли соответствуют переходам, при которых состояние автомата не меняется. Так, рассматриваемый автомат переходит из состояния 2 в 2 под воздействием входов 1 и 2 с выходами 0 и 1. Следовательно, петля при вершине 2 помечается как дизъюнкция 1/02/1. Рис. 5.2

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

1. Не существует двух и более ребер с одинаковыми символами входного алфавита xj, выходящих из одной вершины qi (условие непротиворечивости или однозначности);

2. Для любой входной буквы xj имеется ребро, выходящее из вершины qi, которое помечено символом xj (условие полноты).

Конечные автоматы, естественно, задаются конечными графами, а бесконечные – бесконечными. Пример: рассмотрим (рис. 5.3) бесконечное бинарное дерево, переводящее входную последовательность из нулей и единиц в выходную. Дерево имеет два типа вершин – 0 и 1, а каждое ребро помечено символами входа и выхода. Стрелки указывают на возможное продолжение ветвей. Жирной линией выделена входная последовательность x = 1010, которая преобразуется в выходную y = 1100.

5.2. Представление конечных автоматов

5.2. Представление конечных автоматов

Рис. 5.4

Рис. 5.3

Таким бесконечным бинарным деревом задается автомат А, который в зависимости от входного символа может иметь одно из двух состояний 0 или 1. Пусть начальное состояние q0 = 0. Если на входе автомата будет x = 0, то следующее состояние автомата будет эквивалентно предыдущему, т.е. q1 = 0, а на выходе будет y = 0. Если же на входе x = 1, то автомат переходит в состояние q2 = 1, а на выходе будет y = 1. Далее, находясь, например, в состоянии q2, автомат ведет себя следующим образом: если x = 0, то y = 1; если x = 1, то y = 0. Иными словами, при наличии на входе нуля (x = 0), состояние выходов не меняется, а при x = 1 состояние выходов меняется на противоположное.

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

Автомат можно задать с помощью общей таблицы переходов, расположив по вертикали внутренние состояния автомата, а по горизонтали – символы входов (табл. 5.5).

Наконец, автомат можно задать в аналитической форме двумя функциями: функцией переходов qv+1 = δ (qv, xv ) и функцией выходов yv= λ (qv, xv ). Для нашего случая конкретный вид этих функций будет очень прост – сложение аргументов по М2 (функция неравнозначности):

qv+1 = qv xv ; yv= qv xv.

Анализируемый автомат обладает замечательным свойством: он реагирует на четность поданных на его вход единиц. Допустим, в качестве начального состояния будет q0 = 0, а на вход x подается бесконечная последовательность из 0 и 1 (табл. 5.6). Тогда нечетное количество единиц на входе автомата А будет отмечаться единицами на выходе y0. Если же в качестве начального состояния выберем q1 = 1, то нечетное число единиц на входе x будет отмечаться нулями на выходе y1.

Таблица 5.5 Таблица 5.6

q x

0

1

x

0 0 1 1 0 1 0 0 0 1 0 1 1 ...

0

0/0

1/1

y0

0 0 1 0 0 1 1 1 1 0 0 1 0 ...

1

1/1

0/0

y1

1 1 0 1 1 0 0 0 0 1 1 0 1 ...

Рассмотрим еще один пример автомата. Пусть функция переходов принимает значение входного символа (qv+1 = xv), а функция выходов – значение состояния (yv= qv). Общая таблица переходов такого автомата представлена таблицей 5.7, а формирование выходной последовательности при различных начальных состояниях автомата в зависимости от входной последовательности показана в таблице 5.8.

Таблица 5.7 Таблица 5.8

q x

0

1

x

0 0 1 1 0 1 0 0 0 1 0 1 1 ...

0

0/0

1/0

y0

0 0 0 1 1 0 1 0 0 0 1 0 1 ...

1

0/1

1/1

y1

1 0 0 1 1 0 1 0 0 0 1 0 1 ...

Из табл. 5.8 видно, что автомат на выходе независимо от своего начального состояния просто сдвигает все входные символы на одну позицию вправо. Такой автомат называют автоматом задержки на один такт. Орграф его представлен на рис. 5.5. Как видно по изображению орграфа автомата задержки, он обладает элементарной группой симметрии относительно перестановки состояний, а также входных и выходных символов 0 и 1.

5.2. Представление конечных автоматов

Рис. 5.5 Рис. 5.6

Можно построить автомат задержки на два такта. Его орграф также будет обладать свойствами симметрии, хотя число его состояний возрастет до 4, а число дуг – до 8 (рис. 5.6).

Вау!! 😲 Ты еще не читал? Это зря!

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

создано: 2018-05-21
обновлено: 2021-08-22
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Теория конечных автоматов

Термины: Теория конечных автоматов