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

УП часть 1 теория авт

.pdf
Скачиваний:
25
Добавлен:
31.05.2015
Размер:
629.6 Кб
Скачать

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

Пусть автомат А задан графом переходов с r вершинами. Переставив обозначения вершин всеми r! возможными способами, получим множество, состоящее из r! изоморфных автоматов, которое называется семейством перестановок автомата А.

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

При всех таких рассмотрениях важную роль играет понятие эквивалентности. Говорят, что состояние Qi автомата A1 и состояние Qj, автомата А2 эквивалентны, если автомат A1, находящийся в состоянии Qi и автомат A2, находящийся в состоянии Оj под воздействием любой входной последовательности символов выдают одинаковые выходные последовательности символов. Если Qi, и Qj не эквивалентны, то говорят, что состояния различимы. Состояния Qi, и Qj могут относиться к одному и тому же автомату. Таким образом, состояния Qi, и Qj эквивалентны только тогда, когда, наблюдая выходные последовательности символов, нельзя отличить автомат A1 с начальным состоянием Qi, от автомата A2 с начальным состоянием Qj. Состояния Qi, и Qj различимы, если имеется хотя бы одна

59

входная последовательность символов, которая дает на выходах автоматов различные последовательности символов. Во всех случаях предполагается, что автоматы A1 и A2 имеют одинаковые входные и выходные алфавиты, но могут иметь различное число состояний. Имеются способы выявления эквивалентности и различимости двух состоянии автоматов для разных форм их задания.

Понятие эквивалентности можно распространить на весь автомат с помощью следующих определений. Автомат A1 и автомат A2 эквивалентны, если каждому состоянию Qi автомата A1 соответствует по крайней мере одно эквивалентное ему состояние в автомате A2 и если каждому состоянию Qj автомата A2 соответствует, по крайней мере одно эквивалентное ему состояние в автомате A1. Если автоматы A1 и A2 эквивалентны, то они не различимы. Автоматы A1 и A2 являются различимыми тогда, когда имеется, по крайней мере, одно состояние в A1, которое не является эквивалентным никакому состоянию в A2,

иесли имеется, по крайней мере, одно состояние в A2 которое не является эквивалентным никакому состоянию в A1. Таким образом, автоматы A1 и A2, для которых в качестве начальных состояний взяты эквивалентные состояния Qi, и Qj, являются эквивалентными только тогда, когда, наблюдая последовательности символов на их выходах, образующихся под воздействием любой входной последовательности символов, нельзя от-

личить автомат А1 от автомата А2. Эквивалентность инициальных автоматов означает, что они осуществляют одинаковую переработку входного алфавита в выходной, а эквивалентность не инициальных — что этого всегда можно добиться путем подходящей настройки (нахождения эквивалентных состояний).

Для всякого автомата Мили существует эквивалентный ему автомат Мура (это справедливо как для инициальных, так

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

60

Пусть даны автоматы A1 с Q={Q11, Q12, Q13} и A2 с Q={Q21, Q22} (рис. 5.2.), имеющие одинаковые входные алфавиты x={а,

b} и выходные алфавиты y={0, 1}. Эквивалентные состояния могут существовать в одном автомате. Действительно, для автомата А1 состояния Q12 и Q13 эквивалентны, так как для каждого из них поступление символа a приводит к переходу в одно и то же состояние Q11 и выдаче выходного символа 1 и следовательно, далее любая последовательность входных символов не позволит различить состояния Q12 и Q13 автомата A1. Если начало последовательности входных символов будет состоять из любого числа символов b, после которых следует символ а, то можно убедиться, что и в этом случае по выходным последовательностям автомата состояния Q12 и Q13 не различимы. Автоматы A1 и A2, графы переходов которых приведены на рис. 5.2., эквивалентны, так как, проведя аналогичные рассуждения, можно увидеть, что состояние Q11 эквивалентно состоянию Q21, состояние Q12 — состоянию Q22 и состояние Q13 — состоянию Q22. Следовательно, автоматы A1 и A2 эквивалентны.

(a,0)

A1

 

 

A2

 

 

 

 

 

 

Q11

(a,1)

Q12

 

 

 

 

(b,1)

 

(a,0)

 

(b,1)

 

(b,1)

(b,1)

(b,1)

 

Q21

 

(a,1)

 

 

Q22

 

 

(a,1)

а)

