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

Учебное пособие 800514

.pdf
Скачиваний:
6
Добавлен:
01.05.2022
Размер:
3.99 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

z

 

x

 

y ;

 

i) xyz |

x

y

 

z ;

 

 

j)

 

 

 

k)

 

xyz

 

 

x

y

 

 

z | y

l) x1

x2 ...

xn

y1

y2

...

yn.

 

 

3.

 

 

Установить, какие из следующих формул явля-

ются тождественно истинными, тождественно ложными:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b)

 

x

 

y

 

 

y

 

x ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a) x

y

 

x & y ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c) x

 

 

y

y

 

x ;

 

d) x

 

x y ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f)

 

x

 

y

 

 

x y ;

e) xy

 

 

x | y ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g) x y

x

 

 

y ;

 

h) x y

 

x y ;

 

i)

 

x

 

 

y

z

 

 

y

x

y

 

 

z

 

 

 

 

 

 

j)

 

x

 

 

y

x

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

 

 

a)

Известно, что импликация x

 

y истинна, а

эквивалентность x

y ложна. Что можно сказать о значении

импликации y

x ?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b)

Известно,

что эквивалентность

x

y истинна.

Что

можно сказать о значениях x

 

y и x

y ?

 

 

 

 

 

 

 

 

 

c)

Известно, что

x имеет значение 1. Что можно сказать

о значениях импликации x

y

z ;

 

x

 

y

z ?

 

 

 

 

 

 

d)

Известно,

что

x

y имеет значение 1.

Что можно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сказать

 

 

о

значениях

z

x

 

 

y ;

 

x

 

y

y ;

x

 

 

y

 

 

z ?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.Найдите логические значения x и y , при кото-

рых выполняются равенства:

a) 1 x

y 0;

b) x y x .

6.

 

Проверить,

справедливы ли следующие соотно-

шения:

 

 

 

 

 

 

 

а)

x & y

z

x & y

x & z ;

b)

x

y

z

x

y

x z

;

c)

x

y

z

x

y

x

z ;

d)

x

y

z

x

y

x

z ;

e)

x & y z

x & y

x & z ;

f) x & y

z

x & y

x & z ;

g)

x

y

z

x

y

x

z ;

h)

x

y

z

x

y

x

z .

 

7.

Используя основные равносильности, доказать

равносильность формул U и B, когда:

 

 

a) U x z xy xz ;

 

B z

xy ;

b) U x

y

xy

x

y ; B xy yx ;

c)

U

x

xy

x

y

y z ;

 

 

 

B

y

x

z ;

 

 

 

 

d)

U

x | y

z

x

z ;

B x

y z ;

e)

U

z

y

x

xz ;

B

xyz

yz 1;

f)

U

x

y

z | xyz ;

B

xyz

1.

 

8.

Выразить все основные операции:

 

 

a)

через дизъюнкцию, конъюнкцию и отрицание;

 

b)

через конъюнкцию и отрицание;

 

 

 

c)

через дизъюнкцию и отрицание;

 

 

 

d)

через импликацию и отрицание.

 

 

 

9.

a) Выразить отрицание импликации через основ-

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

b) Выразить операцию дизъюнкция через импликацию.

10.Доказать, что операция отрицания не может быть выражена через основные операции (бинарные) над высказываниями.

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

2.3 Булевы функции

Переменная x , принимающая два значения, 0 или 1, на-

зывается булевой переменной.

Пусть E 0,1

. Тогда E n E E

... E — множество

 

 

 

n

раз

упорядоченных двоичных наборов длины n :

E n

1 , 2 ,...,

 

i E , i 1, 2, 3, ... , n .

n

 

Говорят,

что задана

булева

функция n переменных

f x1 , x2 , ... , xn , если задан закон, по которому каждому

двоичному набору

1 ,

 

2 ,...,

n

E n

 

ставится в соответст-

вие 0 или 1: f : E n

E .

 

 

 

 

 

 

 

 

 

 

 

Таким образом, область определения булевой функции

f x1 , x2 , ... , xn есть

D F

 

E n ,

множество

значений —

R f

E , где мощность

 

D

f

 

 

2n ,

 

R f

 

2.

 

 

 

 

Булева функция может быть задана при помощи:

1.

описания;

 

 

 

 

 

 

 

 

 

 

 

2.

таблицы истинности;

 

 

 

 

 

3.

формулы алгебры высказываний;

 

4.

множества истинности

 

 

 

 

 

 

 

 

 

 

 

 

1 ;

 

 

E f

f 1 , 2 , ... , n

 

f

1 ,

 

 

2 , ... , n

 

 

5.набора значений;

6.функциональной схемы.

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

