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

UML_4822 дм практикум

.pdf
Скачиваний:
276
Добавлен:
01.06.2015
Размер:
2.81 Mб
Скачать

результате получим x y z x y . Дополним член конъюнкции, не

содержащий переменной z, конъюнкцией zz и применим закон дистрибу-

тивности дизъюнкции относительно конъюнкции:

x y z x y zz x y z x y z x y z .

Из одинаковых членов полученной конъюнкции оставим один, удалив остальные: x y z x y z .

Задача 210. Приведите следующие формулы к ДНФ, а затем и к СДНФ с помощью равносильных преобразований:

1) x y x y ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

x y xy ;

3)

xyz xy ;

4)

x y z

5) x y z x y z ;

6) x z xy ;

7) x y y z & x y z ;

8) x y &

 

;

 

 

 

 

 

xz

 

x y z x y z x y z ;

 

 

 

 

xyz & x

 

 

 

;

9)

10)

 

xy

xy y

 

 

& z x y z ;

 

 

 

x &

 

 

 

 

 

 

 

 

 

 

 

x

 

.

11)

x y

12)

x & y

xy

Задача 211. Приведите следующие формулы к КНФ, а затем и к СКНФ с помощью равносильных преобразований:

1)

x xy ;

2) xy xy ;

3)

xyz x y z ;

4) x y x ;

5)

xyz x y ;

6) x y &

 

;

 

 

 

 

 

xz

7)

x y y z & x y z ;

8) xyz xyz xyz xyz ;

 

 

 

 

 

 

 

 

 

 

 

 

 

xyz & x

 

 

 

;

 

xz

 

 

9)

x y

x xyz

;

10)

 

xy

xy y

 

 

& z x y z ;

 

 

 

x &

 

 

 

 

 

 

 

 

 

 

x

 

.

11)

x y

12)

x & y

xy

Задача 212. Приведите к СДНФ и СКНФ функции:

1)x1x3x4 | x1x3 | x3x4 ;

2)x1x2 x3 x4 ;

3)x1 x2 x3 x4 x1x2 x4 ;

4)x1 x2 x3 x4 .

91

3.4. Составление СКНФ и СДНФ по заданным таблицам истинности

Пусть дана таблица истинности некоторой формулы f, содержащей переменные x, y, z.

Таблица 3.11 Таблица истинности формулы f

х

y

z

f

И

И

И

И

И

И

Л

Л

И

Л

И

Л

И

Л

Л

И

Л

И

И

Л

Л

И

Л

Л

Л

Л

И

Л

Л

Л

Л

И

Для составления СДНФ необходимо:

1) выделить строки, соответствующие значениям И искомой форму-

лы;

2) составить для каждой из выделенных строк конъюнкции переменных или их отрицаний так, чтобы наборам значений переменных, представленным в этих строках, соответствовали истинные конъюнкции. Для этого достаточно переменные, под которыми в соответствующей строке стоит буква Л, взять со знаком отрицания, а переменные, под которыми в соответствующей строке стоит буква И, - без отрицания.

3) составить из полученных конъюнкций дизъюнкцию. Для нашего примера СДНФ имеет вид: xyz xy z x y z . Для составления СКНФ необходимо:

1)выделить те строки таблицы, в которых искомая формула принимает значения Л;

2)составить для каждой из выделенных строк дизъюнкции переменных или их отрицаний так, чтобы каждая переменная (со знаком отрицания либо без него) вошла в дизъюнкцию один и только один раз и чтобы наборам значений переменных, записанных в этих строках, соответствовали ложные дизъюнкции. Для этого достаточно переменные, под которыми в соответствующей строке стоит буква И, взять со знаком отрицания, а переменные, под которыми в соответствующей строке стоит буква Л, - без отрицания.

3)составить из полученных дизъюнкций конъюнкцию.

92

Для нашего примера СКНФ имеет вид:

x y z x y z x y z x y z x y z .

Задача 213. Составьте СДНФ и СКНФ для формул f1, f2, f3, f4, соответствующих данной таблице истинности (табл.3.12).

Таблица 3.12 Таблица истинности формул f1, f2, f3, f4

a

b

c

d

f1

f2

f3

f4

И

И

И

И

И

Л

И

Л

И

И

И

Л

Л

И

И

Л

И

И

Л

И

Л

И

Л

И

И

И

Л

Л

И

Л

И

Л

И

Л

И

И

И

Л

Л

И

И

Л

И

Л

И

Л

Л

И

И

Л

Л

И

Л

И

Л

И

И

Л

Л

Л

И

Л

Л

И

Л

И

И

И

Л

И

И

Л

Л

И

И

Л

Л

И

И

Л

Л

И

Л

И

И

Л

Л

И

Л

И

Л

Л

Л

И

Л

И

Л

Л

И

И

И