Q13

 

б)

 

 

 

 

Рис. 5.2 Пример эквивалентных автоматов А1 и А2

При создании автоматов входной и выходной алфавиты, как правило, заданы, в то время как на множество Q внутренних состояния обычно никаких условий не накладывается. Требуемое преобразование входной последовательности символов в выходную может быть осуществлено автоматами с

61

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

Для дальнейшего обсуждения проблемы минимизации автомата введем понятие k-эквивалентности. Состояние Qi автомата A1 и состояние Qj - автомата A2 называются k- эквивалентными, если при приложении к А1/Qi, и к А2/Qj входной последовательности длины k они вырабатывают одинаковые выходные последовательности. Обозначение A/Q принято для краткой записи высказывания «автомат А в состоянии Q». Если Qi и Qj не являются k-эквивалентными, то они называются k-различимыми. Обозначения А1 и A2 могут относиться к одному и тому же автомату. Для 1-различимых состояния принято называть явно различимыми. Если два состояния являются k-эквивалентными, то они являются и l-эквивалентными для каждого l ≤ k. Если два состояния являются k-различимыми, то они являются и l-различимыми для каждого l ≥ k. Если состояния Qi и Qj эквивалентны для любого конечного k, то они эквивалентны. Состояние, в которое переходит автомат из состояния Qi, при подаче входной последовательности длины k, называется k-м преемником Qi по отношению к этой последовательности. Если состояния Qi и Qj являются эквивалентными, то их k-е преемники по отношению к любой входной последовательности длины k и для любого k являются эквивалентными. Входным последовательностям, поданным на A1/Qi и A2/Qj, можно сопоставить два пути, начинающиеся состояниями Qi и Qj на графах переходов (рис. 5.3.) автоматов A1 и A2 соответственно. Приведенное выше утверждение означает, что если два начальных состояния на этих путях эквивалентны, то каждые два соответствующих состояния на этих путях (т. е. состояния, в которые переходят автоматы из начальных

62

состояний после прохождения одного и того же числа дуг) являются также эквивалентными.

A1

Qi Qi1 Qi2 Qik

Э к в и в а л е н т ы

Qj Qj1 Qj2 Qjk

A2

Рис. 5.3 К - эквивалентные автоматы

Построение минимального автомата А' осуществляется в два этапа. Вначале проводится разбиение множества состояний автомата на классы эквивалентных состояний, а затем на этой основе строится минимальный автомат. Разбиение состояний автомата на классы эквивалентных состояний ведется по следующим правилам: 1) все состояния, принадлежащие к одному классу, должны быть k-эквивалентными; 2) все состояния, принадлежащие к разным классам, должны быть k-

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

Рассмотрим метод Хаффмена на примере. Пусть в результате первого этапа синтеза автомата A3 был получен граф переходов, изображенный на рис. 5.4. Для автомата A3 входной алфавит x={α, β, γ}, выходной алфавит y={1, 0} и множество состояний Q={Q1, Q2, .…, Q9}. По графу переходов построены таблицы переходов (таблица 5.1.) и выходов (таблица 5.2.). Если двум состояниям автомата соответствуют различные значе-

63

ния столбцов в таблице выходов (табл.5.2), то эти состояния не

(α,1)v(β,0)

 

Q2

 

(β,1) v (γ,1)

 

 

 

 

 

 

 

(α,0)

 

 

 

(β,1) v (γ,1)

 

Q1

(β,0) v

 

 

 

 

 

 

Qb

 

 

 

 

 

(α,1)

 

 

 

 

 

 

 

 

 

 

Qa

(α,0)

Q4

 

(β,0)

 

 

 

 

Q3

 

 

(α,1) v (β,0)

(γ,0)

 

 

 

 

 

