Синтез автомата Мура по граф-схеме — различия между версиями

Материал из Мегапедии
Перейти к: навигация, поиск
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
'''Синтез автомата Мура по граф-схеме''' — это метод построения функциональной схемы автомата.
 
'''Синтез автомата Мура по граф-схеме''' — это метод построения функциональной схемы автомата.
 
= Описание =
 
= Описание =
== Определение 1 ==
+
'''Автомат Мура (Moore machine)''' — кортеж из 6 элементов, включающий:
Автомат Мура — абстрактный автомат второго рода — конечный автомат, выходное значение сигнала в котором зависит лишь от текущего состояния данного автомата, и, не зависит напрямую, в, отличие от автомата Мили, от входных значений. Автомат Мура назван в честь описавшего его свойства Эдварда Ф. Мура, опубликовавшего исследования в 1956 году в издании «Gedanken-experiments on Sequential Machines.».
+
множество внутренних состояний '''S''' (внутренний алфавит);
== Определение 2 ==
+
начальное состояние '''S<sub>0</sub>''';
Автомат Мура  —  кортеж из 6 элементов, включающий:
+
множество входных сигналов '''X''' (входной алфавит);
множество внутренних состояний S (внутренний алфавит);
+
множество выходных сигналов '''Y''' (выходной алфавит);
начальное состояние S0;
+
функция переходов '''X''';
множество входных сигналов X (входной алфавит);
+
функция выходов '''Y'''.
множество выходных сигналов Y (выходной алфавит);
+
== Определение ==
функция переходов.
+
'''Автомат Мура''' — абстрактный автомат второго рода — конечный автомат, выходное значение сигнала в котором зависит лишь от текущего состояния данного автомата, и, не зависит напрямую, в отличие от [[Синтез автомата Мили по граф-схеме|автомата Мили]], от входных значений.  
 +
Автомат Мура назван в честь описавшего его свойства Эдварда Ф. Мура.  
 
== Обозначения ==
 
== Обозначения ==
 
'''ГСА''' — граф-схема автомата;
 
'''ГСА''' — граф-схема автомата;
Строка 18: Строка 19:
  
 
'''b<sub>m</sub>''' — операторная вершина — исходное состояние перехода;
 
'''b<sub>m</sub>''' — операторная вершина — исходное состояние перехода;
 +
 +
'''b<sub>s</sub>''' — операторная вершина — конечное состояние перехода;
  
 
'''ө<sub>s</sub>''' — узел — дополнительная операторная вершина для упрощения ГСА;
 
'''ө<sub>s</sub>''' — узел — дополнительная операторная вершина для упрощения ГСА;
Строка 27: Строка 30:
 
'''X(b<sub>m</sub>, b<sub>s</sub>)''' — логическое условие перехода;
 
'''X(b<sub>m</sub>, b<sub>s</sub>)''' — логическое условие перехода;
  
'''S<sub>i</sub>''' — значение на S-триггере;
+
'''S<sub>i</sub>''' — значение на '''S'''-триггере;
  
'''R<sub>i</sub>''' — значение на R-триггере.
+
'''R<sub>i</sub>''' — значение на '''R'''-триггере.
 
= Примеры: =
 
= Примеры: =
 
== Пример 1 ==
 
== Пример 1 ==
Синтез автомата Мура по ГСА (рис.1).
+
Синтез автомата Мура по '''ГСА''' (рис.1).
 
                                        
 
                                        
 
[[файл:ГСА011.png]]
 
[[файл:ГСА011.png]]
  
Рис.1. ГСА автомата Мура с узлами.
+
'''Рис.1. ГСА автомата Мура с узлами.'''
 
=== Разметка состояний ===
 
=== Разметка состояний ===
В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния b<sub>m</sub> в состояние b<sub>s</sub> — это переход из одной операторной вершины в другую при выполнении логический условий X(b<sub>m</sub>, b<sub>s</sub>) на пути из b<sub>m</sub> в b<sub>s</sub>.
+
В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния '''b<sub>m</sub>''' в состояние '''b<sub>s</sub>''' — это переход из одной операторной вершины в другую при выполнении логический условий '''X(b<sub>m</sub>,b<sub>s</sub>)''' на пути из '''b<sub>m</sub>''' в '''b<sub>s</sub>'''.
Т.к. начальное и конечное состояние автомата совпадают, на ГСА искусственно добавлена еще одна операторная вершина, соответствующая состоянию b0.
+
Т.к. начальное и конечное состояние автомата совпадают, на '''ГСА''' искусственно добавлена еще одна операторная вершина, соответствующая состоянию '''b<sub>0</sub>'''.
Узлы ө используются для упрощения формул переходов и ставятся на ГСА в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.
+
Узлы ө используются для упрощения формул переходов и ставятся на '''ГСА''' в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.
  
 
[[файл:ГСА012.png]]
 
