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

Функции алгебры логики

.pdf
Скачиваний:
851
Добавлен:
18.03.2015
Размер:
2.27 Mб
Скачать

f ( x, y,z ) xy yz xz; f ( x, y,z ) xz yz xz;

f ( x, y,z ) ( x y z )( x y z ).

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

Пусть функция f(x1,…,xn) частично (не всюду) определена. Если f не определена на p наборах из 0 и 1, то существует 2p возможностей для доопределения функции f. Полностью определенная функция g (x1,…,xn) есть доопределение функции f, если g совпадает с f на тех наборах из 0 и 1, на которых f определена.

Задача минимизации частично определенной функции f сводится к отысканию такого доопределения g функции f, которое имеет простейшую (по числу букв ) минимальную форму.

Обозначим через f0(x1,…,xn) и f1(x1,…,xn) доопределения нулями и единицами соответсвенно частично определенной функции f(x1,…,xn).

Теорема. Минимальная ДНФ частично определенной функции f(x1,…,xn) есть дизъюнкция самых коротких импликант в сокращенной ДНФ доопределения f1(x1,…,xn), которые в совкупности накрывают все конституенты единицы доопределения f0(x1,…,xn).

Доказательство. Рассмотрим СДНФ некоторого доопределения g(x1,…,xn) функции f(x1,…,xn). Конституенты единицы, входящие в эту форму, войдут и в СДНФ доопределения f1. Поэтому любой простой импликант функции g будет совпадать с некоторым импликантом функции f1 или накрываться им. Самые короткие импликанты , накрывающие единицы функции f , есть импликанты функции f1. Доопределение f0 имеет минимальное количество конституент единицы в своей СДНФ , следовательно , и количество простых импликант функции f1 , потребных для накрытия этих конституент , будет наименьшим . ДНФ , составленная из самых коротких простых импликант в сокращенной ДНФ функции f1 , накрывающих все конституенты единицы функции f0 , будет самой короткой ДНФ, доопределяющей функцию f .

Так как единицы функции f1 составлены из единиц функции f и единиц на наборах , на которых f не определена , то построенная ДНФ , накрывая все единицы функции f0 ( а , следовательно , и все единицы функции f ) , совпадает с минимальной ДНФ некоторого доопределения g функции f .

Алгоритм минимизации частично определенных функций

в классе ДНФ

1.Строим СДНФ функции f0 .

2.Строим сокращенную ДНФ функции f1 .

3.С помощью матрицы покрытий коституент единицы функции f0 простыми импликантами функции f1 и решеточного выражения строим все тупиковые ДНФ (для некоторых доопределений функции f ) .

4.Среди полученных ТДНФ выбираем простейшие, они являются минимальными ДНФ ( для некоторых доопределений функции f ) .

Алгоритм минимизации частично определенных функций

в классе КНФ

Построение минимальных КНФ для частично определенной функции аналогично построению минимальных КНФ для всюду определенной функции.

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

Пример 1. В классе нормальных форм минимизировать частично определенную функцию f ( x, y, z, t ) = (1---

010010-01--1)

Решение. Минимизируем функцию f в классе ДНФ.

1. Строим сокращенную ДНФ для доопределения единицами f1 функции f по таблице 3.9. Таблица 3.9

81

x y z t

f f0 f1 f h0 h1

0

0

0

0

1

1

1

0

0

0

0

0

0

1

-

0

1

-

0

1

0

0

1

0

-

0

1

-

0

1

0

0

1

1

-

0

1

-

0

1

0

1

0

0

0

0

0

1

1

1

0

1

0

1

1

1

1

0

0

0

0

1

1

0

0

0

0

1

1

1

0

1

1

1

0

0

0

1

1

1

1

0

0

0

1

1

1

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

1

0

-

0

1

-

0

1

1

0

1

1

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

1

1

0

1

-

0

1

-

0

1

1

1

1

0

-

0

1

-

0

1

1

1

1

1

1

1

1

0

0

0

f1( x, y,z,t ) ( x y z t )( x y z t )( x y z t )( x y z t ) ( x y z t ) ( x y t )( xy x y z t )( x y z t )

( x y t )( xy x y xz y z zt xt yt zt t )( x y t )( xy x y xz y z t )

xy xy z xt x y x y z yt xyt x yt xzt y zt

xy xt yt x y xzt y zt.

2. Строим матрицу покрытий коституент единицы в СДНФ для доопределения нулями f0 функции f с помощью построенной сокращенной ДНФ для f1 ( таблица 3.10).

Таблица 3.10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

ПИ

 