(γ,0)

 

 

 

 

 

 

Q8

 

(γ,0)

Q7

 

 

 

 

 

 

 

(γ,0)

(β,0)

(α,0)

 

(α,1)

 

 

(γ,0)

 

Q6

 

 

 

 

 

 

(β,1)

Q9

(α,0) v (γ,1)

 

 

 

 

 

 

 

 

 

 

 

 

(α,1)

(γ,1)

(β,1)

 

Qe

 

 

 

 

 

Q5

 

 

 

 

 

 

.

Рис. 5.4 Граф минимизируемого автомата А3

64

эквивалентны, так как при подаче одного из входных символов выходные символы различаются. В то же время множество состояний можно разбить на классы 1-эквивалентных состояний так, что в один и тот же класс Vn попадут те состояния, которым соответствуют одинаковые значения столбцов в таблице выходов (табл.5.2). Классами 1-эквивалентных состояний бу-

дут V1={Q1, Q3, Q5, Q7, Q8} и V2={Q2, Q4, Q6, Q9}.

Таблица 5.1

Xi

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

 

α

Q2

Q1

Q2

Q3

Q6

Q8

Q6

Q4

Q7

 

β

Q2

Q4

Q2

Q2

Q4

Q9

Q2

Q4

Q3

 

γ

Q5

Q4

Q5

Q2

Q2

Q6

Q8

Q7

Q7

 

 

 

 

 

 

 

 

 

Таблица 5.2.

Xi

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

 

α

1

0

1

0

1

0

1

1

0

 

β

0

1

0

1

0

1

0

0

1

 

γ

0

1

0

1

0

1

0

0

1

 

Все состояния, входящие, например, в класс V2, есть состояния 1-эквивалентные, но это не значит, что Q2 и Q4 не является в то же время, например, 3-эквивалентными. Для эквивалентности внутренних состояний автомата не достаточно их эквивалентности для некоторого конкретного значения k, требуется эквивалентность при любом k, т. е. нужно, чтобы при любом другом возможном переходе, при начальной установке автомата в эквивалентные состояния, отображения (преобразования) любого входного символа в выходной совпадали. Для проверки этого условия следующий шаг делаем из первых пре-

емников и выясняем, будут ли состояния,

ранее входившие

65

 

в один класс эквивалентных состояний, 2-эквивалентными, т. е. остаются ли множества состояний в своих классах эквивалентных состояний.

Построим таблицу переходов (табл. 5.3), строкам и столбцам которой соответствуют значения Xj, и Qi. На пересечении j-й строки к i-го столбца таблицы ставим обозначение класса 1-эквивалентных состояний, содержащего состояние, в которое переходит автомат из состояния Qi под действием символа Xj. Так, например, в таблице 5.3 на пересечении стро-

ки а и столбца Q2 стоит класс V2, так

как в соответствии с

табл.5.1 автомат из состояния Q2 при входном символе а пере-

ходит

в состояние Q1,

которое

 

входят в класс V1

1-эквивалентных состояний.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.3

 

 

 

 

 

 

 

 

 

 

 

 

 

Xi

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

 

Q6

Q7

Q8

Q9

 

α

V2

V1

V2

V1

V2

 

V1

V2

V2

V1

 

β

V2

V2

V2

V2

V2

 

V2

V2

V2

V2

 

γ

V1

V2

V1

V2

V1

 

V2

V1

V1

V1

Если элементам класса Vi будут соответствовать различные значения столбцов табл. 5.3, то этот класс не является классом 2-эквивалентных состояний. В этом случае каждый класс Vi разбивается на два новых, причем в каждый из них входят все состояния из класса Vi, с одинаковыми значениями столбцов. Анализ табл. 5.3. показывает, что класс V1 является 2-эквивалентным, потому что все состояния Q1, Q3, Q5, Q7, Q8 в таблице имеют одинаковые значения столбцов. Это означает, что состояния, входящие в класс V1, являются не только 1- эквивалентными, но и 2-эквивалентными состояниями. Класс V2 должен быть разбит на два, один из которых, являющийся классом 2-эквивалентных состояний, будет содержать состояния Q2, Q4, Q6, а другой — только Q9, не имеющее 2- эквивалентного состояния. В этом можно убедиться

