Учебное пособие: Дискретная мат-ка_УП

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
background image

61

8.

законы поглощения: 

∨ a ∧b = а,  a ∧ (а ∨ b) = а; 

9.

законы Порецкого: 

∨ a  ∧b = а ∨ b,  a ∧ (a  ∨ b) = а ∧b; 

10.

законы, определяющие действия с константами 0 или 1: 

∨ = а,    

∧ 0 = 0,   

∨ 1 = 1, 

∧ 1 = а,  

∨ a  = 1,   

∧ a  = 0. 

Правило  подстановки:

  если  в  равносильных  формулах 

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

Правило замены:

 если в формуле заменить некоторую под-

формулу на равносильную, то получится равносильная формула. 

6.3 

Нормальные

формулы

Совершенные

нор

-

мальные

формулы

 
Обозначим      х

о

 = 

x

, х

1

 = х, 

=

δ

=

δ

=

δ

.

0

,

x

;

1

,

x

x

Любую конъюнкцию ранга n можно представить в виде:  

Элементарной  конъюнкцией

  называется  конъюнкция  пе-

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

Или: элементарной конъюнкцией называется выражение ви-

да 

n

2

1

n

2

1

x

...

x

,

x

δ

δ

δ

  

n

2

1

n

2

1

x

...

x

,

x

δ

δ

δ

То

есть

элементарная

конъюнкция

есть

логическое

произве

-

дение

переменных

взятых

в

некоторой

степени

δ

в

которой

ни

одна

переменная

не

употребляется

два

раза

Число

переменных

в

конъюнкции

или

дизъюнкции

назовем

ее

 рангом

Дизъюнкция

различных

элементарных

конъюнкций

называ

-

ется

 дизъюнктивной нормальной формой (ДНФ). 

Конъюнкция

различных

элементарных

дизъюнкций

называ

-

ется

 конъюнктивной нормальной формой (КНФ). 

Число

конъюнкций

в

ДНФ

называется

длиной

ДНФ

background image

62

Если

мы

возьмем

любую

формулу

из

символов

 a, b, c,…, x, 

y, z, 

, ¬, 

, ~, 

, (, ), 

то

можно

ее

заменить

равносильной

ДНФ

a

 b =  

a

 b, a ~ b = 

a

b

 a b,  a 

 b = a b

a

b. 

Пример

 (

а

  b ) 

 (

с

 d) =  

( )

b

a

с

 d = 

a

 b 

 c 

 d; 

ДНФ

весьма

просто

получается

из

таблицы

истинности

Достаточно

поставить

в

соответствие

каждому

значению

вектор

аргумента

на

котором

функция

принимает

значение

 1, 

элемен

-

тарную

конъюнкцию

называемую

  полной 

и

состоящую

из

всех

аргументов

Такая

ДНФ

членами

которой

являются

неповто

-

ряющиеся

полные

элементарные

конъюнкции

называется

  со-

вершенной ДНФ (СДНФ), 

а

ее

члены

 констатуэнтами  едини-

цы

С

ДНФ

любой

булевой

функции

единственна

с

точностью

до

порядка

следования

членов

и

литералов

  (

чего

нельзя

сказать

о

ДНФ

и

является

как

говорят

канонической формой

Пример

Пусть

задана

функция

  (a 

 b) 

 (c ~ a). 

Построим

таблицу

истинности

    a       b       c  a 

 b  c ~ a  (a 

 b) 

 (c ~ a) 

0        0        0 
0        0        1 
0        1        0 
0        1        1 
1        0        0 
1        0        1 
0        1        0 
1        1        1 






















Построим

СДНФ

.  

 
 

КНФ

так

же

удобна

для

представления

нулей

булевой

функ

-

ции

как

ДНФ

для

представления

единиц

СКНФ

для

предыдущего

примера

запишется

  

 
 

abc

c

ab

c

b

a

c

b

a

c

b

a

c

b

a

)

c

b