Пример. Пусть булева функция

f x1 , x 2 , x3 принимает

значений 1 на наборах 1 , 2 , 3 ,

в которых большинство

нулей, а на остальных наборах ее значение равно 0.

Описанная функция может быть задана с помощью таб-

лицы истинности (рис. 1):

 

 

 

 

 

 

В случае n переменных булева функция

f ( x1 , x 2 ,..., x n )

задается таблицей, содержащей 2 n строк, т.к.

 

E n

 

E

 

n 2n .

 

 

 

 

 

 

 

 

 

 

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

x1

x 2

x 3

f ( x1 , x2 , x3 )

0

0

0

1

 

 

 

 

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

0

 

 

 

 

x1

x

2

x

n 1

x

n

f ( x1 , x 2 ,..., xn )

 

 

 

 

 

 

 

 

 

 

 

 

 

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)

 

 

 

 

 

 

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)

 

 

 

 

 

 

 

 

 

Рис. 1

Рис. 2

При фиксированном

порядке расположения наборов

( 1 , 2 ,..., n ) в таблице истинности всякая булева функция однозначно задается набором своих значений. В нашем приме-

ре этот набор имеет вид f

(111010 0 0 ).

 

Заметим, что множество истинности E f ,

задающее

функцию f ( x1 , x2 ,..., xn ),

представляет собой

n-местное

отношение

 

 

 

 

на множестве E . Оно задает булеву функцию

по правилу:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

1,

 

2 ,... ,

 

 

 

1, если

1,

2 ,... ,

n

 

 

 

 

 

 

 

 

 

 

 

 

n

 

0, если

1, 2 ,... , n

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И наоборот,

булева

функция f ( x1 , x2 ,..., xn )

одно-

значно

 

 

 

 

определяет

 

 

 

 

множество

 

истинности

E f

 

f

 

 

1 ,

 

2 , ...,

 

n

 

f

 

 

1 ,

2 , ...,

n

1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В случае описанного выше примера

 

 

 

 

 

 

 

 

 

 

 

 

 

E f

 

0 0 0 , 0 01 , 01 0 , 1 0 0 .

 

 

 

 

 

Имеет место

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема. Всякая булева функция представима в виде

формулы алгебры логики через операции

, & и

, и это пред-

ставление таково:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f x1 , ..., xn

 

 

 

 

 

 

x1 1 & x2

2

& ... & xmm

&

f

1 ,

2 ,...,

m , xm 1 , ..., xn ,

 

 

 

 

 

 

1 ,..., m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

1 , 2 ,...,

 

m

 

— различные двоичные наборы значений

переменных

 

 

 

x , ..., x

n

,

1

m

 

n,

x

i

x

,

 

 

если

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

i

1, x

i

 

 

 

x

, если

 

i

 

0 ,

i

1, ..., m .

 

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приведенная

 

 

выше

 

 

в

 

 

примере

 

 

функция

f

x1 , x2 , x3

 

представима формулой:

 

 

 

 

 

 

 

 

 

f

x , x

2

, x

3

 

 

x0 x0 x0

f

000

x0 x

0 x1 f

001

x0 x1 x0

f

010

 

 

1

 

 

 

 

 

1

2

3

 

 

 

 

 

1

2

3

 

 

1

2

3

 

 

x 0 x1 x

1 f 011

 

x

1 x 0 x 0 f 10 0

 

x

1 x

0 x1 f 101

x1 x1 x 0 f 110

 

x1 x1 x1 f 111

1

2

3

 

 

 

 

 

1

2

3

 

 

 

 

1

2

3

 

 

1

2

3

 

 

1

2

3

 

 

 

 

 

 

x1 x2 x3

x1 x2 x3

x1 x2 x3

x1 x2 x3 .

 

 

 

 

 

 

 

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

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

Булевы функции вида

 

 

 

 

f1

x,

f2

x,

f3

x y

f4

x & y,

f5

x y,

f6

x

y,

f7

x y,

f8

x y,

f9

x

y

называются элементарными.

Булевы функции от n переменных называются равными, если они принимают одинаковые значения на соответствующих одинаковых наборах переменных, в них входящих. Равные функции реализуются равносильными формулами. Например,

f x1 , x2 x1 x2 x1 x2 x1 x2 x1 1.

Равносильность формул доказывается:

1.С помощью таблиц истинности;

2.Методом эквивалентных (равносильных) преоб-

разований.

Существует еще один способ доказательства равносильности формул, основанный на применении так называемого

принципа двойственности.

 

Булева функция

f x1 , , xn

называется двойствен-

ной

 

к

 

функции

 

f

x1 , , xn

,

если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

x1 , , xn

 

f