Л

Л

И

Л

Л

И

Л

И

Л

И

Л

Л

Л

Л

И

Л

И

И

Л

Л

Л

Л

Л

Л

И

И

Л

Задача 214. Составьте формулы f1, f2, f3, f4, f5 по приведенной ниже таблице истинности (выберите рациональный способ). Упростите полученную формулу.

Таблица 3.13 Таблица истинности формул f1, f2, f3, f4, f5

x

y

z

f1

f2

f3

f4

f5

И

И

И

Л

Л

И

И

Л

И

И

Л

Л

И

И

Л

Л

И

Л

И

И

И

Л

И

И

И

Л

Л

И

И

Л

Л

И

Л

И

И

Л

Л

И

И

Л

Л

И

Л

Л

Л

И

И

Л

Л

Л

И

Л

И

И

Л

Л

Л

Л

Л

И

Л

Л

И

И

93

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

Формулу А называют выполнимой, если она принимает значение истины хотя бы на одном наборе значений входящих в нее переменных и не является тождественно истинной.

Теорема. Для того, чтобы формула алгебры логики была тождественно истинна (ложна), необходимо и достаточно, чтобы любая элементарная дизъюнкция, (конъюнкция), входящая в КНФ А (ДНФ А), содержала переменную и ее отрицание.

Пример 215. Будет ли формула x y xy y тождественно ис-

тинной, тождественно ложной или выполнимой?

Решение. Приведем формулу к какой-либо нормальной форме:

x y xy y x y xy y x y xy y xy xy y .

Полученная ДНФ не является тождественно ложной, так как каждая элементарная конъюнкция не содержит переменную и ее отрицание. Следовательно, исходная формула тождественно истинна или выполнима.

Преобразуем данную формулу к КНФ:

x y xy y xy xy y xy y xy y xy y x y yy x.

Это выражение не является тождественно истинным, так как элементарная сумма y x не тождественно истинна. Таким образом, исходная

формула не тождественно истинна и не тождественно ложна, следовательно, она выполнима.

Задача 216. Используя критерий тождественной истинности и тождественной ложности формулы, установите, будет ли данная формула тождественно истинной, тождественно ложной или выполнимой?

1)xy x xy ;

2)x y xy xy ;

3)xy x y ;

4)x y x y ;

5)x z y z x y ;

6)x y x y x ;

7)x & z x & z y & z x & y & z ;

8)x & y & z x & y z x ;

Ответ. 1) ТИФ; 2) ТЛФ; 3)-5) – выполнимые.

94

Задача 217. Для следующих формул найдите СДНФ и СКНФ, каждую двумя способами (путем равносильных преобразований и используя таблицы истинности):

1)x & x y ;

2)xy x xy y ;

3)x y y x ;

4)x z yz ;

5)x y xz x x yz ;

6)ab bc a b c b ;

7)a c b c ;

8)a b bc ac ;

9)x y y zx & x y z ;

10)x & y z x & y y & x z z y x & z ;

11)xy xyz & x xy y xz y xyz xy ;

12)x & z x xz xy z y x yz .

Ответ.

1)СДНФ = xy, CКНФ = (x y)(x y)(x y) ;

2)СДНФ = xy, CКНФ = (x y)(x y)(x y) ;

3)СДНФ = xy xy x y , СКНФ = (x y) ;

4)СДНФ = xyz xyz x yz ;

СКНФ = (x y z)(x y z )(x y z)(x y z)(x y z) ;

5)СДНФ = xyz xy z xyz xyz xyz x y z x yz ,

СКНФ (x y z ) ;

6)СДНФ = abc abc abc abc abc abc abc ,

СКНФ = (a b c ) ;

7)СДНФ = abc abc abc abc ,

СКНФ = (a b c )(a b c )(a b c)(a b c ) ;

8) СДНФ = abc abc abc abc abc abc abc abc , СКНФ=1.

Задача 218. Найдите СДНФ для всякой тождественно истинной формулы, содержащей:

1)одну переменную;

2)две переменных;

3)три переменных.

Ответ.

95

1)x x ;

2)xy xy xy x y ;

3)xyz xyz xyz xy z xy z xyz x y z .

Задача 219. Найдите СКНФ для всякой тождественно ложной формулы, содержащей:

1)одну переменную;

2)две переменных;

3)три переменных.

Ответ.

1)xx ;

2)(x y)(x y)(x y)(x y) ;

3)(x y z )(x y z)(x y z )(x y z) & & (x y z )(x y z)(x y z )(x y z).

Задача 220. Докажите равносильность формул xy y x и x y x y сравнением их совершенных нормальных форм (конъюнк-

тивных или дизъюнктивных).

Задача 221. Найдите более простой вид формул, имеющих следующие СДНФ и СКНФ:

1)xy xy xy ;

