Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум по дисциплине «Теория дискретных автоматов» для студентов 3-го курса направления подготовки 10.03.01 «Информационная безопасность».

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Рис.1. ГПВ абстрактного автомата
00
10
01
11




/
/
/

Причина неустойчивости переходов, т.е. неустойчивости смены состояния связана с тем, что в большинстве устройств длительность входного сигнала превышает время изменения состояния элемента памяти. Поэтому возникают случаи, когда один и тот же входной сигнал вызывает смену состояний, а также, и смену выходных сигналов, что не допустимо. Таким образом, все промежуточные состояния такого перехода являются неустойчивыми. Условие устойчивости перехода представляются следующим образом: в ГПВ существует петля в заключительном состоянии , со входным сигналом  приведшим автомат в состояние  . Пример неустойчивого перехода представлен на рис. 2.
. 11  /  00
/ 
 /
01  /  10 01
Рис. 2. Пример неустойчивого перехода
Так, на рис. 2 ГПВ абстрактного автомата при переходе 
является неустойчивым, так как автомат из состояния  при воздействии входного сигнала  перейдет в состояние 
41
в (петля 
).
Устойчивость выходных сигналов проверяется сохранением значения
 при каждом переходе. При переходе (рис.2) 
 
выходной
сигнал , не меняется.
Состязание элементов памяти
Состязание элементов памяти связано с неодновременным изменением
состояния нескольких элементов памяти в одном такте работы автомата.
В качестве причины этому являются конструктивные особенности
элементов памяти и задержки в цепях связанных с их входами. Состязания элементов памяти могут привести к непредсказуемым случайным изменениям состояний автомата.
Если же при каждой смене состояний будет меняться состояние только
одного элемента памяти. Это возможно лишь тогда, когда в ГПВ вершины будут закодированы соседними числами. В ГПВ (рис. 2) содержится один переход, в котором возможны состязания элементов памяти →.
Если один элемент памяти будет срабатывать медленнее другого, то вместо
заключительного состояния согласно последовательности

получится зацикливание 
 
 
…
Таким образом, анализ автомата с памятью по ФЭС ( анализ абстрактного
автомата) позволяет оценить функционирование автомата в различных режимах функционирования.
Задания для выполнения
Использовать схемы ДА с памятью практического занятия №6 и №7
Контрольные вопросы
1.Сущность декодирования входных и выходных сигналов, а также состояний.
2.Процесс построения абстрактной ТПВ.
3.Построение ГПВ.
4.Как проверяется устойчивость переходов по ГПВ?
5.Как проверяется устойчивость выходных сигналов?
6.С чем связано состязание элементов памяти?
7.Каким образом исключается состязание элементов?
42
Практическая работа № 9
х
S-z(t)
z0
z1
z1
z0
z0
z0
S0
S1
S2
S3
S4
S5
х0
S0 S5
S5
х1
S1
(S1) S4
(S4)
х2
S3
(S3)
х3 S2
(S2)
Тема: Построение таблицы переходов-выходов минимизированных автоматов с памятью при синтезе Цель: Изучение последовательности построения ТПВ: определение числа строк и числа столбцов (состояний) для первичной ТПВ, доопределение состояний, построение ГПВ, минимизация состояний автомата выявлением эквивалентных состояний.
Теоретические сведения
Построение автоматов с памятью
1. Разработка ТПВ автоматов с памятью
Рассмотрим построение автомата с памятью рода на примере преобразования входной последовательности х0,х1,х3,х2,х1,х0 в выходную
z0,z1,z1,z0,z0,z0.
1.Необходимо первоначально построить первичную ТПВ.
Букв входного алфавита 4: х0,х1,х2,х3.
Первичная ТПП будет иметь 4 строки.
2. Число состояний ТПВ будет соответствовать числу тактов реализации
заданной последовательности преобразования сигналов 6 тактов, имеем
S0,S1,S2,S3,S4,S5, которыми обозначим столбцы.
3. Для автомата рода в ТПВ каждому очередному состоянию можно
приписать очередной в столбцах выходной ТПВ, представлена в табл. 1.
Таблица 1
Первичная ТПВ разрабатываемого автомата рода
В ТПВ состояние S0 устойчиво, поскольку подача х0 в состоянии S0 оставляет автомат в этом состоянии.
Подача очередной буквы х1 из входной последовательности приведёт переход автомата из S0 в S1 (Заполняется клетка на пересечении строки х1 и столбца S0 символом S1). Для устойчивости состояния S1 при переходе, справа от S1 записываем (S1) в клетке на пересечении строки х, и столбца S1. Это называется доопределением состояний.
Таким же образом заполняются и другие клетки ТПВ с обеспечением устойчивости состояний.
Можно построить по первичной ТПВ первичный граф переходов­выходов (ГПВ) (рис. 1).
43
Рис. 1. Первичный ГПВ автомата
Для решения следующей задачи по построению автомата, можно предположить, что некоторые состояния автомата могут играть одинаковую роль при его функционировании и их можно объединить с целью уменьшения числа состояний автомата.
2. Минимизация состояний автоматов
Минимизация состояний автомата – это уменьшение числа состояний автомата при сохранении закона функционирования, т.е. заданной входной­выходной последовательности.
Задача минимизации автомата основана на понятии эквивалентных состояний: два состояния Sm и Sn называются эквивалентными, если автомат, находящийся в этих состояниях, под воздействием любой входной последовательности выдает одинаковые выходные последовательности.
Два автомата называются эквивалентными, если для каждого состояния первого автомата существует эквивалентное состояние второго автомата и наоборот.
Минимальным среди эквивалентных автоматов является автомат, имеющий наименьшее число состояний.
Можно сформулировать условия эквивалентности состояний, которые определяются по первичной ТПВ.
Первое условие: в любой строке первичной ТПВ состояниям Sm и Sn соответствуют одинаковые выходные символы z(t) для автомата первого рода, а для автомата второго рода состояниям Sm и Sn соответствуют одинаковые символы.
Второе условие: переход из состояний Sm и Sn под воздействием любого входного символа приводит к одному и тому же или эквивалентному состоянию.
Процесс минимизации автомата выполняется в следующей последовательности.
44
1. Последовательным разбиением первичной ТПВ выделяются все
х
α1
α2
S0
S3
S4
S5
S7
S2
х0
α1 α1
α1
х1
α
2
*
α1
α1 α1
х2 α1 α1
х3
α2
α2
попарно эквивалентные состояния автомата.
2. Объединяются эквивалентные состояния в отдельные классы
α1, α2, …, αk и выделяются в каждом классе одно состояние.
3. По выделенным состояниям строится вторичная ТПВ. Входные и выходные символы первичной ТПВ не изменяются, а номера каждого класса αi заменяются номером выделенного в нем состоянии.
Итак, последовательное разбиение предлагает последовательное включение в классы эквивалентности тех состояний, для которых выполняется первое условие эквивалентности, а затем проверяется второе условие. Если не выполняется в классе эквивалентности второе условие для некоторых состояний, необходимо их исключить из данного класса и повторить проверку для другого варианта разбиения состояний. Необходимо закончить процесс, если оба условия выполняются в каждом классе эквивалентности.
Пример. В табл. 1, по первому условию эквивалентности выделяются классы
α
= {S
1
, S3, S4, S5} и α2 = {S1, S2}.
0
Для проверки второго условия эквивалентности целесообразно преобразовать первичную ТПВ, переставив столбцы по классам и заменив символ состояния на символ его класса (табл. 2).
Таблица 2
Преобразованная первичная ТПВ. Первое разбиение
По табл. 2 видим, что в классе α2 в каждой строке записаны одинаковые классы. Пустые клетки во внимание не принимаются. Из этого следует, что второе условие эквивалентности выполняется. В классе α1, второе условие выполняется, за исключением S0. Во второй строке α2 помечено звездой (α
*
).
2
Это означает о необходимости исключения из α1 состояния S0 и повторении проверки.
Еще учитывается одно условие, которое требует после реализации вход­выходной последовательности возвращать автомат в исходное состояние. Для этого, начальное и конечное состояния автомата целесообразно объединять в одном классе.
Итак, на втором шаге будет иметь α
= {S
1
, S5}, α
0
= {S
2
, S2}, α
1
= {S
3
, S4}
3
(табл. 3).
45
Таблица 3
Х
α
1
α2 α
3
S
0 S 5 S 1 S 2 S 3 S 4
x
0 α1
α
1
α
1
x
1 α2
α
2
α
3
α
3
x
2
α
3
α
3
x
3
α
2
α
2
S – Z(t)
X
Z
0
Z1 Z
0
S
0
S1 S
3
x
0
S0
S0
x
1
S1
S1
S3
x
2
S3
S3
x
3
S1
Преобразованная первичная ТПВ. Второе разбиение
В данной таблице, в каждом классе второе условие выполняется.
На этом разбиение завершается.
По таблице, выберем состояния – представителя каждого класса и
определим как S0, S1 и S3. В результате получим вторичную ТПВ (табл.4).
Вторичная ТПВ имеет четыре строки x0, x1, x2, x3 и три столбца S0, S2, S3. Выходные символы переносятся из первичной ТПВ. Клетки заполняются символами состояний соответствующих им классов.
Таблица 4
Вторичная ТПВ
Вторичная ТПВ представляет функционирование автомата эквивалентного первичной ТПВ. При этом, получено минимальное решение автомата эквивалентного исходному.
Проверить эквивалентность полученного автомата проверкой реализации вход – выходной последовательности, например, по графу переходов выходов (рис. 2).
Рис. 2. Вторичная ТПВ
46
При построении вторичной ТПВ автомата 1 рода процедура аналогична,
Вход-выходная
последовательность
Род автомата
Варианты
Элемент
памяти
Элементный
базис
x0 x1 x2 x3 x1 x2 x0
z0 z1 z0 z0 z0 z1 z0
II рода
1
RS
И-НЕ
2
T
ИЛИ-НЕ
I рода
3
RS
И-НЕ
4 T И-НЕ
x0 x1 x2 x0 x1 x2 x0
z0 z1 z0 z1 z2 z2 z0
II рода
5
RS
ИЛИ-НЕ
6 T И-НЕ
I рода
7
RS
И-НЕ
8
T
ИЛИ-НЕ
x0 x2 x1 x3 x1 x2 x0
z0 z2 z1 z3 z0 z1 z0
II рода
9
RS
И-НЕ
10
T
И-НЕ
I рода
11
RS
ИЛИ-НЕ
12
T
И-НЕ
x0 x2 x0 x1 x2 x1 x0
z0 z1 z0 z2 z1 z1 z0
II рода
13
RS
И-НЕ
14
T
ИЛИ-НЕ
I рода
15
RS
И-НЕ
16
T
И-НЕ
x0 x1 x3 x2 x1 x3 x0
z0 z0 z1 z3 z2 z1 z0
II рода
17
RS
ИЛИ-НЕ
18
T
И-НЕ
I рода
19
RS
И-НЕ
20
T
ИЛИ-НЕ
x0 x1 x3 x2 x3 x1 x0
z0 z2 z1 z0 z0 z1 z0
II рода
21
RS
И-НЕ
22
T
И-НЕ
I рода
23
RS
ИЛИ-НЕ
24
T
И-НЕ
только при формировании классов эквивалентности необходимо учитывать выходные сигналы в каждой строке. Пустые клетки во внимание не принимаются.
Задания для выполнения
Контрольные вопросы
1.Как определить число строк и столбцов ТПВ?
2.Каким образом осуществляется доопределение состояний автомата в ТПВ?
3.Что обеспечивает устойчивость переходов автомата?
4.В чем состоит сущность минимизации автомата?
5.Каким образом осуществляется разбиение состояний автомата на классы эквивалентности?
6.Когда заканчивается разбиение состояний автомата на классы?
7. Чем отличается построении вторичной ТПВ автомата 1 рода от ТПВ автомата 2 рода?
47
Практическая работа № 10
X
x1 x
2
Z
Z1 S
y1y
2
x0 0 0
z0 0
S
0
0 0
x1 0 1
z1 1
S
1
0 1
x2 1 1
S
3
1 0
x3 1 0
Тема: Построение структурной таблицы переходов-выходов синтезируемого автомата с памятью Цель: Изучение процесса построения структурного автомата: проведение кодирования входных и выходных символов, кодирование состояний, исключение состязаний элементов памяти.
Теоретические сведения
Построение структурного автомата
Структурный автомат позволяет подробно рассмотреть связи между составными частями ДУ и определить изменения сигналов на входах и выходах устройства.
Для этой цели первоначально надо провести кодирование входных символов Хi и кодирование выходных символов Zj.
Для рассматриваемого нами примера в табл. 1 представлены результаты кодирования.
Таблица 1
Кодирование X, Z, S
При кодировании состояний возможно возникновение состязаний элементов памяти при функционировании автомата. Состязания элементов памяти называют иногда гонками. Это вызывает неустойчивую работу автомата.
Для исключения состязаний элементов памяти необходимо, чтобы при любых переходах автомата начальное и конечное состояние перехода были закодированы соседними двоичными кодами. Однако достичь этого не всегда возможно и для устойчивости переходов прибегают к увеличению числа состояний автомата, однако эта мера противоречит целям минимизации.
Противогоночное кодирование выполняется следующим образом.
1. По вторичной ТПВ строится ГПВ.
2. Проверяется выполнение условия 1: в графе не должно быть контуров
с нечетным числом состояний.
Например, в графе на рис. 1.
Рис. 1. Граф с контуром из 3-х вершин
48
Здесь код 10 является соседним числом коду вершины 00, но не является
X
S - z(t)
z0 z1 z2 S0 S1 S
2
x0 S0
S
0
x1 S1 S1 S
3
x2 S3 S0 S3 x3
S1
X
i
Xi X
i
x
0
10
s3/z
0
x
0
00
s1/z
1
s0/z
0
01
x1,x
2
x
1
x
2
x
2
x
2
x
,x
соседними для вершины с кодом 01. Код 11 является соседним для вершины с кодом 01, но не является соседним для кода 00. То есть соседними числами нельзя закодировать создающий контур с нечетным числом вершин.
Если условие 1 не выполняется, то необходимо применить доопределение вторичной ТПВ:
а) заменить в неполностью заданных автоматах один из переходов
S
S
нач.
S
S
нов.
кон.
с незаполненной клеткой строки xi в ТПВ, а в ГПВ из S
, контура с нечетным числом состояний на переход S
кон.
, выбрав S
в качестве неустойчивого состояния из имеющихся
нов.
не выходит стрелка с
нов.
нач.
обозначением xi ;
б) это новое состояние S
S
нач.
→ S
в качестве неустойчивого состояния перехода. При изменении
кон.
включить в разрыв одного из переходов
нов.
структуры перехода входной и выходной символы не должны меняться. Пример. ГПВ (рис. 2) имеет контур с 3 вершинами, следовательно, условие 1 процесса противогоночного кодирования не выполняется.
По способу a) можно выбрать неустойчивое состояние S0
S1
x1
S0
x2
S3 .
Оно имеет пустую клетку в ТПВ на x2 (см. табл.1).
Рис. 2. ГПВ содержит контур с 3 вершинами
Новый автомат будет иметь вид согласно табл. 2 и рис. 3. Таблица ПВ при противогоночном кодировании по способу a) изменится.
Таблица 2
ТПВ с противогоночным кодированием по способу а)
49
Если решить задачу противогоночного кодирования по способу a) не удается,
X
S - z(t)
z0 z1 z0 z
0
S0 S1 S2 S2 x0 S0
S0
x1 S1 S1 S3
x2 S3 S0 S3
x3
S1
y(t)
y(t+1)
0
1
0
- 0
0 1
1
1 0
0 -
R(t)
S(t)
Рис. 3. ГПВ с противогоночным кодированием по способу б)
s3/z
0
10
11
x
2
x1,x
2
x2 x2 x
0
00
01
s0/z
0
s1/z
1
X
2
x1,x
3
x
0
S3/z0 S2/z
0
то способ б) предлагает добавить новое состояние и заменить один из переходов (рис. 3)
Таблица ТПВ измененная согласно графа ГПВ представлена на таблице 3.
Таблица 3
ТПВ с изменениями в результате противогоночного кодирования по способу б)
Противогоночное кодирование с выполнением условия 2: любые две смежные 2-го ранга вершины не должны иметь между собой более двух параллельных ветвей.
Если условие 2 не выполняется, необходимо применить один из ранее рассмотренных способов а) или б) до определения вторичной ТПВ.
Используя таблицу кодирования 4 для X, Z, S получается структурная таблица переходов – СТП (фрагмент которой показан на рис.4). Далее, применяя таблицу входов Т-триггера (см. рис. 4) или RS- триггера, представленного в табл.4, получается таблица возбуждения элементов памяти разрабатываемого автомата.
Таблица входов RS-триггера
50
Таблица 4
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]