x1 , , xn .

 

Так,

 

 

функция

f

x, y

x & y ,

 

двойственна

к

f

x, y

x y :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f x , y x y x & y x & y .

 

 

 

 

 

Принцип

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

Пусть

f

x1 , , xm ,

g1 x1 , , xn , …,

gm x1 , , xn

— булевы функции и

пусть

x1 , , xn

 

f g1

x1 , , xn

, , gm

x1 , , xn

— суперпозиция функций f , g1 , , gm . Тогда двойственная

функция от суперпозиции функций равна суперпозиции двойственных функций:

x1 , , xn f g1 x1 , , xn , , gm x1 , , xn .

Из определения двойственной функции следует, что две

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

Пример.

Пусть f

x

xy ,

g

 

x y .

Доказать, что

f g .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство. Построим f

 

и g :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

f x, y

 

 

x x y x x y x & xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x & x y

 

 

x & x y

 

x & y;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

g x, y

 

x y x & y x & y.

 

 

 

Видим,

что

 

f

g

. Следовательно,

f g , т.е.

x xy x y .

Доказывается теорема, что число всех булевых функций

от n переменных равно 22n .

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

равна 2n строк, а число различных столбцов равно числу всех размещений с повторениями из 0 и 1 длины 2n , т.е.

 

2n

22n , что и доказывает теорему.

A

2

 

Примечание. Задание булевой функции в виде функциональной схемы будет рассмотрено далее.

ЗАДАЧИ И УПРАЖНЕНИЯ

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

a)принимает значение 1 в том и только в том случае, когда ровно две переменные равны нулю;

b)принимает такое же значение, как большинство (или меньшинство) переменных.

2.

 

 

Найти множество истинности E f для булевой

функции

 

f , заданной формулой:

1)

f

 

xy

y

1;

2)

f

 

x

y

 

x;

 

 

 

 

 

 

 

3)

f

 

x | y

| x;

4)

 

x y

z

 

x y ;

 

 

 

 

 

 

x | y .

5)

f

 

xy

 

3.Представить следующие функции в виде формул,

если:

1)

f

01 ;

 

 

 

2)

f

0011 ;

 

 

 

3)

f

0000 ;

 

 

 

4)

f

00110101 ;

 

 

5)

E f

00 , 11 ;

 

6)

E f

011 ;

010 ; 100 ; 111 ;

7)

 

 

 

 

 

 

 

 

 

x

 

y

f

 

 

 

0

 

0

1

 

 

 

0

 

1

0

 

 

 

1

 

0

1

 

 

 

1

 

1

1

8)

x

y

z

f

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

4. Найти число булевых функций от трех переменных, которые на заданных двух наборах:

a)принимают значение 1;

b)принимают любые заданные значения.

 

 

 

 

 

 

5.

Двоичные наборы вида d1 ,...,dn и d1 ,...,d n

называются противоположными. Найти число булевых функций от n переменных, которые на противоположных наборах переменных принимают:

a)противоположные значения;

b)одинаковые значения.

6.

 

Построить двойственную функцию для функции

f, если:

 

 

 

 

1)

f

x

y x

z y z ;

2)

f

01011100 ;

3)

f

x

y

x .

7. Построить двойственные функции для всех элементарных булевых функций.

8.

 

Доказать или опровергнуть равенство двух

функций, используя принцип двойственности:

 

1)

f x

 

y z ,

 

x

y

x

y ;

2)

f x

 

y

z ;

 

x

y

x

y ;

3)

f

x

y

 

z ;

xy

xz;

 

 

4)

f

x y

z ;

xy xz;

 

 

5)

f

x

 

y z ;

 

x y

x z .

 

9.

 

Доказать, что

f x, y

1 ,если:

 

1)

f

x

 

y

y

x ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

f

x

 

y

 

x

y ;

 

 

 

 

 

 

 

 

 

x | y ;

 

 

 

 

 

3)

f

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

y ..

 

 

 

4)

f

x

y

 

x

 

 

 

2.4Нормальные формы булевых функций

2.4.1Представление булевых функций в виде дизъюнктивной

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

 

Пусть x - булева переменная.

 

 

 

 

 

 

Введем

обозначение: x

x

x

 

,

где параметр

 

 

 

0,1 .

Очевидно,

что

x

x , если

1 ,

т.е.

 

 

 

 

 

x , если

0

 

x1

x , x 0

x .

 

 

 

 

 

 

 

 

Легко видеть, что

x

1 тогда

и только

тогда,

когда

x

.

 

 

 

 

 

 

 

 

 

Пусть x1 , x2 , ..., xn

- булевы переменные.

 

 

Определение. Формулы алгебры логики вида: