Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория автоматов. Учебное пособие
.pdf
но убедиться (табл. 5.4), рассмотрев с помощью графа переходов автомата A
(см. рис. 5.4) выходные последовательности, образующиеся при
3
воздействии на него всех возможных входных последовательностей
длины два (X
, Q6, Q9. После второго шага имеем 2-эквивалентное разбиение, состо-
Q
4
ящее из трех классов эквивалентных состояний: V
= {Q2, Q4, Q6}, V3 = {Q9}.
V
2
, Xj2; j = 1, 2, 3), если исходными являются состояния Q2,
j1
= {Q1, Q3, Q5, Q7, Q8},
1
Таблица 5.3
Q
X
i
Q
Q
Q
1
2
α
V
V
2
β
V
γ
V
1
V
2
2
V
1
2
Q
3
V
V
2
V
V
2
V
V
1
i
Q
Q
Q
Q
4
5
6
7
V
V
1
2
V
2
2
V
2
1
V
1
V
V
2
V
2
2
V
2
1
Q
8
9
V
V
2
V
V
1
V
2
2
V
1
1
Таблица 5.4
Xj1, X
11
11
11
11
j2
11
10
11
11
11
10
11
11
11
10
11
11
11
10
10
10
Q
i
αα αβ αγ βα ββ βγ γα γβ γγ
Q
01
00
00
2
01
01
01
00
00
00
Q
4
Q
6
Q
9
00
00
00
10
10
10
10
После получения классов V1, V2, V3 снова строим таблицу переходов
и так далее до тех пор, пока каждый класс в эквивалентном разбиении
останется неизменным. Этот процесс иллюстрируется табл. 5.5–5.7, из
которых следует, что для 3-эквивалентного разбиения имеем: V
, Q5, Q7, Q8}, V2 = {Q2, Q4}, V3 = {Q9}, V4 = {Q6}.
Q
3
= {Q1,
1
Таблица 5.5
Q
X
j
Q
Q
Q
1
2
α
V
V
2
β
V
γ
V
1
V
2
2
V
1
2
Q
3
V
V
2
V
V
2
V
V
1
i
Q
Q
Q
Q
4
5
6
7
V
V
1
2
V
2
2
V
2
1
V
1
V
V
2
V
3
2
V
2
1
Q
8
9
V
V
2
V
V
1
V
2
3
V
1
1
-61-

Таблица 5.6
Q
X
j
Q
Q
Q
1
2
α
V
V
2
β
V
γ
V
1
V
2
2
V
1
2
Q
3
V
V
2
V
V
2
V
V
1
i
Q
Q
Q
Q
4
5
6
7
V
V
1
4
V
2
2
V
2
1
V
1
V
V
4
V
3
2
V
4
1
Q
8
9
V
V
2
V
V
1
V
2
3
V
1
1
Таблица 5.7
Q
X
j
Q
Q
Q
1
2
α
V
V
2
β
V
γ
V
1
V
2
2
V
5
2
Q
3
V
V
2
V
V
2
V
V
5
i
Q
Q
Q
Q
4
5
6
7
V
V
1
4
V
2
2
V
2
1
V
1
V
V
4
V
3
2
V
4
1
Q
8
9
V
V
2
V
V
5
V
2
3
V
5
5
4-эквивалентное разбиение есть: V1 = {Q1, Q3, Q8}, V2 = {Q2, Q4},
V
= {Q9}, V4 = {Q6}, V5 = {Q5, Q7}.
3
Из табл. 5.6 и 5.7 следует, что 5-эквивалентное разбиение совпадает с 4-эквивалентным. Это означает, что в классы эквивалентности
входят не k-эквивалентные состояния, а эквивалентные состояния и все
состояния одного класса ведут себя как одно состояние, которым его
и заменяют.
Граф переходов минимального автомата А
переходов автомата A
и его эквивалентному разбиению строят следу-
3
' по заданному графу
3
ющим образом:
1) заменяют обозначение каждого состояния, которое имеется в гра-
фе переходов A
на обозначение класса, к которому относится данное
3
состояние;
2) объединяют все одинаково обозначенные состояния (рассматривая дуги графа как «гибкие связи») и представляют объединенные
состояния одним состоянием, имеющим общее обозначение;
3) из каждой группы дуг, имеющих общее исходное и конечное состояния (все такие дуги обозначены одинаково), вычеркиваются все,
кроме одной. Полученный в результате граф будет графом минимального автомата А
Введем следующие обозначения для состояний автомата A
щих в один класс эквивалентных состояний Q
Q
= {Q9}, Qd = {Q6}, Qe = {Q5, Q7}.
c
'.
3
= {Q1, Q3, Q5}, Qb = {Q2, Q4},
a
, входя-
3
-62-

