Автоматы Мура и Мили — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Табличный способ задания автомата Мура)
(Табличный способ задания автомата Мура)
Строка 96: Строка 96:
 
{| class="wikitable" style="margin-left: 20px"
 
{| class="wikitable" style="margin-left: 20px"
 
|-  
 
|-  
| style="background: white; padding: 5px 20px" | <tex>\lambda</tex> || style="background: white; padding: 5px 20px" | <tex>w_{1}</tex> || style="background: white; padding: 5px 20px" | <tex>w_{2}</tex> || style="background: white; padding: 5px 20px" | <tex>w_{1}</tex> || style="background: white; padding: 5px 20px" | <tex>w_{2}</tex> || style="background: white; padding: 5px 20px" | <tex>w_{2}</tex>
+
| style="background: white; padding: 5px 15px" | <tex>\lambda</tex> || style="background: white; padding: 5px 15px" | <tex>w_{1}</tex> || style="background: white; padding: 5px 15px" | <tex>w_{2}</tex> || style="background: white; padding: 5px 15px" | <tex>w_{1}</tex> || style="background: white; padding: 5px 15px" | <tex>w_{2}</tex> || style="background: white; padding: 5px 15px" | <tex>w_{2}</tex>
 
|-
 
|-
| style="background: white; padding: 5px 20px" | <tex>\delta</tex> || style="background: white; padding: 5px 20px" | <tex>a_{1}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{2}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{3}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{4}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{5}</tex>
+
| style="background: white; padding: 5px 15px" | <tex>\delta</tex> || style="background: white; padding: 5px 15px" | <tex>a_{1}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{2}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{3}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{4}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{5}</tex>
 
|-
 
|-
| style="background: white; padding: 5px 20px" | <tex>z_{1}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{2}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{2}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{5}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{5}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{2}</tex>
+
| style="background: white; padding: 5px 15px" | <tex>z_{1}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{2}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{2}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{5}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{5}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{2}</tex>
 
|-
 
|-
| style="background: white; padding: 5px 20px" | <tex>z_{2}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{3}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{3}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{1}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{1}</tex> || style="background: white; padding: 5px 20px" | <tex>a_{4}</tex>
+
| style="background: white; padding: 5px 15px" | <tex>z_{2}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{3}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{3}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{1}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{1}</tex> || style="background: white; padding: 5px 15px" | <tex>a_{4}</tex>
 
|}
 
|}

Версия 23:48, 7 января 2015

Абстрактные автоматы

Определение:
Абстрактный автомат (АА) является математической моделью дискретного устройства и описывается шестикомпонентным набором [math]S=(A, Z, W, \delta, \lambda, a_{1})[/math], где

1. [math]A=\{a_{1}, ..., a_{m}, ..., a_{M}\}[/math] - множество состояний.

2. [math]Z=\{z_{1}, ..., z_{f}, ..., z_{F}\}[/math] - множество входных сигналов.

3. [math]W=\{w_{1}, ..., w_{g}, ..., w_{G}\}[/math] - множество выходных сигналов.

4. [math]\delta[/math] - функция переходов АА, которая некоторым парам \<состояние - входной сигнал\> ([math]a_{m}[/math], [math]z_{f}[/math]) ставит в соответствие состояние АА [math]a_{s}[/math], т.е. [math]a_{s} = δ(a_{m}, z_{f})[/math], [math]a_{s}\in A[/math].

5. [math]\lambda[/math] - функция выходов АА, которая некоторым парам \<состояние – входной сигнал\> ([math]a_{m}[/math], [math]z_{f}[/math]) ставит в соответствие выходной сигнал АА [math]w_{g}[/math], т.е. [math]w_{g}=λ(a_{m},z_{f})[/math], [math]w_{g}\in W[/math].

6. [math]a_{1}[/math] - начальное состояние. АА работает в дискретные моменты времени, и в момент времени [math]t=0[/math] автомат всегда находится в состоянии [math]a_{1}[/math].


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

В каждый момент времени АА, будучи в состоянии [math]a_{m}^{t}[/math], способен воспринимать одну из букв входного алфавита [math]z_{f}^{t}[/math]. В соответствии с функцией [math]\delta[/math], АА перейдет в состояние [math]a_{1}^{t+1}[/math] с выдачей выходного сигнала, который вырабатывается в соответствии с функцией выходов [math]\lambda[/math].

Рассмотрим функционирование автоматов Мура и Мили.

Автомат Мили

[math]a(t+1) = \delta (a(t), z(t))[/math]

[math]w(t) = \lambda (a(t), z(t))[/math]

Автомат Мура

[math]a(t+1) = \delta (a(t), z(t))[/math]

[math]w(t) = \lambda (a(t))[/math]

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

Способы задания автоматов

Табличный способ задания автомата Мили

Автомат Мили может быть задан таблицей переходов и таблицей выходов.

В таблице переходов АА Мили на пересечении столбца [math]a_{m}[/math] и строки [math]z_{f}[/math] записывается состояние [math]a_{s}[/math], которое есть функция [math]\delta[/math] от [math]a_{m}[/math] и [math]z_{f}[/math]

[math]a_{m}[/math]
[math]z_{f}[/math] [math]a_{s}[/math] [math]=\delta (a_{m}, z_{f})[/math]

В таблице выходов на пересечении столбца [math]a_{m}[/math] и строки [math]z_{f}[/math] записывается выходной сигнал, который есть функция [math]\lambda[/math] от [math]a_{m}[/math] и [math]z_{f}[/math].

[math]a_{m}[/math]
[math]z_{f}[/math] [math]w_{g}[/math] [math]=\lambda (a_{m}, z_{f})[/math]

Пример: Задание автомата Мили табличным способом (автомат имеет два входных сигнала, два выходных сигнала и три состояния).

Таблица переходов
[math]\delta[/math] [math]a_{1}[/math] [math]a_{2}[/math] [math]a_{3}[/math]
[math]z_{1}[/math] [math]a_{1}[/math] [math]a_{3}[/math] [math]a_{1}[/math]
[math]z_{2}[/math] [math]a_{2}[/math] [math]a_{1}[/math] [math]a_{2}[/math]
Таблица выходов
[math]\lambda[/math] [math]a_{1}[/math] [math]a_{2}[/math] [math]a_{3}[/math]
[math]z_{1}[/math] [math]w_{2}[/math] [math]w_{2}[/math] [math]w_{2}[/math]
[math]z_{2}[/math] [math]w_{1}[/math] [math]w_{1}[/math] [math]w_{2}[/math]

Табличный способ задания автомата Мура

В автомате Мура выходной сигнал зависит только от состояния автомата и не зависит от входного сигнала. Поэтому достаточно для задания автомата Мура в таблице переходов добавить одну строку.

[math]\lambda[/math] [math]w_{1}[/math] [math]w_{2}[/math] [math]w_{1}[/math] [math]w_{2}[/math] [math]w_{2}[/math]
[math]\delta[/math] [math]a_{1}[/math] [math]a_{2}[/math] [math]a_{3}[/math] [math]a_{4}[/math] [math]a_{5}[/math]
[math]z_{1}[/math] [math]a_{2}[/math] [math]a_{2}[/math] [math]a_{5}[/math] [math]a_{5}[/math] [math]a_{2}[/math]
[math]z_{2}[/math] [math]a_{3}[/math] [math]a_{3}[/math] [math]a_{1}[/math] [math]a_{1}[/math] [math]a_{4}[/math]