[[файл:ГСА012.png]]
 
                                    
 
                                    
Рис.2. Размеченная ГСА автомата Мура с узлами.
+
'''Рис.2. Размеченная ГСА автомата Мура с узлами.'''
 
=== Построение прямой таблицы переходов 1 ===
 
=== Построение прямой таблицы переходов 1 ===
Отличительная особенность: в данном примере в ГСА введены узлы ө. В ГСА с узлами возможны переходы четырех видов:
+
Отличительная особенность: в данном примере в '''ГСА''' введены узлы '''ө'''. В '''ГСА''' с узлами возможны переходы четырех видов:
 
'''b<sub>m</sub>→b<sub>s</sub>''', '''b<sub>m</sub>→ө<sub>s</sub>''', '''ө<sub>m</sub>→b<sub>s</sub>''', '''ө<sub>m</sub>→ө<sub>s</sub>'''.
 
'''b<sub>m</sub>→b<sub>s</sub>''', '''b<sub>m</sub>→ө<sub>s</sub>''', '''ө<sub>m</sub>→b<sub>s</sub>''', '''ө<sub>m</sub>→ө<sub>s</sub>'''.
 
Все эти переходы описываются в прямой таблице переходов.
 
Все эти переходы описываются в прямой таблице переходов.
  
Таблица 1.
+
'''Таблица 1.'''
  
 
[[файл:ГСА013.png]]
 
[[файл:ГСА013.png]]
  
В столбце X(bm,bs) единица записывается тогда, когда b<sub>m</sub> в b<sub>s</sub> переход осуществляется всегда.
+
В столбце '''X(b<sub>m</sub>,b<sub>s</sub>)''' единица записывается тогда, когда '''b<sub>m</sub>''' в '''b<sub>s</sub>''' переход осуществляется всегда.
 
=== Кодирование состояний ===
 
=== Кодирование состояний ===
Произведём кодирование узлов (узлы ө не кодируются).
+
Произведём кодирование узлов (узлы '''ө''' не кодируются).
В данном примере — автомат имеет четыре состояния (кроме начального), для кодирования необходимо не менее трёх двоичных разрядов. Память состояний на RS триггерах.  
+
В данном примере — автомат имеет четыре состояния (кроме начального), для кодирования необходимо не менее трёх двоичных разрядов. Память состояний на '''RS''' триггерах.  
Коды состояний: k(b<sub>0</sub>)=000; k(b<sub>1</sub>)=001; k(b<sub>2</sub>)=010; k(b<sub>3</sub>)=011; k(b<sub>4</sub>)=100.
+
Коды состояний: '''k(b<sub>0</sub>)=000; k(b<sub>1</sub>)=001; k(b<sub>2</sub>)=010; k(b<sub>3</sub>)=011; k(b<sub>4</sub>)=100'''.
 
=== Построение обратной структурной таблицы 2 ===
 
=== Построение обратной структурной таблицы 2 ===
 
Вначале описываем переходы в узлы, затем остальные переходы автомата.
 
Вначале описываем переходы в узлы, затем остальные переходы автомата.
  
Таблица 2.
+
'''Таблица 2.'''
  
 
[[файл:ГСА014.png]]
 
[[файл:ГСА014.png]]
  
Если переход в некоторое состояние b<sub>s</sub> происходит из узла ө, то в автомате с памятью на RS триггерах значения R<sub>i</sub> и S<sub>i</sub> в обратной структурной таблице записываются с учетом кодов состояний b<sub>m</sub> из которых был переход в узел ө.
+
Если переход в некоторое состояние '''b<sub>s</sub>''' происходит из узла ө, то в автомате с памятью на '''RS''' триггерах значения '''R<sub>i</sub>''' и '''S<sub>i</sub>''' в обратной структурной таблице записываются с учетом кодов состояний '''b<sub>m</sub>''' из которых был переход в узел '''ө'''.
  
 
[[файл:ГСА015.png]]
 
[[файл:ГСА015.png]]
  
Рис.3. Схема определения значений R<sub>i</sub> и S<sub>i</sub>.
+
'''Рис.3. Схема определения значений R<sub>i</sub> и S<sub>i</sub>'''.
 
=== Запись функции выходов и переходов автомата ===
 