x y zt

 

 

 

 

 

 

 

xy zt

 

x y zt

 

xy zt

 

xyzt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

x y

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

xt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

yt

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

xzt

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

y zt

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. По таблице строим решеточный многочлен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E = (2 4)(5 6)(3 4)(1 3)1 = 145 125 146 1236.

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Строим все тупиковые ДНФ :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g1 xy

yt xzt;

 

 

 

 

 

 

 

 

 

g3

xy

 

yt yzt;

 

 

 

 

 

 

 

 

 

 

 

 

 

g2 xy

 

 

 

 

 

xzt ;

 

 

 

 

 

 

 

 

 

 

xy

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

x

y

xt

 

 

 

 

 

 

 

 

 

g4

x

y

xt

zt.

 

 

 

 

 

 

 

5. Из построенных тупиковых ДНФ выбираем минимальные :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g1 xy

yt xzt;

 

 

 

 

 

 

 

 

 

g3

xy

yt yzt.

 

 

 

 

 

 

 

 

 

 

 

 

 

Функции g1 и g3 есть минимальные доопределения функции f в классе ДНФ.

Минимизируем теперь функцию f в классе КНФ. Для этого проведем минимизацию функции f в классе ДНФ Пусть h0 и h1 есть доопределение нулями и единицами соответственно функции f .

Сокращенная ДНФ для

82

Минимальная.

h1( x, y, z,t ) ( x y z t )( x y z t )( x y z t )( x y z t ) ( x y z t ) ( x z yt yt )( x z t )( x y z t )

( x z yt yt )( x yz zt yt zt )

yt x yz xzt xzt xz yz zt xyt yzt yt xz zt xzt xyt yz.

Матрица покрытия конституент единицы в СДНФ для h0

с помощью простых импликант в сокращенной ДНФ

для h1 приведена в таблице 3.11.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.11

 

 

 

 

 

N

 

ПИ

 

xy zt

 

 

xyzt

 

 

xyzt

x y zt

x yzt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

+

 

 

 

 

yt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

xz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

xzt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xyt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

yz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.Решеточное выражение E=5 (2 3 5) 2 (1 4)(1 6) = 25(1 46) = 125 2446.

4.Строим две тупиковые ДНФ:

g5 yt xz xyt и g6 xz xzt xyt yz. g5 yt xz xyt

5. Функция g 5 ( y t )( x z )( x y t ) есть минимальное доопределение функции f в классе КНФ.

Найденные МДНФ g1 , g3 и МКНФ g5 являются минимальными доопределениями функции f в классе

нормальных форм.

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

Метод минимизирующих карт Карно

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

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

наборы n E n называют вершинами куба E n .

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

~

~

 

 

~

~

n

n

 

 

i i

;

Расстоянием Хэмминга между вершинами и

куба

E2

называется число

(

, )

 

~

~

 

 

 

i 1

 

 

 

 

Расстояние Хемминга

оно равно числу координат, в которых наборы и

отличаются друг от друга.

является метрикой, а куб E2n – метрическим пространством.

83

Наборы

 

~

 

и

~

 

 

n

называются

соседними

 

если

 

~

~

 

и

противоположными если,

 

 

 

 

 

из E2

 

( , ) 1,

~

 

~

 

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

( , )

координатах.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1) , т.е.

 

 

 

 

 

 

 

N f обозначают множество

~ n

 

 

~ n

 

n

 

 

~ n

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Символом

 

 

 

(

 

E2

) &( f (

множество всех

 

 

~n

из E

n

, на которых функция

~ n

)обращается в 1.

 

 

 

 

 

 

 

наборов

 

2

f ( x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Гранью

 

 

 

 

единичного

n-мерного

 

 

 

куба

 

E2n

 

называется

 

 

множество

E n,i1 ,...,ik

 

 

( ,...,

n

) En :

i

 

1

,...,

i

 

k

.

Множество

i ,...,i

n

 

называется

 

...

k

 

 

 

1

 

2

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

направлением, число k - рангом, а число nk – размерностью грани

E n,i1 ,..., ik . Кодом грани G= En,i1 ,...,ik

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

1... k

 

 

 

 

1 ... k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

называется вектор

( G ) длины n, в котором i 1 ,..., i k , а остальные координаты есть «–».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

k

 

 

 

 

 

 

 

 

 

 

~

 

n,1,3

) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Например ( E01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0–1–). Одномерные грани называются ребрами куба.

 

 

 

 

 

 

 

 

 

 

 

Обозначим множество векторов длины n с координатами из множества {0, 1, –} через Gn. На множестве Gn

зададим частичный порядок, полагая

~

 

~

 

 

 

 

 

~

 

 

 

 

 

~

 

путем замены

,

 

если вектор

может быть получен из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

~

~

 

некоторых (быть может, ни одной) координат набора , равных 0 и 1,

на «–». Отношение

 

 

между

кодами граней G и H соответствует отношению G H между гранями. Положим

 

 

 

~

 

 

 

равным числу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

~

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прочерков в наборе

n

G

n

:

 

 

 

k. Тогда

 

n

 

n

,

n

 

 

 

 

 

 

 

 

 

 

 

 

и Gk

 

 

 

G0 E

 

G1 соответствует множеству

 

 

n

n

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

~

 

ребер куба E2 ,

Gk

множеству граней куба E2

,

имеющих размерность k. Интервалом

I(

, ) куба

n

 

 

 

 

~

n

 

~ ~

~

~

~

 

 

 

n

 

 

~

~

E2

называется множество вида E2

:

, где ,

 

– вершины из E2 такие,

что .

 

~

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Число ( ,

) называется размерностью интервала.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если элементарная конъюнкция k является импликантой функции

~ n

), то множество Nk

 

 

 

~

f ( x

всех наборов

~

n

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

из E2

таких, что

k( ) 1, образует грань,

содержащуюся в множестве Nf. Эта грань называется

интервалом функции f, соответствующем импликанте k. Интервал функции f, не содержащийся ни в каком другом интервале функции f, называется максимальным интервалом. Максимальные интервалы функции f соответствуют ее простым импликантам.

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

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

84

и для не всюду определенных функций. В этом случае выделяются

максимальные прямоугольники, содержащие хотя бы одну единицу и не

содержащие нулей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 2. Таблица 3.12 представляет собой минимизирующую карту для функции

~ 4

) с вектором

f ( x

 

~

(1110010101001101). Коды максимальных интервалов имеют вид (00-0), (000-), (--

значений f

01), (-1-1), (110-). Сокращенная ДНФ имеет вид Dc

x

1

x

2

x

4

x

1

x

2

x

3

x

3

x

x x

4

x x x

3

.

 

 

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

4

2

1

2

 

 

 

 

 

 

 

Таблица 3.12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.13

 

 

 

 

 

 

X3

 

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X4

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X1

X2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

1

0

1

X2

 

 

0

 

 

 

0

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

0

1

1

0

X1

X3

 

 

0

 

 

 

1

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

1

1

1

0

0

 

 

 

 

 

-

 

 

 

0

 

 

-

 

 

1

 

 

 

 

 

 

 

1

0

 

0

1

0

0

1

 

 

 

 

 

0

 

 

 

-

 

 

1

 

 

0

 

 

 

 

 

 

 

Пример 3. Таблица 3.13

представляет собой минимизирующую карту для частичной функции f, зависящей от

трех переменных. Сокращенная ДНФ имеет вид Dc

x

1

x

3

x

1

x

2

x

2

x

x x .

 

 

 

 

 

 

 

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

3

 

 

1

3

 

 

 

 

 

 

3.3 Задачи по минимизации и доопределению булевых функций

 

 

 

 

 

 

 

 

 

 

 

 

1. Из заданного множества А элементарных конъюнкций выделить простые импликанты функции f :

 

A = x1 ,x3 ,x1 ,x2 ,x3 ,

 

 

 

~3

)= (00101111);

1)

 

 

 

f ( x

 

A = x1 x2 ,x2 x3 ,x1 x2 x3 ,

~3

)= (01111110);

2)

f ( x

 

 

x1 ,x4

,x2 x3

,x1x2 x4

 

~ 4

)

 

 

3)

A =

f ( x

= (1010111001011110);

 

 

 

,

 

 

 

 

x1 ,x2

,x1x2

 

 

~ 2

)

 

 

4)

A =

 

f ( x

= (1011);

 

 

,

 

 

 

 

A = x1x3 ,x1 x3 ,x2 ,

 

 

 

~3

)= (00111011);

5)

 

 

 

f ( x

 

A = x1 x2 ,x2 x3 ,x2 ,

 

 

 

~3

)= (00101111).

6)

 

 

 

f ( x

2. По заданной ДНФ с помощью метода Блейка построить сокращенную ДНФ:

1)D x1x2 x1x2 x4 x2 x3 x4 ;

2)D x1x2 x3 x1x2 x4 x2 x3 x4 ;

85

3)D x1 x1x2 x1x2 x3 x1x2 x3 x4 ;

4)D x1x2 x4 x1x2 x3 x3 x4 ;

5)D x3 x4 x2 x4 x1x4 x2 x3 x4 ;

6)D x1x2 x3 x3 x4 x1x4 x2 x4 ;

7)D x3 x4 x1x2 x3 x4 x1x3 ;

8)D x1x2 x3 x1x2 x4 x2 x3 x4 x2 x3 x4 x2 x3 x1.

3. Построить сокращенную ДНФ по заданной КНФ:

1) x1 x2 x3 x1 x2 x3 x2 x3 ; 2) x1 x2 x1 x2 x3 ;

3) x1 x2 x3 x1 x2 x1 x2 x3 ;

4)x1 x2 x3 x1 x2 x3 ;

5)x1 x2 x2 x3 x3 x1 ;

6)x1 x2 x2 x3 x3 x4 x4 x1 ;

7) x1 x2 x3 x1 x2 x4 x2 x2 x4 ;

8) x1 x2 x1 x3 x4 x1 x2 x3 x3 x4 .

~n

4.Изобразив множество Nf функции f ( x ) в En, найдйте коды максимальных интервалов и построитьйте сокращенную ДНФ:

 

~

~

 

1)

f = (11110100);

2) f

= (01010011);

 

~

~

 

3)

f = (11010011);

4) f

= (11100111);

 

~

~

 

5)

f = (1111100001001100);

6) f

= (0001011111101111);

 

~

~

 

7)

f = (1110011000000111);

8) f

= (1111111111111000).

5. С помощью алгоритма Квайна построить сокращенную ДНФ для функции f, заданной вектором

своих значений:

 

 

 

~

~

 

1)

f = (01110110);

2) f

= (10111101);

 

~

~

 

3)

f = (00101111);

4) f

= (11100100);

 

~

~

 

5)

f = (0001101111011011);

6) f

= (0000111111110110);

 

~

~

 

7)

f = (1111111101111110);

8) f

= (0000111101111111).

6. Найти сокращенную ДНФ функции f с помощью минимизирующей карты:

 

~

~

 

1)

f = (01010111);

2) f

= (11011011);

86

~

 

~

 

3) f

= (10110000);

4) f

= (11101111);

~

 

~

 

5) f

= (0001101111011111);

6) f

= (0011110111111101);

~

 

~

 

7) f

= (0011110111011110);

8) f

= (0010101111011111).

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

1)~ f = (01--01-1);

2)~ f = (1-01--10);

3)~ f = (1---0-10);

4)~ f = (0--10-1-);

5)~ f = (10-1-011-0--1-01);

6)~ f = (0--1---0--1-1-01);

7)~ f = (--01-1-00----1-0);

8)~ f = (-10-1-11-01-0---).

8. Найти длину сокращенной ДНФ функции f:

~n

1)f ( x

~n

2)f ( x

~n

3)f ( x

~n

4)f ( x

~n

5)f ( x

~n

6)f ( x

~n

7)f ( x

~n

8)f ( x

~n

9)f ( x

) x1 x2 ... xn ;

) ( x1 x2 x3 )( x1 x2 x3 ) x4 ... xn ; ) ( x1 x2 x3 )( x1 x2 x3 )( x4 ... xn ); ) ( x1 ... xk )( xk 1 ... xn );

) ( x1 ... xk )( xk 1 ... xn );

) ( x1 ... xn )( x1 ... xk xk 1 ... xn );

) ( x1 x2 )( x2 x3 )...(xn 1 xn )( xn x1 ); ) ( x1 ... xn )( x1 ... xn );

) ( x1 x2 )( x3 x4 )...(x2n 1 x2n ).

9. Выяснить, является ли ДНФ D а) тупиковой, б) кратчайшей, в)минимальной:

1)D x1x2 x2 ;

2)D x1 x2 x2 ;

3)D x1 x2 ;

87

4)D x1x2 x1x2 ;

5)D x1x2 x3 x2 x3 x2 x3 ;

6)D x1x2 x1x3 x4 x2 x3 x4 ;

7)D x1x2 x4 x1x3 x4 x2 x3 x4 ;

8)D x1x2 x3 x1x2 x4 x1x3 x4 x2 x3 x4 .

10.Применить алгоритм упрощения к ДНФ:

1) D x1x2 x2 ; 2) D x1x2 x1x2 ;

3) D x1x2 x3 x2 x3 x2 x3 ; 4) D x1x2 x1x2 x2 x3 ;

5) D x1x2 x2 x3 x1x3 x1x2 x2 x3 ; 6) D x1x2 x3 x4 x2 x3 x4 x2 x3 x1x3 ;