Qa Q
Q
Q
Q
(,1)
Эквивалентные состояния на рис. 5.4 объединены штриховой линией. Применяя описанную выше процедуру к графу A
му на рис. 5.4, получаем граф переходов минимального автомата А
показанный на рис. 5.5. Состояния Q
стояние Q
соединены двумя дугами, не выходящими за пределы кон-
b,
и Q4 (рис.5.4), объединенные в со-
2
, изображенно-
3
3
тура, образованного штриховой линией. Это означает, что при поступлении символа b или g состояние автомата Q
в графе переходов минимального автомата А
не изменяется, поэтому
b
’ (рис. 5.5) у состояния Qb
3
имеется петля (b,1)∨(g,1).
(,0)
(,0)
’,
(,1)(,0)
b
(,0)
(,0)
(,1)
(,1)
(,1)
(,1)
(,0)(,1)
c
(,0)
d
(,1)
Рис. 5.5. Граф минимального автомата А3'
e
-63-

Алгебра логики является теоретической основой проектирования
современных цифровых автоматов и базируется на символической логике, предложенной математиком Джорджем Булем. Существует множество формальных определений булевых алгебр [18, 19], зависящих от
различных подходов к выбранной системе аксиом.
Булева алгебра может быть определена как алгебраическая система, удовлетворяющая следующим аксиомам [20].
Булевой алгеброй является система, состоящая из множества
B = {a, b, c…} и двух типов операторов «+» и «·» (логическая сумма
и логическое произведение), для которых справедливы следующие пять
соотношений:
a + b = b + a, a · b = b · a, для любых a, b ∈ B (6.1)
(коммутативность);
a + (b · c) = (a + b) · (a + c), a · (b + c) = a · b + a · c,
для любых a, b, c ∈ B (6.2)
(дистрибутивность);
найдутся 1 ∈ B и 0 ∈ B такие, что
a + 0 = a, a · 1 = a для любого a ∈ B (6.3)
(единичные элементы);
найдется
a
∈ B такой, что
-64-

a + a = 1, a · a = 0 для любого a ∈ B (6.4)
(дополнение);
a + b + c + … = max(a, b, c, …);
a · b · c + … = min(a, b, c, …); (6.5)
с учетом того, что 1 > 0.
Одним из вариантов булевой алгебры может служить алгебраическая система, в которой множество B содержит всего два элемента
B = {0, 1}, которые одновременно являются единичными элементами.
При этом соотношение (6.4) можно трактовать как введение дополнительной (третьей) логической операции, которую называют «отрицание» или «инверсия». Именно такую, самую простую, алгебраическую
систему булевой алгебры и принято называть в научно-технической
литературе алгеброй логики, переключательной алгеброй, алгеб-
рой релейно-контактных схем.
Алгебра логики в качестве аргументов использует логические переменные. Логические переменные и функции от них могут быть либо
истинными (равными 1), либо ложными (равными 0). Логические переменные принято обозначать строчными латинскими буквами, а логические функции — прописными латинскими буквами.
В алгебре логики определены отношение эквивалентности (=) и три
логические операции [21]: дизъюнкция (называют также логическое
сложение, операция ИЛИ); конъюнкция (называют также логическое
умножение, операция И); отрицание (называют также инверсия, операция НЕ).
По аналогии с обычной алгеброй операцию ИЛИ обозначают в виде «+» или «∨» (знак дизъюнкции); операцию И обозначают «·», или «∧»,
или «&» (знак конъюнкции); операцию НЕ обозначают чертой над пе-
x
ременными или над значениями переменных, например,
«·», как и в обычной алгебре, чаще всего опускают (например, x · y = xy).
, 1, 0. Знак
1)x = x — рефлективность;
2) если x = y, то y = x — симметричность;
3) если x = y и y = z, то x = z — транзитивность.
-65-