=== Запись функции выходов и переходов автомата ===
По обратной структурной таблице запишем функции для ө, Y<sub>i</sub>, R<sub>i</sub> и S<sub>i</sub>.
+
По обратной структурной таблице запишем функции для '''ө, Y<sub>i</sub>, R<sub>i</sub>''' и '''S<sub>i</sub>'''.
  
 
[[файл:ГСА016.png]]
 
[[файл:ГСА016.png]]
 
 
Легко заметить, что использование узлов в ГСА автомата Мура позволило значительно упростить функции выходов и переходов.
+
Легко заметить, что использование узлов в '''ГСА''' автомата Мура позволило значительно упростить функции выходов и переходов.
 
=== Построение ФСА автомата Мура ===
 
=== Построение ФСА автомата Мура ===
 
[[файл:ГСА017.png]]
 
[[файл:ГСА017.png]]
  
Рис.4. ФСА автомата Мура на жёсткой логике.
+
'''Рис.4. ФСА автомата Мура на жёсткой логике.'''
 
== Пример 2 ==
 
== Пример 2 ==
Синтез автомата Мура по ГСА (рис.5).
+
Синтез автомата Мура по '''ГСА''' (рис.5).
 
                                        
 
                                        
 
[[файл:ГСА021.png]]
 
[[файл:ГСА021.png]]
  
Рис.5. ГСА автомата Мура с узлами.
+
'''Рис.5. ГСА автомата Мура с узлами.'''
 
=== Разметка состояний ===
 
=== Разметка состояний ===
В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния b<sub>m</sub> в состояние b<sub>s</sub> — это переход из одной операторной вершины в другую при выполнении логический условий X(b<sub>m</sub>, b<sub>s</sub>) на пути из b<sub>m</sub> в b<sub>s</sub>.
+
В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния '''b<sub>m</sub>''' в состояние '''b<sub>s</sub>''' — это переход из одной операторной вершины в другую при выполнении логический условий '''X(b<sub>m</sub>,b<sub>s</sub>)''' на пути из '''b<sub>m</sub>''' в '''b<sub>s</sub>'''.
Т.к. начальное и конечное состояние автомата совпадают, на ГСА искусственно добавлена еще одна операторная вершина, соответствующая состоянию b0.
+
Т.к. начальное и конечное состояние автомата совпадают, на '''ГСА''' искусственно добавлена еще одна операторная вершина, соответствующая состоянию '''b<sub>0</sub>'''.
Узлы ө используются для упрощения формул переходов и ставятся на ГСА в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.
+
Узлы '''ө''' используются для упрощения формул переходов и ставятся на '''ГСА''' в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.
  
 
[[файл:ГСА022.png]]
 
[[файл:ГСА022.png]]
 
                                    
 
                                    
Рис.6. Размеченная ГСА автомата Мура с узлами.
+
'''Рис.6. Размеченная ГСА автомата Мура с узлами.'''
 
=== Построение прямой таблицы переходов 3 ===  
 
=== Построение прямой таблицы переходов 3 ===  
Отличительная особенность: в данном примере в ГСА введены узлы ө. В ГСА с узлами возможны переходы четырех видов:
+
Отличительная особенность: в данном примере в '''ГСА''' введены узлы ө. В '''ГСА''' с узлами возможны переходы четырех видов:
'''b<sub>m</sub>→b<sub>s</sub>''', '''b<sub>m</sub>→ө<sub>s</sub>''', '''ө<sub>m</sub>→b<sub>s</sub>''', '''ө<sub>m</sub>→ө<sub>s</sub>'''.
+
'''b<sub>m</sub>→b<sub>s</sub>, b<sub>m</sub>→ө<sub>s</sub>, ө<sub>m</sub>→b<sub>s</sub>, ө<sub>m</sub>→ө<sub>s</sub>'''.
 
Все эти переходы описываются в прямой таблице переходов.
 
Все эти переходы описываются в прямой таблице переходов.
  
Таблица 3.
+
'''Таблица 3.'''
  
 
[[файл:ГСА023.png]]
 
[[файл:ГСА023.png]]
  
В столбце X(bm,bs) единица записывается тогда, когда b<sub>m</sub> в b<sub>s</sub> переход осуществляется всегда.
+
В столбце '''X(b<sub>m</sub>,b<sub>s</sub>)''' единица записывается тогда, когда '''b<sub>m</sub>''' в '''b<sub>s</sub>''' переход осуществляется всегда.
 
=== Кодирование состояний ===
 
=== Кодирование состояний ===
Произведём кодирование узлов (узлы ө не кодируются).
+
Произведём кодирование узлов (узлы '''ө''' не кодируются).
В данном примере — автомат имеет три состояния (кроме начального), для кодирования необходимо не менее двух двоичных разрядов. Память состояний на RS триггерах.  
+
В данном примере — автомат имеет три состояния (кроме начального), для кодирования необходимо не менее двух двоичных разрядов. Память состояний на '''RS''' триггерах.  
Коды состояний: k(b<sub>0</sub>)=00; k(b<sub>1</sub>)=01; k(b<sub>2</sub>)=01; k(b<sub>3</sub>)=11.
+
Коды состояний: '''k(b<sub>0</sub>)=00; k(b<sub>1</sub>)=01; k(b<sub>2</sub>)=01; k(b<sub>3</sub>)=11'''.
 
=== Построение обратной структурной таблицы 4 ===
 
=== Построение обратной структурной таблицы 4 ===
 
Вначале описываем переходы в узлы, затем остальные переходы автомата.
 
Вначале описываем переходы в узлы, затем остальные переходы автомата.
  
Таблица 4.
+
'''Таблица 4.'''
  
 
[[файл:ГСА024.png]]
 
[[файл:ГСА024.png]]
  
Если переход в некоторое состояние b<sub>s</sub> происходит из узла ө, то в автомате с памятью на RS триггерах значения R<sub>i</sub> и S<sub>i</sub> в обратной структурной таблице записываются с учетом кодов состояний b<sub>m</sub> из которых был переход в узел ө.
+
Если переход в некоторое состояние '''b<sub>s</sub>''' происходит из узла '''ө''', то в автомате с памятью на '''RS''' триггерах значения '''R<sub>i</sub>''' и '''S<sub>i</sub>''' в обратной структурной таблице записываются с учётом кодов состояний '''b<sub>m</sub>''' из которых был переход в узел '''ө'''.
  
 
[[файл:ГСА025.png]]
 
[[файл:ГСА025.png]]
  
Рис.7. Схема определения значений R<sub>i</sub> и S<sub>i</sub>.
+
'''Рис.7. Схема определения значений R<sub>i</sub> и S<sub>i</sub>.'''
 
=== Запись функции выходов и переходов автомата ===
 
=== Запись функции выходов и переходов автомата ===
По обратной структурной таблице запишем функции для ө, Y<sub>i</sub>, R<sub>i</sub> и S<sub>i</sub>.
+
По обратной структурной таблице запишем функции для '''ө, Y<sub>i</sub>, R<sub>i</sub>''' и '''S<sub>i</sub>'''.
  
 
[[файл:ГСА026.png]]
 
[[файл:ГСА026.png]]
 
 
Легко заметить, что использование узлов в ГСА автомата Мура позволило значительно упростить функции выходов и переходов.
+
Легко заметить, что использование узлов в '''ГСА''' автомата Мура позволило значительно упростить функции выходов и переходов.
 
=== Построение ФСА автомата Мура ===
 
=== Построение ФСА автомата Мура ===
 
[[файл:ГСА027.png]]
 
[[файл:ГСА027.png]]
  
Рис.8. ФСА автомата Мура на жёсткой логике.
+
'''Рис.8. ФСА автомата Мура на жёсткой логике.'''
 +
= [[Алгоритм|Другие алгоритмы:]] =
 +
{{Список Алг}}
 +
= [[Разделы математики|Другие разделы]] =
 
= Ссылки =
 
= Ссылки =
 +
*https://ru.wikipedia.org/wiki/Автомат_Мура
 
*Воронцов И.В. Курс лекций по предметам теория автоматов и системотехника. СамГТУ. 2012-2013г.
 
*Воронцов И.В. Курс лекций по предметам теория автоматов и системотехника. СамГТУ. 2012-2013г.
 
*[[Участник:Logic-samara]]
 
*[[Участник:Logic-samara]]
[[Категория:Дискретная математика]][[Категория:Автоматы]]
+
[[Категория:Математика]][[Категория:Дискретная математика]][[Категория:Алгоритмы]][[Категория:Автоматы]]

Текущая версия на 15:23, 6 апреля 2023

Синтез автомата Мура по граф-схеме — это метод построения функциональной схемы автомата.

Описание

Автомат Мура (Moore machine) — кортеж из 6 элементов, включающий: множество внутренних состояний S (внутренний алфавит); начальное состояние S0; множество входных сигналов X (входной алфавит); множество выходных сигналов Y (выходной алфавит); функция переходов X; функция выходов Y.

Определение

Автомат Мура — абстрактный автомат второго рода — конечный автомат, выходное значение сигнала в котором зависит лишь от текущего состояния данного автомата, и, не зависит напрямую, в отличие от автомата Мили, от входных значений. Автомат Мура назван в честь описавшего его свойства Эдварда Ф. Мура.

Обозначения

ГСА — граф-схема автомата;

