Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ_вечерники / Задачи / Практика 3_Основны алгебры логики_испр.doc
Скачиваний:
72
Добавлен:
28.03.2015
Размер:
945.15 Кб
Скачать

3.1.1. Каноническая сумма минтермов

По таблице истинности также можно составить булево выражение. Одна из его форм − получение канонической суммы минтермов или стандартной суммы произведений.

Совершенная дизъюнктивная нормальная форма (СДНФ) представления булевого выражения − запись функции Y в виде дизъюнкции конъюнкций (стандартной суммы произведений), для которых значение функции равно 1.

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

Алгоритм перехода от таблицы истинности к записи выражения в СДНФ (канонической суммы минтермов) заключается в следующем:

1. Составить минтермы для строк таблицы истинности, на которых функция Y равна 1. Если значение переменной (X1, X2…) в строке равно 0, то в минтерме записывается отрицание этой переменной.

2. Записать дизъюнкцию составленных минтермов, которая и будет представлять булево выражение в СДНФ.

Это правило называют правилом записи переключательной функции по единицам.

Пример 3 Составим булево выражение для следующей таблицы истинности

X1

X2

X3

Y

Минтермы для Y=1

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

f(X1, X2, X3)= +++

Алгебра логики содержит ряд следующих теорем:

а)

b)

Закон

1

2

X+0=X

X∙1=X

3

X+1=1

X∙0=0

4

X+X=X

XX=X

идемпотентности

5

X+=1

X=0

6

=X

двойного отрицания

7

X+Y=Y+X

X∙Y=Y∙X

коммутативности (переместительный)

8

X+X∙Y=X

X∙(X+Y)=X

поглощения

9

X+Y=X+Y

X∙(+Y)=X∙Y

10

двойственности (де Моргана)

11

(X+Y)+Z=

=X+(Y+Z)=

X+Y+Z

(X∙Y)∙Z=

=X∙(Y∙Z)=

=X∙Y∙Z

ассоциативности (сочетательный)

12

X+Y∙Z=

=(X+Y)∙(X+Z)

X∙(Y+Z)=

=X∙Y+X∙Z

дистрибутивности (распределительный)

13

X∙Y+Y=Y

(X+Y)∙(+Y)=X

склеивания

Все перечисленные теоремы можно доказать методом совершенной индукции, то есть перебором всех возможных значений.

Пример 4 Упростим булево выражение

3.1.2. Каноническое произведение макстермов

Получить булево выражение по таблице истинности можно через произведение макстермов.

Один из вариантов алгоритма перехода от таблицы истинности к записи выражения через произведение макстермов заключается в следующем:

1. Составить минтермы для строк таблицы истинности, на которых функция Y равна 0. Если значение переменной (X1, X2…) в строке равно 0, то в минтерме записывается отрицание этой переменной.

2. Записать дизъюнкцию составленных минтермов, которая будет представлять булево выражение для .

3. Найдем инверсию полученного выражения, применив правило де Моргана. Полученное выражение − произведение макстермов.

Пример 5 Составим булево выражение для следующей таблицы истинности

X1

X2

X3

Y

Минтермы для Y=0

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

0

Получаем булево выражение для нулевых значений выходного параметра:

Каждая сумма включает каждую переменную только один раз в прямом или инверсном виде и носит название макстерма.

Совершенная конъюнктивная нормальная форма (СКНФ) представления булевого выражения − запись функции Y в виде конъюнкции дизъюнкций (стандартного произведения сумм), для которых значение функции равно 0.

Алгоритм перехода от таблицы истинности к записи выражения в СКНФ (второй вариант определения канонического произведения макстермов) заключается в следующем:

1. Составить макстермы для строк таблицы истинности, на которых функция Y равна 0. Если значение переменной (X1, X2…) в строке равно 1, то в макстерме записывается отрицание этой переменной.

2. Записать конъюнкцию составленных макстермов, которая и будет представлять булево выражение в СКНФ.

Это правило называют правилом записи переключательной функции по нулям.

Пример 6 Составим булево выражение для таблицы истинности примера 3

X1

X2

X3

Y

Макстермы для Y=0

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

f(X1, X2, X3)= ()∙()∙()∙()