66

(табл. 5.4), рассмотрев с помощью графа переходов автомата A3 (см. рис. 5.4) выходные последовательности, образующиеся при воздействии на него всех возможных входных последовательностей длины два (Xj1, Xj2; j =1,2,3), если исходными являются состояния Q2, Q4, Q6, Q9. После второго шага имеем 2- эквивалентное разбиение, состоящее из трех классов эквива-

лентных состояний: V1={Q1, Q3, Q5, Q7, Q8}, V2={Q2, Q4, Q6}, V3={Q9}.

Таблица 5.4

Qi

 

 

 

 

Xj1-Xj2

 

 

 

 

 

αα

αβ

αγ

βα

 

ββ

 

βγ

γα

γβ

γγ

Q2

01

00

00

10

 

11

 

11

10

11

11

Q4

01

00

00

10

 

11

 

11

10

11

11

Q6

01

00

00

10

 

11

 

11

10

11

11

Q9

01

00

00

10

 

11

 

11

10

10

10

После получения классов V1, V2, V3 снова строим таблицу переходов и так далее до тех пор, пока каждый класс в эквивалентном разбиении останется неизменным. Этот процесс иллюстрируется табл. 5.5 —5.7, из которых следует, что для 3- эквивалентного разбиения имеем: V1={Q1, Q3, Q5, Q7,Q8}, V2={Q2, Q4}, V3={Q9}, V4={Q6};

Таблица 5.5

Xj

 

 

 

 

Qi

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

α

V2

V1

V2

V1

V2

V1

V2

V2

V1

β

V2

V2

V2

V2

V2

V3

V2

V2

V3

γ

V1

V2

V1

V2

V1

V2

V1

V1

V1

 

 

 

 

67

 

 

 

 

 

Таблица 5.6

Xj

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

 

α

V2

V1

V2

V1

V4

V1

V4

V2

V1

 

β

V2

V2

V2

V2

V2

V3

V2

V2

V3

 

γ

V1

V2

V1

V2

V1

V4

V1

V1

V1

 

 

 

 

 

 

 

 

 

Таблица 5.7

 

 

 

 

 

 

 

 

 

 

 

Xj

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

 

α

V2

V1

V2

V1

V4

V1

V4

V2

V5

 

β

V2

V2

V2

V2

V2

V3

V2

V2

V3

 

γ

V5

V2

V5

V2

V1

V4

V1

V5

V5

 

4-эквивалентное разбиение есть: V1={Q1, Q3, Q8}, V2={Q2, Q4}, V3={Q9}, V4={Q6}, V5={Q5, Q7}.

Из табл. 5.6 и 5.7 следует, что 5-эквивалентное разбиение совпадает с 4-эквивалентным. Это означает, что в классы эквивалентности входят не k-эквивалентные состояния, а эквивалентные состояния и все состояния одного класса ведут себя как одно состояние, которым его и заменяют.

Граф переходов минимального автомата A3’ по заданному графу переходов автомата A3 и его эквивалентному разбиению строят следующим образом: 1) заменяют обозначение каждого состояния, которое имеется в графе переходов A3 на обозначение класса, к которому относится данное состояние: 2) объединяют все одинаково обозначенные состояния (рассматривая дуги графа как «гибкие связи») и представляют объединенные состояния одним состоянием, имеющим общее обозначение; 3) из каждой группы дуг, имеющих общее исходное и конечное состояния (все такие дуги обозначены одинаково), вычеркиваются все, кроме одной. Полученный в результате граф будет графом минимального автомата А3'.

68

Введем следующие обозначения для состояний автомата A3, входящих в один класс эквивалентных состояний :

Qa={Q1, Q3, Q5}, Qb={Q2, Q4}, Qc={Q9}, Qd={Q6}, Qe={Q5, Q7};