ФСА — функциональная схема автомата;

b0 — операторная вершина — начальное и конечное состояние автомата;

bm — операторная вершина — исходное состояние перехода;

bs — операторная вершина — конечное состояние перехода;

өs — узел — дополнительная операторная вершина для упрощения ГСА;

bm→bs — переход из одной операторной вершины в другую;

bm→өs, өm→bs, өm→өs — дополнительные переходы;

X(bm, bs) — логическое условие перехода;

Si — значение на S-триггере;

Ri — значение на R-триггере.

Примеры:

Пример 1

Синтез автомата Мура по ГСА (рис.1).

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.1. ГСА автомата Мура с узлами.

Разметка состояний

В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния bm в состояние bs — это переход из одной операторной вершины в другую при выполнении логический условий X(bm,bs) на пути из bm в bs. Т.к. начальное и конечное состояние автомата совпадают, на ГСА искусственно добавлена еще одна операторная вершина, соответствующая состоянию b0. Узлы ө используются для упрощения формул переходов и ставятся на ГСА в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.2. Размеченная ГСА автомата Мура с узлами.

Построение прямой таблицы переходов 1

Отличительная особенность: в данном примере в ГСА введены узлы ө. В ГСА с узлами возможны переходы четырех видов: bm→bs, bm→өs, өm→bs, өm→өs. Все эти переходы описываются в прямой таблице переходов.

Таблица 1.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

В столбце X(bm,bs) единица записывается тогда, когда bm в bs переход осуществляется всегда.

Кодирование состояний

Произведём кодирование узлов (узлы ө не кодируются). В данном примере — автомат имеет четыре состояния (кроме начального), для кодирования необходимо не менее трёх двоичных разрядов. Память состояний на RS триггерах. Коды состояний: k(b0)=000; k(b1)=001; k(b2)=010; k(b3)=011; k(b4)=100.

Построение обратной структурной таблицы 2

Вначале описываем переходы в узлы, затем остальные переходы автомата.

Таблица 2.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Если переход в некоторое состояние bs происходит из узла ө, то в автомате с памятью на RS триггерах значения Ri и Si в обратной структурной таблице записываются с учетом кодов состояний bm из которых был переход в узел ө.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.3. Схема определения значений Ri и Si.

Запись функции выходов и переходов автомата

По обратной структурной таблице запишем функции для ө, Yi, Ri и Si.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Легко заметить, что использование узлов в ГСА автомата Мура позволило значительно упростить функции выходов и переходов.

Построение ФСА автомата Мура

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.4. ФСА автомата Мура на жёсткой логике.

Пример 2

Синтез автомата Мура по ГСА (рис.5).

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.5. ГСА автомата Мура с узлами.

Разметка состояний

В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния bm в состояние bs — это переход из одной операторной вершины в другую при выполнении логический условий X(bm,bs) на пути из bm в bs. Т.к. начальное и конечное состояние автомата совпадают, на ГСА искусственно добавлена еще одна операторная вершина, соответствующая состоянию b0. Узлы ө используются для упрощения формул переходов и ставятся на ГСА в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.6. Размеченная ГСА автомата Мура с узлами.

Построение прямой таблицы переходов 3

Отличительная особенность: в данном примере в ГСА введены узлы ө. В ГСА с узлами возможны переходы четырех видов: bm→bs, bm→өs, өm→bs, өm→өs. Все эти переходы описываются в прямой таблице переходов.

Таблица 3.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

В столбце X(bm,bs) единица записывается тогда, когда bm в bs переход осуществляется всегда.

Кодирование состояний

Произведём кодирование узлов (узлы ө не кодируются). В данном примере — автомат имеет три состояния (кроме начального), для кодирования необходимо не менее двух двоичных разрядов. Память состояний на RS триггерах. Коды состояний: k(b0)=00; k(b1)=01; k(b2)=01; k(b3)=11.

Построение обратной структурной таблицы 4

Вначале описываем переходы в узлы, затем остальные переходы автомата.

Таблица 4.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Если переход в некоторое состояние bs происходит из узла ө, то в автомате с памятью на RS триггерах значения Ri и Si в обратной структурной таблице записываются с учётом кодов состояний bm из которых был переход в узел ө.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.7. Схема определения значений Ri и Si.

Запись функции выходов и переходов автомата

По обратной структурной таблице запишем функции для ө, Yi, Ri и Si.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Легко заметить, что использование узлов в ГСА автомата Мура позволило значительно упростить функции выходов и переходов.

Построение ФСА автомата Мура

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Рис.8. ФСА автомата Мура на жёсткой логике.

Другие алгоритмы:

Другие разделы

Ссылки