1если,0
xx
(6.6)
.0если,1
1если,0
xx
xx
(6.6)
000
(6.7)
.0если,1
1если,0
xx
xx
(6.6)
.111
101
110
000
),max( babac
(6.7)
000
(6.8)
.0если,1
1если,0
xx
xx
(6.6)
.111
101
110
000
),max( babac
(6.7)
.111
001
010
000
),min( babac
(6.8)
.
1пр и,0
a
(6.9)
Из отношения эквивалентности следует принцип подстановки:
если x = y, то в любой формуле, содержащей x, можно подставить y и будет получена эквивалентная формула.
Аксиома (6.6) утверждает, что значения логических переменных
и функций могут принимать всего два взаимоисключающих значения.
Данную аксиому иногда называют «закон исключенного третьего». Следует помнить, что «1» и «0» — это не количественные характеристики,
а качественные. Однако принимается, что 1 > 0.
(6.6)
.0если,1
xx
),max( babac
Аксиома (6.7) определяет операцию дизъюнкции (логического сложения). Аксиома справедлива для любого числа слагаемых.
),min( babac
Аксиома (6.8) определяет операцию конъюнкции (логического умножения). Аксиома справедлива для любого числа сомножителей.
Аксиома (6.9) определяет операцию логического отрицания (инверсию).
В алгебре логики действует закон двойственности, который определяет соотношение между логической операцией ИЛИ, логической
операцией И и логической операцией НЕ. Суть этого закона такова:
если в уравнениях, задающих операцию ИЛИ, все переменные поме-
ac
-66-
a
110
(6.7)
101
.111
010
(6.8)
001
.111
(6.9)
0при,1

нять на инверсные (противоположные) значения и заменить знак ИЛИ
на знак И, то получим уравнения, задающие логическую операцию И.
И наоборот.
х + 0 = х; (6.10) х · 0 = 0; (6.15)
x + 1 = 1; (6.11) x · 1 = х; (6.16)
х + х = х; (6.12) х · х = х; (6.17)
х +
x
x
= х;
= 1;
(6.13)
(6.14)
х ·
x
x
= 0;
x
=
.
(6.18)
(6.19)
Теоремы (6.10–6.19) легко доказываются с помощью аксиом (6.6–6.9)
и метода подстановки возможных значений аргументов x.
1. Коммутативный закон (переместительный закон):
- относительно логического сложения:
x + y = y + x; (6.20)
- относительно логического умножения:
x · y = y · x. (6.21)
Данный закон гарантирует получение тождественного результата
при перестановке местами аргументов.
2. Ассоциативный закон (сочетательный закон):
- относительно логического сложения:
x + y + z = y + (x + z) = (y + x) + z; (6.22, а)
- относительно логического умножения:
x · y · z = y · (x · z) = (y · x) · z. (6.22, б)
Данный закон позволяет при помощи скобок изменять порядок
вычислений и гарантирует получение правильного результата, а также
утверждает, что вычисление логической функции большого количества
аргументов может быть сведено к последовательному ее вычислению
суперпозицией функций двух аргументов.
-67-

x + (y · z) = (x + y) · (x + z); (6.23 а)
x · (y + z) = (x · y) + (x · z). (6.23 б)
nn
xxxxxx
......
2121
; (6.24 а)
x · (y + z) = (x · y) + (x · z). (6.23 б)
nn
xxxxxx ......
2121
; (6.24 а)
nn
xxxxxx
......
2121
. (6.24 б)
3. Дистрибутивный закон (распределительный закон):
- относительно логического сложения:
x + (y · z) = (x + y) · (x + z); (6.23, а)
- относительно логического умножения:
x · (y + z) = (x · y) + (x · z). (6.23, б)
Данный закон устанавливает правила раскрытия скобок относительно операций логического сложения и умножения.
4. Законы (правила) де Моргана:
; (6.24, а)
. (6.24, б)
Законы де Моргана определяют правила перехода от логической
операции умножения к сложению (6.24, а) и наоборот (6.24, б).
Закон (6.24, а) утверждает, что отрицание конъюнкции есть дизъюнкция отрицаний.
Закон (6.24, б) утверждает, что отрицание дизъюнкции есть конъюнкция отрицаний.
Законы де Моргана называют также законами двойственности.
Как и в обычной алгебре, в алгебре логики определен порядок выполнения логических операций: первой выполняется операция инверсии, второй — конъюнкции, третьей — дизъюнкции.
Любая научно-техническая дисциплина использует специфическую терминологию, что позволяет лаконично и однозначно обмениваться информацией между специалистами соответствующего профиля.
Рассмотрим основные термины и понятия, наиболее широко используемые в алгебре логики.
Логическая (двоичная) переменная характеризует простое высказывание, которое содержит одну законченную мысль. Она обозначается буквой, например, х и может принимать значения 0 или 1.
-68-

Логическая функция — это сложное высказывание, состоящее из
нескольких простых, связанных между собой соединительными союзами. Она записывается аналитически в виде Y = f(x
ичная переменная, х
∈ { 0,1}; Y ∈ {0,1 }.
i
, x2, …, xn), где хi — дво-
1
Входной набор — это определенная комбинация значений двоичных переменных в логической функции. Максимальное число входных
n
наборов определяется выражением m = 2
, где n — число переменных.
Максимальное число логических функций n переменных определяется
m
выражением N = 2
= 22n.
Таблица истинности — представление логической функции в ви-
n
де таблицы. Таблица истинности содержит (n + k) столбцов и 2
строк,
где n — число логических переменных, а k — число логических функций
от n переменных.
В таблице истинности перечисляются (записываются) все возможные входные наборы логических переменных и указываются значения логических функций на каждом из входных наборов логических
переменных. Для того, чтобы правильно перечислить все возможные
входные наборы логических переменных, можно придерживаться следующего правила заполнения таблицы истинности: все логические переменные, определяющие логическую функцию, нумеруются (начиная
справа) целыми числами от 0 до n – 1. Каждой логической переменной
в таблице истинности, начиная сверху, присваивают чередующиеся
j
группы значений (начиная с 0) через 2
элементов в группе, где j — но-
мер логической переменной (рис. 6.1).
n-12n-2
2
x
x
n-1
n-2
a b … z p q
… … … … … …
j
2
1
2
2
2
x
x
j
x
2
0
2
x
1
0
y
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Рис. 6.1. Пример заполнения таблицы истинности
для одной логической функции n аргументов
-69-

1 1 0 1 1 1 … … … …
1(x1
, x2, x3, x4) = x1x2x3x4 есть элементарная
4321
xxxx
и f2(x1, x2, x3, x4) =
14321
xxxxx
не являются
4
есть элементарная
14321
xxxxx
не являются
Иными словами, для правильного заполнения таблицы истинности можно представить каждый входной набор значений логических переменных двоичным n-разрядным числом, и записать все возможные
двоичные числа в порядке возрастания их значений, начиная со значения, равного нулю.
В правый крайний столбец (столбцы) таблицы истинности записываются значения логической функции.
Полностью определенная функция — это логическая функция,
имеющая определенные значения 0 или 1 на всех входных наборах.
Частично определенная функция — это логическая функция,
значения которой определены не на всех входных наборах. На тех входных наборах, где функция не определена, проставляется прочерк (или
любой другой символ, отличный от 0 и 1).
Рабочие наборы — это входные наборы, для которых логическая
функция определена.
Безразличные наборы — это входные наборы, для которых логическая функция не определена. Частично определенную функцию,
в конечном счете, делают полностью определенной (доопределяют),
приписав безразличным наборам 0-е или 1-е значения функции. Простейший способ доопределения логической функции— произвольный
(случайный) выбор значений, равных 0 или 1.
В алгебре логики существуют понятия: элементарная конъюнкция/
дизъюнкция, конституента единицы/нуля, ранг элементарной конъюнкции/дизъюнкции, соседние элементарные конъюнкции/дизъюнкции.
Элементарные конъюнкция/дизъюнкция — это конъюнкция/
дизъюнкция входных переменных, имеющих или не имеющих отрицаний. Любой символ переменной в элементарной конъюнкции/дизъюнкции может встречаться один раз. Например, f
элементарная конъюнкция, а f
=
не являются элементарными конъюнкциями.
, x2, x3, x4) =
2(x1
, x2, x3, x4) = x1x2x3x4 есть
1(x1
и f2(x1, x2, x3, x4) =
Ранг элементарной конъюнкции/дизъюнкции — число входных переменных в элементарной конъюнкции/дизъюнкции. Так,
f
) = x1 — это элементарная конъюнкция первого ранга; f2(x1, х2, х3) =
1(x1
= x
— элементарная конъюнкция третьего ранга.
1х2x3
Конституента единицы (минтерм) — логическая функция от n
аргументов, которая принимает значение, равное единице, только на
одном наборе аргументов. На остальных наборах функция равна нулю.
Минтерм можно также определить как элементарную конъюнкцию
-70-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