7) D x3 x4 x2 x3 x4 x1x2 x4 x1x2 x3 x1x2 x3 x1x2 x4 ; 8) D x1x3 x2 x3 x1x2 x1x2 x4 x2 x3 x4 x1x3 x4 .

11.По заданной сокращенной ДНФ D построить минимальные ДНФ:

1)D xy xz yz;

2)D xyz xyz xyw xzw yzw;

3)D xw yw zw xz yz;

4)D xz yz xyw xy yzw xzw;

5)D yz xzw xyz xzw xyz;

6)D xyw xzw yzw yzw xyz;

7)D xz xz xyz xzw;

8)D yzt ywt xyzt xyzw.

12. С помощью таблицы Квайна построить все тупиковые ДНФ функции f, заданной вектором своих

значений:

 

 

 

~

 

~

 

1) f

= (01111100);

2) f

= (01111110);

~

 

~

 

3) f

= (00011111);

4) f

= (1111100001001100);

~

 

~

 

5) f

= (1110100001101000);

6) f

= (1110011000010101);

~

 

~

 

7) f

= (0001011110101110);

8) f

= (0001101111100111).

88

4.ЛОГИКА ВЫСКАЗЫВАНИЙ

4.1.Введение в логику высказываний

Определение. Высказыванием называется повествовательное

предложение, о котором имеет смысл говорить, что оно истинно или ложно.

Примеры высказываний: «2х2=4», «Волга впадает в Черное море», «Москва – столица России». Первое и третье высказывания истинны, второе – ложно. Предложение «х + y = 4» не является высказыванием, т.к. оно может быть истинным при некоторых значениях х и y и ложным при других значениях. Из простых, атомарных высказываний можно сооружать сложные высказывания. Например, из двух высказываний: «Москва стоит на берегу Невы» и «Санкт-Петербург стоит на берегу Невы», из которых первое ложно,

второе истинно, можно соорудить более сложные высказывания: «Москва стоит на берегу Невы или Санкт-Петербург стоит на берегу Невы» (истинное)

или «Москва стоит на берегу Невы и Санкт-Петербург стоит на берегу Невы»

(ложное).

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

Переменной (и) соответствует 1, переменной (л) – 0. Для них стандартным образом определяются булевы функции: дизъюнкция высказываний,

конъюнкция (два последних примера), отрицание, эквивалентность, сумма по mod 2 (исключающее «или»), импликация.

Рассмотрим более подробно последнюю функцию P Q , где P и Q

высказывания, т.е. утверждение типа: « P влечет Q » или «из P следует Q »,

например, «Если 2х2=5, то Москва – столица». Не математик найдет это выражение ложным, ибо ему кажется, что в выражении « P влечет Q » Q

89

должно по смыслу вытекать из P , только в этом случае утверждение истинно.

Но тогда получается, что логическая связка « » зависит от смысла высказываний. Математики импликацию определяют стандартной таблицей истинности, которая не противоречит «здравому смыслу»: «л л» и «л и»

– эти утверждения истинны, так как из ложной посылки можно получить как ложное, так и истинное утверждение. «и и» – истинное утверждение, так как из верной посылки с помощью верных рассуждений можно получить только истинное утверждение. «и л» – ложное утверждение, ибо из истинного утверждения с помощью верных рассуждений мы не сможем прийти к ложному результату.

Простые высказывания (булевы переменные) будем обозначать буквами x, y, z,..., если понадобится, с индексами. Булевы функции от этих высказываний – f (x, y, z,...). В логике высказываний можно ввести стандартное для функций алгебры логики понятие формулы. Формулы будем обозначать буквами латинского алфавита A(x1 , x2 ,...,xm ), где в скобках перечислены входящие в формулу булевы переменные.

Формула A(x1 , x2 ,...,xm ), называется тавтологией, если она принимает значение 1 для любого набора значений входящих в нее переменных, т.е. если она реализует функцию константа 1.

Формула A(x1 , x2 ,...,xm ), называется противоречием, если она принимает значение 0 на всех наборах значений переменных x1 ,...,xm

(реализует функцию константа 0).

Формула A(x1 , x2 ,...,xm ), называется опровержимой, если существует набор (a1 ,...,am ) значений ( x1 ,...,xm ), такой что A(a1 ,...,am ) 0.

Формула A(x1 , x2 ,...,xm ), называется выполнимой, если существует набор (a1 ,...,am ) значений (x1 ,...,xm ) , такой что A(a1 ,...,am ) 1.

90