2)x y x y x y ;

3)xyz xyz xyz ;

4)x y z x y z x y z .

Ответ. 1) x y ; 2) x & y ; 3) z(x y) ; 4) x( y z) z ( y x) .

3.5. Минимизация булевых функций

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

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

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

Формула, представленная в ДНФ, упрощается многократным при-

 

 

 

 

 

менением

операции склеивания

ab ab

a и операций поглощения

a ab a

и a ab a b (для

конъюнктивной нормальной формы

96

(a b)(a b ) a; a(a b) a ; a(a b) ab ). В результате приходим к такому аналитическому выражению, для которого дальнейшие преобразования оказываются невозможными, то есть получают тупиковую форму.

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

Определение. Конъюнкция вида P(x1, x2,...xn ) 1 называется элемен-

тарной конъюнкцией нулевого ранга.

Из определения СДНФ следует, что в СДНФ входят конъюнкции наиболее возможного ранга для данной функции, поэтому СДНФ является наиболее сложной формой представления булевой функции.

Определение. Первичными или простыми импликантами называются конституенты (или минитермы) функции, к которым операция склеивания неприменима.

Определение. Существенной называется простая импликанта, которая была образована склеиванием таких конституентов, что по крайней мере для одного из них эта операция была единственной.

Определение. Длиной ДНФ называют число элементарных конъюнкций, образующих эту ДНФ.

Например, длина x1x3 x2x4 x1x5 x1x3 равна 4.

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

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

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

Например, x1 x1x2x3 x1 x2x3 – кратчайшая минимальная форма

функции.

Рассмотрим использование следующих практических методов минимизации: метода неопределенных коэффициентов, метода, основанного на применении диаграмм Вейча (карт Карно), и алгебраического метода, известного как метод Мак-Класски.

3.5.1. Метод неопределенных коэффициентов

Метод применим для минимизации функций алгебры логики от любого числа переменных.

Рассмотрим случай трех переменных. Булева функция в ДНФ может быть представлена в виде всевозможных конъюнктивных членов, которые могут входить в ДНФ:

97

f x , x , x

k1x k

0 x k1x k 0 x k1x k 0 x k11x x k10x x

2

k 01x x

2

 

1

2

3

 

 

1

1

 

 

1

1

 

2

2

 

 

2

2

 

3

3

 

3

3

 

12

1

2

 

 

12

1

 

 

12

1

 

k 00 x x k11x x k10 x x k 01x x k 00x x k

11x

x k10x

x k 01x x

 

 

 

12

1

2

 

 

13

1

3

 

 

 

13

1

3

 

13

 

1

3

 

13

1

3

 

23

2

3

 

 

23

2

 

3

 

23

2

3

 

 

г

k 00 x x

k111x x x

 

k110x x x

k101x x x

 

k100 x x x

k 011x x x

 

 

 

 

 

 

 

 

 

 

 

 

23

2

3

 

 

123

1

 

2

3

 

 

123

1

2

3

 

 

123

1

2

3

123

1

2

3

 

 

123

1

2

3

 

 

 

 

 

k 010 x x

x

 

k 001x x x

k 000x x x ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

123

1

2

3

 

123

1

 

2

3

 

 

123

1

 

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

де k {0,1} - коэффициенты. Метод заключается в подборе коэффициентов таким образом, чтобы получаемая ДНФ была минимальной.

Если теперь задать всевозможные значения переменных от 000 до 111, то получим 2n (23 =8) уравнений для определения коэффициентов k:

f 0,0,0 k

0 k

0 k

0 k00 k00 k00

k000

;

1

2

3

12

13

23

123

 

f 0,0,1 k0

k0

k1

k00

k01

k01

k001

;

 

1

2

3

12

 

13

23

 

123

 

 

f 0,1,0 k0

k1

k0

k01

k00

k10

k010

;

 

1

2

3

 

12

 

13

23

 

123

 

 

f 0,1,1 k0

k1

k1

k01

k01

k11

k011 ;

 

 

1

 

2

 

3

 

12

 

13

 

23

 

 

123

 

 

 

f 1,0,0 k1

k0

k0

k10

k10

k00

k100

;

 

1

2

3

 

12

 

13

23

 

123

 

 

f 1,0,1 k1

k0

k1

k10

k11

k01

k101

;

 

 

1

 

2

 

3

 

12

 

13

 

23

 

 

123

 

 

 

f 1,1,0 k1

k1

k0

k11

k10

k10

k110

;

 

 

1

 

2

 

3

 

12

 

13

 

23

 

 

123

 

 

 

f 1,1,1 k1

k1 k1 k11 k11 k11 k111 .

 

 

 

1

 

2

 

3

 

12

 

13

 

23

 

 

123

 

 

 

