Лабораторная работа №2 / Лабо2
.docCАНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (ЛЭТИ)
ЛАБОРАТОРНАЯ РАБОТА №2
«Карты Карно»
Выполнили:
студенты группы 3373
Морозов Всеволод,
Нефедов Дмитрий
Проверил:
Фохми Ш.С.
Санкт-Петербург
2005 г.
Рассмотрим булеву функцию четырех переменных, заданную таблицей истинности следующего вида:
x1 |
x2 |
x3 |
x4 |
f(x1,x2,x3,x4) |
0 |
0 |
0 |
0 |
f(0,0,0,0) |
0 |
0 |
0 |
1 |
f(0,0,0,1) |
0 |
0 |
1 |
0 |
f(0,0,1,0) |
0 |
0 |
1 |
1 |
f(0,0,1,1) |
0 |
1 |
0 |
0 |
f(0,1,0,0) |
0 |
1 |
0 |
1 |
f(0,1,0,1) |
0 |
1 |
1 |
0 |
f(0,1,1,0) |
0 |
1 |
1 |
1 |
f(0,1,1,1) |
1 |
0 |
0 |
0 |
f(1,0,0,0) |
1 |
0 |
0 |
1 |
f(1,0,0,1) |
1 |
0 |
1 |
0 |
f(1,0,1,0) |
1 |
0 |
1 |
1 |
f(1,0,1,1) |
1 |
1 |
0 |
0 |
f(1,1,0,0) |
1 |
1 |
0 |
1 |
f(1,1,0,1) |
1 |
1 |
1 |
0 |
f(1,1,1,0) |
1 |
1 |
1 |
1 |
f(1,1,1,1) |
Исходной таблице истинности может соответствовать много различных преобразованных таблиц. Преобразуем таблицу истинности следующим образом:
Преобразовав таблицу истинности булевой функции таки образом, мы получили карту Карно. Проделанные действия совершаются для минимизации исходной функции.
Данная двумерная табличная форма представления булевой функции позволяет в графической форме легко отыскать минимальную ДНФ. Каждой клетке таблицы сопоставляется терм исходной минимизируемой функции, причем так, что любым осям симметрии таблицы соответствуют зоны, взаимно инверсные какой-либо переменной.
Для минимизации покроем таблицу минимальным числом максимальных квадратов (или прямоугольников) со сторонами, равными степени двойки так, чтобы они обязательно покрыли все единицы и не покрыли ни одного нуля. Это позволит нам получить минимальную ДНФ исходной булевой функции.
Для примера рассмотрим функцию, заданную следующей таблицей истинности:
x1 |
x2 |
x3 |
x4 |
f(x1,x2,x3,x4) |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
СДНФ данной булевой функции будет иметь вид:
(~x1)(~x2)(~x3)(~x4) + (~x1)(~x2)x3(~x4)+ … + x1x2x3x4
Построим карту Карно:
Покроем таблицу прямоугольниками:
В итоге получим минимизированную функцию (ДНФ) следующего вида:
x1x2(~x4) + x2x3x4 + (~x1)x2(~x3) + (~x1)(~x2)(~x4) + x1(~x2)(~x3)x4