Эквивалентные состояния на рис. 5.4. бъединены штриховой линией. Применяя описанную выше процедуру к графу A3, изображенному на рис. 5.4, получаем граф переходов минимального автомата A'3, показанный на рис. 5.5. Состояния Q2 и Q4 (см. рис. 5.4), объединенные в состояние Qb, соединены двумя дугами, не выходящими за пределы контура, образованного штриховой линией. Это означает, что при поступлении символа β или γ состояние автомата Qb не изменяется, поэтому в графе переходов минимального автомата A'3 (см. рис. 5.5.) у состояния Qb имеется петля (β, 1)v(γ, 1).

(γ,0)

 

 

(γ,0)

 

 

Qa

(α,1)v(β,0) Qb

(β,0)

Qe

 

(α,0)

 

 

 

 

 

(β,1)v(γ,1)

(α,1)

 

 

(α,0)

 

(α,0)v(γ,1)

 

Qd

(β,1)

Qc

 

 

(γ,1)

 

 

 

 

 

(β,1)

 

 

 

 

Рис. 5.5 Граф минимального автомата А3'

69

Глава 6. Математические основы алгебры логики

6.1 Формальное определение алгебры логики

Алгебра логики является теоретической основой проектирования современных цифровых автоматов и базируется на символической логике, предложенной математиком Джорджем Булем. Существует множество формальных определений булевых алгебр [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, такой, что

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.

 

 

 

 

70

Одним из вариантов булевой алгебры может служить алгебраическая система, в которой множество B содержит всего два элемента B = 1,0 , и которые одновременно являются единичными элементами. При этом, соотношение (6.4) можно трактовать как введение дополнительной (третьей) логической операцией, которую называют "отрицание" или "инверсия". Именно такую, самую простую, алгебраическую систему булевой алгебры и принято называть в научно-технической литературе алгеброй логики, переключательной алгеброй, алгеброй релейно - контактных схем.

6.2 Аксиомы, теоремы и законы алгебры логики

Алгебра логики в качестве аргументов использует логические переменные. Логические переменные и функции от них могут быть либо истинными (равными 1), либо ложными (равными 0). Логические переменные принято обозначать строчными латинскими буквами, а логические функции - прописными латинскими буквами.

В алгебре логики определены отношение эквивалентности ( = ) и три логические операции [21]: дизъюнкция (называют также логическое сложение, операция ИЛИ); конъюнкция (называют также логическое умножение, операция И); отрицание (называют также инверсия, операция НЕ).

По аналогии с обычной алгеброй операцию ИЛИ обозначают в виде + или (знак дизъюнкции); операцию И обозначают *, или , или & (знак конъюнкции); операцию НЕ обозначают чертой над переменными или над значениями переменных, например, x , 1, 0. Знак *, как и в обычной алгебре, чаще всего опускают (например, x * y = xy).

Отношение эквивалентности удовлетворяет следующим свойствам: x = x – рефлективность; если x = y, то y = x – симметричность; если x = y и y = z, то x = z – транзитивность. Из отношения эквивалентности следует принцип подстановки: если x = y, то в любой формуле, содержащей x, можно подставить y и будет получена эквивалентная формула.

6.2.1 Аксиомы алгебры логики

 

.

 

x=0, если x¹1

 

x=1, если x¹0

(6.6)

Аксиома (6.6) утверждает, что значения логических переменных и функций могут принимать всего два взаимоисключающих значения. Данную аксиому иногда называют " закон исключенного третьего". Следует помнить, что "1" и "0" - это не количественные характеристики, а качественные. Одна-

ко принимается, что 1 0.

 

0 + 0 = 0

 

c = a + b = max (a, b) =

0 + 1 = 1

(6.7)

1 + 0 = 1

 

 

 

1 + 1 = 1

 

Аксиома (6.7) определяет операцию дизъюнкции (логического сложения). Аксиома справедлива для любого числа слагаемых.

 

0 * 0 = 0

 

c = a * b = min (a, b) =

0 * 1 = 0

(6.8)

1 * 0 = 0

 

 

 

1 * 1 = 1

 

Аксиома (6.8) определяет операцию конъюнкции (логического умножения). Аксиома справедлива для любого числа сомножителей.

c = a =

0 при a = 1;

(6.9)

1 при a = 0;

 

 

71

72

Аксиома (6.9) определяет операцию логического отрицания (инверсию).

В алгебре логики действует закон двойственности, который определяет соотношение между логической операцией «или», логической операцией «и» и логической операцией «не». Суть этого закона такова: если в уравнениях, задающих операцию «или», все переменные поменять на инверсные (противоположные) значения и заменить знак «или» на знак «и», то получим уравнения, задающие логическую операцию «и». И наоборот.

6.2.2 Теоремы алгебры логики

x + 0 = x

 

(6.10)

x * 0 = 0

(6.16)

x + 1 = 1

(6.11)

x * 1 = x

(6.17)

x + x =

x

(6.12)

x * x =

x

(6.18)

 

 

=

1

(6.13)

x * x =

0

(6.19)

x + x

 

 

 

= x

(6.14)

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

x

= x

(6.20)

Теоремы (6.10 - 6.20) легко доказываются с помощью аксиом (6.7 - 6.9) и метода подстановки возможных значений аргументов x.

6.2.3 Законы алгебры логики

Коммутативный закон (переместительный закон): относительно логического сложения

x + y = y + x,

(6.21 а)

73

относительно логического умножения

x * y = y * x .

(6.21 б)

Данный закон гарантирует получение тождественного результата при перестановке местами аргументов.

Ассоциативный закон (сочетательный закон): относительно логического сложения

x + y + z = y + (x + z) = (y + x) + z,

(6.22 а)

относительно логического умножения

x * y * z = y * (x * z) = (y * x) * z.

(6.22 б)

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

Дистрибутивный закон (распределительный закон): относительно логического сложения

x + (y * z) = (x + y) *( x + z),

(6.23 а)

относительно логического умножения

x *(y + z) = (x * y) + ( x * z). (6.23 б)

Данный закон устанавливает правила раскрытия скобок относительно операций логического сложения и умножения.

Законы (правила) де Моргана:

 

_______

 

x1x2…xn =`x1+`x2+…+`xn,

(6.24 а)

74

 

_________

 

x1+x2+…xn =`x1 `x2…`xn.

(6.24 б)

Законы де Моргана определяют правила перехода от логической операции умножения к сложению (6.24 а) и наобо-

рот (6.24 б).

Закон (6.24 а) утверждает, что отрицание конъюнкции, есть дизъюнкция отрицаний.

Закон (6.24 б) утверждает, что отрицание дизъюнкции, есть конъюнкция отрицаний.

Законы де Моргана называют также законами двойственности.

Как и в обычной алгебре в алгебре логики определен порядок выполнения логических операций: первой выполняется операция инверсии; второй - конъюнкции; третьей - дизъюнкции.

6.3 Основные понятия и определения

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

Рассмотрим основные термины и понятия, наиболее широко используемые в алгебре логике.

Логическая (двоичная) переменная характеризует простое высказывание, которое содержит одну законченную мысль. Она обозначается буквой, например, х и может принимать значения 0 или 1.

Логическая функция это сложное высказывание, состоящее из нескольких простых, связанных между собой соединительными союзами. Она записывается аналитически в виде Y = f(x1,x2, ..., xn), где хiдвоичная переменная,

хi { 0,1};Y {0,1 }.

75

Входной набор это определенная комбинация значений двоичных переменных в логической функции. Максимальное число входных наборов определяется выражением m = 2n, где n число переменных. Максимальное число логических функций n переменных определяется выраже-

нием N = 2 m = 22ⁿ.

Таблица истинности представление логической функции в виде таблицы. Таблица истинности содержит (n + k) столбцов и 2n строк, где n число логических переменных, а k - число логических функций от n переменных.

В таблице истинности перечисляются (записываются) все возможные входные наборы логических переменных и указываются значения логических функций на каждом из входных наборов логических переменных. Для того, чтобы правильно перечислить все возможные входные наборы логических переменных, можно придерживаться следующего правила заполнения таблицы истинности: все логические переменные, определяющие логическую функцию, номеруются (начиная справа) целыми числами от 0 до n-1. Каждой логической переменной в таблице истинности, начиная сверху, присваивают чередующиеся группы значений (начиная с 0) через 2j элементов в группе, где j - номер логической переменной (см.рис.6.1).

2n-1

2n-2

22 21 20

 

Xn-1

Xn-2

…...

X0

y

a

b

…...

q

 

 

 

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 аргументов

76

Иными словами, для правильного заполнения таблицы истинности можно представить каждый входной набор значений логических переменных двоичным n-разрядным числом, и записать все возможные двоичные числа в порядке возрастания их значений, начиная со значения, равного нулю.

Вправый крайний столбец (столбцы) таблицы истинности записываются значения логической функции.

Полностью определенная функция это логическая функция, имеющая определенные значения 0 или 1 на всех входных наборах.

Частично определенная функция – это логическая функция, значения которой определены не на всех входных наборах. На тех входных наборах, где функция не определена, проставляется прочерк (или любой другой символ, отличный от 0 и 1).

Рабочие наборы это входные наборы, для которых логическая функция полностью определена.

Безразличные наборы - это входные наборы, для которых логическая функция не определена. Частично определенную функцию, в конечном счете, делают полностью определенной (доопределяют), приписав безразличным наборам 0-е или 1-е значения функции. Простейший способ доопределения логической функции - произвольный (случайный) выбор значений, равных 0 или 1.

Валгебре логики существуют понятия: элементарная конъюнкция/дизъюнкция, конституента единицы/нуля, ранг элементарной конъюнкции/дизъюнкции, соседние элементарные конъюнкции/дизъюнкции.

Элементарные конъюнкция/дизъюнкция-это конъюнк-

ция/дизъюнкция входных переменных, имеющих или не имеющих отрицаний. Любой символ переменной в элементарной конъюнкции/дизъюнкции может встречаться один раз. Например, f1 (x1, x2, x3, x4)= x1x2x3x4 есть элементарная конъюнк-

ция, а f2(x1, x2 , x3 , x4)= x1x2 x3x4x1 и f2 (x1, x2 , x3, x4)= x1x2x3x4 не

являются элементарной конъюнкцией.

Ранг элементарной конъюнкции/дизъюнкции - число входных переменных в элементарной конъюнкции/дизъюнкции. Так, f1 (x1)= x1- это элементарная конъюнкция первого ранга; f2(x1, х2 , х3)= x1х2x3 элементарная конъюнкция третьего ранга.

Конституента единицы (минтерм) - логическая функ-

ция от n аргументов, которая принимает значение, равное единице, только на одном наборе аргументов. На остальных наборах функция равна нулю. Минтерм можно также определить как элементарную конъюнкцию максимального ранга, на которой значение логической функции равно 1. Логическая сумма всех минтермов равна 1.

Конституента нуля (макстерм) - логическая функция от n аргументов, которая принимает значение, равное нулю, только на одном наборе аргументов. На остальных наборах функция равна единице. Макстерм можно также определить как элементарную дизъюнкцию максимального ранга, на которой значение логической функции равно 0. Логическое произведение всех макстермов равно 0.

Соседние элементарные конъюнкции /дизъюнкции

две элементарные конъюнкции /дизъюнкции одного и того же ранга, если они являются функциями одних и тех же переменных и отличаются только знаком отрицания (инверсии) одной из переменных. Например, конъюнкции х1х2х3x4 и х1 х2 х3 x4 являются соседними, так как они - функции одних и тех же переменных и отличаются знаком инверсии только одной перемен-

ной х1.

На основе законов алгебры логики могут быть сформулированы правила преобразования логических выражений .

Правило склеивания для соседних элементарных конъ-

юнкций: логическую сумму двух соседних элементарных конъюнкции некоторого ранга r можно заменить одной элементарной конъюнкцией ранга r-1, являющейся общей частью исходных слагаемых. Это правило является следствием распределительного закона. Например,

77

78