a

)(

c

b

a

(

background image

63

Каждая

из

составляющих

ее

полных

элементарных

дизъ

-

юнкций

является

  конституэнтой  нуля 

и

определяет

значение

вектор

аргумента

на

котором

функция

обращается

в

нуль

6.4 

Разложение

Шеннона

Декомпозиция

булевых

функций

Рассмотрим

разложение

булевой

функции

 f(x

1

, x

2

,…, x

n

по

 k 

переменным

  (x

1

,…, x

k

) – 

разложение

Шеннона

Теорема 1. 

Любая

функция

 f(x

1

, x

2

,…, x

n

), 

не

равная

тожде

-

ственно

нулю

представлена

в

виде

разложения

Шеннона

 
                                                                                               . 
 

Заметим

что

,

1

x

,...,

x

,

x

k

2

1

k

2

1

=

δ

δ

δ

если

 x

δ

i

для

i

 = k

,

1

Вы

-

берем

набор

δ

1

δ

2

,…, 

δ

k

и

положим

что

 x

δ

i

, i = 1,k. 

Тогда

левая

часть

будет

равна

f(x

1

, x

2

,…, x

k

, x

k+1

, …, x

n

) = f(

δ

1

,…, 

δ

k

, x

k+1

, …, x

n

), 

а

правая

                                                                                         . 

Здесь

k

1

k

1

x

,..,

x

δ

δ

разбиваются

на

единичные

и

нулевые

набо

-

ры

Согласно

закону

а

0 = 

а

получаем

что

левая

и

правая

части

формул

равны

при

любой

подстановке

переменных

  

х

1

х

2

,…,

х

k

Теорема 2. 

Любая

булева

функция

может

быть

представле

-

на

формулой

являющейся

суперпозицией

, ¬. 

Доказательство

.  

1) 

В

начале

докажем

для

 f=1 

или

 f=0. 

f(x

1

, x

2

,…, x

n

) = 1 = x

i

 x

i

f(x

1

, x

2

,…, x

n

) = 0 = x

i

 x

i

2) 

Докажем

для

функции

не

равной

константе

 f(x

1

, x

2

,…, x

n

разложим

по

 n 

переменным

Получим

                                                           
                                                      . 
 

)

x

,...,

,

,...,

,

(

x

&

V

)

x

,...,

x

,

x

,...,

x

,

x

(

f

n

1

k

k

2

1

i

k

1

i

)

,...,

,

(

n

1

k

n

2

1

i

k

2

1

+

δ

=

δ

δ

δ

+

δ

δ

δ

δ

=

)

x

,...,

x

,

,...,

,

(

f

)

x

,...,

x

,

,...,

,

(

f

x

,...,

Vx

n

1

k

k

2

1

n

1

k

k

2

1

k

1

k

1

+

+

δ

δ

δ

δ

δ

=

δ

δ

δ

δ

δ

δ

δ

δ

δ

=

δ

δ

n

1

n

1

n

1

,...,

x

...

Vx

)

...

(

f

x

...

x

V

1

n

1

n

1

background image

64

Это

совершенная

ДНФ

Из

этой

формулы

следует

способ

построения

СДНФ

Заметим

что

f

может

быть

разложена

  

 
 

(

в

булевой

алгебре

справедлив

принцип

двойственности

). 

Согласно

закону

двойного

отрицания

  

(

)

(

)

.

x

...

x

x

)

,...,

,

(

f

x

...

x

x

)

,...,

(

f

x

,...,

x

V

)

x

,...,

x

,

x

,...,

x

,

x

(

f

)

x

,...,

x

,

x

(

f

n

2

1

n

1

n

2

1

n

1

n

1

n

1

n

2

1

,..,

n

2

1

n

2

1

,..,

n

1

n

1

,...,

n

1

k

k

2

1

n

2

1

δ

δ

δ

δ

δ

δ

δ

δ

δ

δ

δ

δ

δ

δ

+

=

δ

δ

δ

=

=

δ

δ

=

=

 (1) 

Таким

образом

любая

булева

функция

 f(x

1

, x

2

,…, x

n

), 

не

равная

тождественно

единице

,  

представлена

в

виде

выражения

 1. 

Покажем

связь

между

разложением

   

Шеннона

и

таблицами

Вейча

Представим

пространство

  P

n

(X) 

в

виде

декартова

произве

-

дения

пространств

  P

k

(X

a

и

    P

g

(X

b

), X

a

  X

b

 = X, X

a

  X

b

 = 

,          

k + g = n:  

P

n

(X) = P

k

(X

a

×

 P

g

(X

b

). 

Каждой

строке

таблицы

Вейча

взаимно

однозначно

сопоста

-

вим

точку

пространства

  P

k

(X

a

), 

столбцу

 – 

точку

пространства

P

g

(X

b

и

рассмотрим

разложение

Шеннона

булевой

функции

  

 
 

по

первым

 k 

переменным

Тогда

 i-

строка

таблицы

Вейча

иден

-

тифицируемая

конъюнкцией

k

k

2

2

1

1

a

a

a

x

...

x

x

δ

δ

δ

,

соответствует

остаточной

функции

                                                                
                                                                . 

Будем

называть

разложение

Шеннона

булевой

функции

 f(X) 

строчным

если

разложение

осуществляется

по

переменным

со

-

ответствующим

строкам

таблицы

Вейча

 
 
 

)

,...,

(

f

x

,...,

x

V

)

x

,...,

x

(

f

n

1

n

1

,...,

n

1

n

1

n

1

δ

δ

=

=

δ

δ

δ

δ

(

)

g

2

1

k

2

1

b

b

b

,

a

a

a

x

,...,

x

,

x

x

,...,

x

,

x

f

(

)

g

2

1

k

2

1

b

b

b

,

a

a

a

x

,...,

x

,

x

x

,...,

x

,

x

f

background image

65

6.5 

Представление

булевой

функции

картами

                          

Карно

 (

Вейча

Карта

Карно

 – 

это

диаграмма

состоящая

из

правильно

рас

-

положенных

квадратов

каждый

из

которых

соответствует

одной

из

 2

n

полных

конъюнкций

соответствующих

функции

от

 n  

пере

-

менных

Значения

данной

функции

 f 

из

таблицы

истинностей

вносят

в

нужные

квадраты

Тогда

функция

 f 

равна

дизъюнкции

всех

полных

конъюнкций

для

которых

в

соответствующих

квад

-

ратах

стоит

единица

Рассмотрим

построение

карт

Карно

Пусть

задана

функция

от

двух

переменных

Тогда

карта

Карно

будет

выглядеть

   

x

 00  01 
x

10  11 

Чтобы

наборы

не

мешали

внутри

клеток

их

можно

вынести

за

пределы

таблицы

x

1

   0 1 
 0    
x

2

  1    

В

карте

Карно

соседние

клетки

различаются

одной

компо

-

нентой

.  

Для

кодировки

используется

код

Грея

Код

Грея

получа

-

ется

из

обыкновенного

весового

кода

сложением

по

 mod 2. 

Иско

-

мое

число

вычисляется

следующим

образом

Берем

весовой

код

в

качестве

первого

слагаемого

в

качестве

второго

слагаемого

бе

-

рем

тот

   

же

код

но

сдвинутый

на

один

разряд

вправо

Произво

-

дим

сложение

по

 mod 2. 

Тогда

карта

Карно

для

трех

переменных

будет

выглядеть

 
 
 

Источник: https://files.student-it.ru/previewfile/1197