Рассматривая наборы, на которых функция принимает нулевое значение, определяют коэффициенты, которые равны 0, и вычеркивают их из уравнений, в правой части которых стоит 1. Из оставшихся коэффициентов в каждом уравнении к единице приравнивают по одному коэффициенту, определяющему конъюнкцию наименьшего ранга. Остальные коэффициенты приравнивают к 0. Итак, единичные коэффициенты k определяют соответствующую минимальную форму.

Пример 222. Минимизировать заданную функцию

f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 .

Решение.

По виду

функции

определяем

значения:

f 0,0,0 1;

f 0,0,1 0; f

0,1,0 0;

f 0,1,1 0 ;

f 1,0,0 1;

f 1,0,1 1;

f 1,1,0 0 ;

f 1,1,1 1. На основании возможно составление системы уравнений неопределенных коэффициентов:

f 0,0,0 k0

k0

k0

k00

k00

k00 k000

=1;

1

 

2

3

12

 

13

 

23

123

 

 

f 0,0,1 k0

k0

k1

 

k00

 

k01

 

k01

k001

=0;

1

 

2

 

3

 

12

 

13

 

23

123

 

 

f 0,1,0 k0

k1

 

k0

 

k01

 

k00

 

k10

k010

=0;

1

 

2

 

3

 

12

 

13

 

23

123

 

 

f 0,1,1 k0

 

k1

 

k1

k01

k01

k11

k011

 

=0;

1

 

2

 

3

 

12

 

13

 

23

123

 

 

f 1,0,0 k1

k0

k0

k10 k10 k00 k100 =1;

 

1

 

2

 

3

 

12

 

13

 

23

123

 

 

98

f 1,0,1 k1

k0

k1

k10

k11

k01 k101

=1;

1

2

3

12

13

23

123

 

f 1,1,0 k1

k1

k0

k11

k10

k10

k110

=1;

1

2

3

12

13

23

123

 

f 1,1,1 k1

k1

k1

k11 k11 k11

k111=1.

1

2

3

12

13

23

123

 

После вычеркивания нулевых коэффициентов получим:

k2300 k123000 =1;

k11 k1210 k1310 k2300 k123100 =1; k11 k1210 k1311 k123101=1;

k11 k1211 k1310 k123110 =1; k11 k1211 k1311 k123111 =1.

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

Ответ. Вид минимизированной функции f x1, x2 , x3 x1 x2x3 .

Следует отметить, что метод неопределенных коэффициентов эффективен, когда число переменных невелико и не превышает 5-6.

Задача 223. Минимизируйте методом неопределенных коэффициентов булеву функцию:

1)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

2)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

3)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

4)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

5)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

6)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

7)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

8)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

9)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

10)f x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 ;

3.5.2. Минимизация при помощи диаграмм Вейча (карт Карно)

Основная идея заключается в том, что исходная булева функция, задаваемая в виде СДНФ, представляется в форме специальной таблицы. Столбцы и строки таблицы соответствуют всевозможным наборам значений не более 2-х переменных, причем эти наборы расположены в таком порядке, что каждый последующий отличается от предыдущего значением только одной из переменных. Благодаря этому соседние клетки табли-

99

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

Карта Карно для функции двух переменных имеет вид:

 

x2

x2

x1

x1x2

x1x2

x1

x1x2

x1x2

Карта Карно для функции трех переменных имеет вид:

 

 

 

 

 

x2

 

 

x2

 

x1

x1x2 x3

 

x1x2 x3

 

x1x2 x3

 

x1x2 x3

 

x1

x1x2 x3

 

x1x2 x3

 

x1x2 x3

 

x1x2 x3

 

 

 

 

3

 

 

x3

 

x3

 

 

 

x

 

 

 

Здесь крайний правый и крайний левый столбцы считаются соседними.

Карта Карно для функции четырех переменных имеет вид:

x2 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1{

x x

2

x x

4

x x

2

x x

4

 

x x

2

x x

4

x x

2

x x

4

x3

1

3

1

3

 

1

3

1

3

 

x1x2 x3x4 x1x2 x3x4

 

x1x2 x3x4

x1x2 x3x4

x3

x1{

x1x2 x3x4 x1x2 x3x4

 

x1x2 x3x4

x1x2 x3x4

 

 

x1x2 x3x4 x1x2 x3x4

x1x2 x3x4

x1x2 x3x4

x3

 

 

x4

 

 

 

 

 

x4

 

 

 

 

 

x4

 

 

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

Для упрощения строки и столбцы, соответствующие значениям «1» для некоторой переменной, выделяются фигурной скобкой с обозначением этой переменной.

На таблице определено понятие правильной конфигурации. Правильной конфигурацией ранга i булевой функции f x1,..., xn называют

прямоугольники, имеющие площадь 2n-i клеток. Ранг покрытия равен сумме рангов всех правильных конфигураций.

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]