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

Математическая логика и теория алгоритмов. Учебное пособие-1

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
932 Кб
Скачать

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

Имеяфун кциюпроводимости, можемпостроитьтребуемуюРКС. Она состояла бы и четыре параллельных ветвей, на каждой из которых последо ательно располагались бы по три контакта, и задача синтеза была бы решена. Далее сразу решим задачу анализа – упростим функцию проводимости и построим наиболее простую РКС:

π(x, y, z) = x yz ˅ x y z ˅ xy z ˅ xyz =

=( x yz ˅ xyz) ˅ (x y z ˅ xyz) ˅ (xy z ˅ xyz) =

=yz (x ˅x ) ˅ xz ( y ˅ y) ˅ xy ( z ˅ z) = yz ˅ xz ˅ xy.

Рис. 2.5

Реализующая эту функцию РКС изображенана рис. 2.5.

2.10. Релейно-контактн ые схемы в ЭВМ

1. Двоичный полусумматор. Это устройство, предназначенное для сложения двоичных цифр (0 и 1) в первом разряде. Основано оно на РКС, реали ующих сумму S ( x, y) цифр x и y в первом разряде и величину P (x, y) переноса из первого во второй разряд.

Составим таблицу значений этих функций.

 

 

 

 

 

x

y

S (x, y)

P (x, y)

0

0

 

0

0

0

1

 

1

0

1

0

 

1

0

1

1

 

0

1

Отсюда получаем

S (x, y) = x y ˅ x y , P (x, y) = xy.

Реализующие эти функции РКС изображенына рис. 2.6.

41

Глава 2

Рис. 2.6

2. Двоичный сумматор. Это устройство, предназначенное для сложения двоичных цифр во втором и далее разрядах.

Обозначи м Sk и P k соответственно сумму цифр xk и yk k-го разряда и величину переноса в (k + 1)-й разряд. Очевидно, что

Sk Sk (xk , yk , Pk 1(xk 1, yk 1)), Pk (xk , yk , Pk 1(xk 1, yk 1)),

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

выражения:

xk

 

 

 

yk

 

 

 

Pk–1

 

 

Sk

 

Pk

0

 

0

 

0

 

0

 

0

 

 

0

 

0

 

1

 

1

 

0

 

 

0

 

1

 

0

 

1

 

0

 

 

0

 

1

 

1

 

0

 

1

 

 

1

 

0

 

0

 

1

 

0

 

 

1

 

0

 

1

 

0

 

1

 

 

1

 

1

 

0

 

0

 

1

 

 

1

 

1

 

1

 

1

 

1

 

 

Sk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

yP x yP

x y P xyP (

x

y xy)P

(x y x y)P,

 

 

 

 

 

 

 

 

 

Pk x yP x yP xyP

xyP (x y x y)P xy.

Здесь для простоты не записаны индексы входящих в выражение переменных.

Постройте РКС, реализующие функции Sk и Pk.

3. Шифратор. Это устройство для автоматического перевода десятичных чисел в двоичные.

Приведе м таблицу перевода десятичных цифр n10 в двоичные числа n2. В последней строке таблицы обозначены цифры различных разрядов двоичных чисел. Таким образом, для перевода десятичных цифр необходимо уметь автоматически вычислять величины f0, f2, f4, f8. Их можно считать булевыми функциями десяти переменных x0, x1, …, x9. Поясним ска-

занно на примере функции f8. Ее можно определить таблицей значений.

42

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

n10

 

 

 

 

 

 

 

 

 

 

n2

 

 

 

 

 

 

0

 

 

0

 

 

 

 

0

 

 

 

 

 

0

 

 

 

0

1

 

 

0

 

 

 

 

0

 

 

 

 

 

0

 

 

 

1

2

 

 

0

 

 

 

 

0

 

 

 

 

 

1

 

 

 

0

3

 

 

0

 

 

 

 

0

 

 

 

 

 

1

 

 

 

1

4

 

 

0

 

 

 

 

1

 

 

 

 

 

0

 

 

 

0

5

 

 

0

 

 

 

 

1

 

 

 

 

 

0

 

 

 

1

6

 

 

0

 

 

 

 

1

 

 

 

 

 

1

 

 

 

0

7

 

 

0

 

 

 

 

1

 

 

 

 

 

1

 

 

 

1

8

 

 

1

 

 

 

 

0

 

 

 

 

 

0

 

 

 

0

9

 

 

1

 

 

 

 

0

 

 

 

 

 

0

 

 

 

1

 

 

 

f8

 

 

 

 

f4

 

 

 

 

 

f2

 

 

f0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

x1

x2

x3

x4

x5

x6

x7

x8

x9

f8

 

 

 

0

0

0

0

0

0

0

 

0

0

0

0

 

 

 

 

0

1

0

0

0

0

0

 

0

0

0

0

 

 

 

 

0

0

1

0

0

0

0

 

0

0

0

0

 

 

 

 

0

0

0

1

0

0

0

 

0

0

0

0

 

 

 

 

0

0

0

0

1

0

0

 

0

0

0

0

 

 

 

 

0

0

0

0

0

1

0

 

0

0

0

0

 

 

 

 

0

0

0

0

0

0

1

 

0

0

0

0

 

 

 

 

0

0

0

0

0

0

0

 

1

0

0

0

 

 

 

 

0

0

0

0

0

0

0

 

0

1

0

1

 

 

 

 

0

0

0

0

0

0

0

 

0

0

1

1

 

 

Здесь дл

простот

ы считаем, что в остальных строках этой таблицы

(всего их 210)

функция

принимает значение ноль. Запиш ем СДНФ для

функции f8:

 

 

f8 (x0 , x1, , x9 ) x0 x1 x7 x8 x9 x0 x1 x7 x8x9 x0 x1 x7 ( x8 x9 x8x9 ) .

Эту функцию реализует РКС (рис. 2.7):

Рис. 2.7

Аналоги чно можно построить РКС, реализую щие функции f0, f2, f4.

43

Глава 2

Задачи к главе 2. Булевы функции

1.Докажите, что существует точно 22n различных булевых функций от n аргументов.

2.Построив соответствующие таблицы значений, выясните, равны ли следующие булевы функции:

f (x, y, z) = (x y) → z, g (x, y, z) = x → (y z), f (x, y, z) = (x + y) z, g (x, y, z) = xz + yz,

f (x, y, z) = (x + y) + z, g (x, y, z) = x +(y + z).

3.Выясните, обладает ли булева функция «стрелка Пирса» следующими свойствами: коммутативность, ассоциативность, дистрибутивность относительно конъюнкции.

4.Выясните, обладает ли функция «сумма Жегалкина» следующими свойствами: коммутативность, ассоциативность, дистрибутивность относительноконъюнкции. Дистрибутивналиконъюнкцияотносительносуммы Жегалкина?

5.Постройте СДНФ и СКНФ следующих функций:

f (x, y, z) = xy (x z) , g (x, y, z) = (x y) → xz.

f (x, y) = x ˅ y, f (x, y) = x | y, g (x, y) = x + y, h (x, y) = x y. 6. Докажите равенства:

x ˅ y = xy + x + y, x y = xy + x + 1, x y = x + y + 1

7.Перечислите булевы функции одной переменной:сохраняющие ноль;сохраняющие единицу;

сохраняющие ноль и единицу.

8.Перечислите булевы функции двух переменных:сохраняющие ноль;не сохраняющие единицу;

не сохраняющие ноль, но сохраняющие единицу.

9.Для следующих булевых функций найдите двойственные функции.

Представьте найденные функции их СДН-формами: f (x, y, z) = x y z x ;

g (x, y, z) = z x y y z ; h (x, y, z) = x y z x y z xyz;

t (x, y, z) = xyz + xy + xz + z.

10. Докажите, что следующие булевы функции самодвойственны: f (x, y, z) = x (z y) ˅ y z ;

44

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

g (x, y, z) = xz + (x + z) (y + 1) h (x, y, z) = x y x z y z .

11. Выясните, какие из следующих булевых функций самодвойственны:

f (x, y, z) = xyz xyz xyz;

g (x, y, z) = (x + 1) y z ˅ (x + y) z.

12.Найдите все самодвойственные функции одной переменной.

13.Найдите все самодвойственные функции двух переменных. Сколько из них существенно зависит от обеих переменных?

14.Докажите, что количество самодвойственных булевых функций

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

15.Выясните, при каких n функция f (x1, …, xn) = x1 + … + xn является самодвойственной.

16.Докажите, что для произвольной функции f (x1, …, xn) функция

g(x0 , x1, , xn ) x0 f (x1, , xn ) x0 f (x1, , xn )

является самодвойственной.

17. Докажите, что справедливы равенства:

(f*)* = f, (f ˄ g)* = f* ˅ g*, (f ˅ g)* = f* ˄ g*, (f g)* = f* | g*,

18.Выпишите полиномы Жегалкина функций одной переменной.

19.Выпишите полиномы Жегалкина функций

x, xy, x ˅ y, x y, x y, x y, x | y, x + y,

20.Найдите полиномы Жегалкина следующих функций. Определите, являются функции линейными или нет:

f (x, y) = x → ( x y);

g (x, y, z) = x y z xy z; h (x, y, z) = x y z xyz xyz;

t (x, y, z) = (y z + x) → (x x y ).

21.Докажите, что количество линейных функций n переменных равно 2n+1.

22.Выпишите все линейные функции двух переменных.

23.Докажите, что функция, двойственная линейной, также линейна.

24.Выясните, сравнимы ли два данных набора:

(0,1,0), (1,0,0); (0,1,1,0), (0,1,0,1); (1,0,0), (1,0,1).

45

Глава 2

25. Дока жите монотонность следующих булевых функций: f (x, y, z) = xy ˅ xz ˅ yz;

g (x, y, z) = xy + (x + y).

26. Найдите все монотонны е функции однойпеременной. 27. Найдите монотонные функции двух переменных. 28. Дока жите немонотонность функций:

f (x, y) = x y;

g (x, y, z) = xyz + xz.

30. Выясните, при каких n следующие функции монотонны:

f (x1, x2, … , xn) = (x1 ˅ x2 ˅ … ˅ xn) → (x1 x2 xn);

f (x1, x2, … , xn) = (x1 ˅ … ˅ xn–1 ˅xn ) → (x1 xn–1 xn).

29. Дока жите полноту следующих систем булевых функций: {x y, x }, {x + y, xy, 1}, {x y}, {x | y}.

30. Дока жите неполноту системы функций

{x ˄ y, x ˅ y, x y}.

33. Исследуйте на полноту системы функций: {y xy, 0,1};

{x + y + z, xy, x }; {xy ˅ xz ˅ yz, x , 1}.

31. Выясните, является ли система {f1, f2} булевых функций полной,

если f P0 L, f2 S, f1 f2 = 1

32. Из полной системы булевых функций {x + y + z, 1, xy, x } выделите всевозмож ные базисы.

33. Постройте релейно-контактную схему с заданной функцией проводимости:

(xy ˅z ˅x )( x ˅ y);

(xy ˅ z) → x z;

(z xy)((x ˅z ) ↓ yz).

34. Упростите следующие релейноконтактные схемы:

Рис. 2.8

46

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

Рис. 2.9

35. Постройте наиболее простые релейно-контактные схемы по заданным условиям работы:

π(0,0,0) = π (0,1,0) = π (1,0,0) = π (0,1,1) = 1;

π(1,1,0,1) = π (0,1,0,1) = 0

36*. Докажите, что для каждой функции f (x, x1, …, xn) выполняется равен тво

f (x, x1, …, xn) = (x·f (1, x1, …, xn)) ˅ ( x ·f (0, x1, …, xn)).

37*. Докажите, что:

{˄, →} – базис для P1;

{˄, +} – базис для P0;

{˄, ˅, 0, 1 } – базис для M; {0, ↔} – базис для L;

{ x , xy + xz + yz} – базис для S.

38*. Докажите, что из всякой несамодвойственной функции и функции x можно получить суперпозициями функции0 и 1.

47

Глава 3

ГЛАВА 3. ЛОГИКА ПРЕДИКАТОВ

3.1. Понятие предиката. Множество истинности предиката. Виды предикатов

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

Предложение «3 есть простое число» является истинным высказыванием. Предложение «4 есть простое число» является ложным высказыванием. Предложение «x есть простое число» называют неопределенным высказыванием или предикатом. Это предложение становится высказыванием, если вместо x подставить некоторое конкретное число, например из множества N натуральных чисел.

Предложение «2 + 3 = 3» является ложным высказыванием. Предложение «1 + 2 = 3» является истинным высказыванием. Предложение «x + y = 3» называют неопределенным высказыванием или предикатом. Это предложение становится высказыванием, если вместо x и y подставить некоторые конкретные числа, например из множества R действительных чисел.

Пусть (x1, x2, …, xn) M1 M2 …. Mn = M. Неопределенное высказывание P (x1, x2, …, xn), содержащее переменные (x1, x2, …, xn), называется n-местным предикатом, определенным на множестве M.

Согласно данному определению, предложение «x есть простое число» – одноместный предикат, определенный на множестве N; предложение «x + y = 3» – двухместный предикат, определенный на множестве R.

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

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

Определение. Множеством истинности предиката P (x1, x2, …, xn), определенного на множестве M, называется подмножество P+ (x1, x2, …, xn) множества M, определяемое равенством

P+ (x1, x2, …, xn) = {(a1, a2, …, an) | ai Mi, [P (a1, a2, …, an)] = 1}.

Для одноместного предиката P (x) – «x является простым числом», определенного на множестве натуральных чисел, P+ (x) = {2,3,5,…} – множество простых чисел.

48

Логика предикатов

Для двухместного предиката Q (x, y) – «x y», определенного на множестве действительных чисел,

Q+ (x, y) = {(a1, a2) | a1, a2 R, a1 a2}.

Это множество можно изобразить точками верхней полуплоскости, ограниченной прямой x = y.

Упражнение. Определите и изобразите множества истинности предикатов « x 1x 0 », и «x2 + y = 1», определенных на множестве R и R R

соответственно.

Пусть P (x1, x2, …, xn) – n-местный предикат, определенный на множестве M.

Определение. Предикат P (x1, x2, …, xn) называется тождественно истинным на M, если его множество истинности P+ (x1, x2, …, xn) совпадает с M.

Определение. Предикат P (x1, x2, …, xn) называется тождественно ложным на M, если его множество истинности P+ (x1, x2, …, xn) пусто.

Определение. Предикат P (x1, x2, …, xn) называется выполнимым на M, если его множество истинности P+ (x1, x2, …, xn) есть непустое подмножество M.

Определение. Предикат P (x1, x2, …, xn) называется опровержимым на M, если его множество истинности P+ (x1, x2, …, xn) есть собственное подмножество M.

Рассмотренные выше предикаты P (x) и Q (x, y) являются выполнимыми и одновременно опровержимыми на R и R R соответственно.

Примером тождественно истинного предиката, определенного на множестве R, может служить предикат «sin2x + cos2x = 1», а примером тождественно ложного предиката – «x2 < 0».

3.2. Операции над предикатами и их свойства

Операции «конъюнкция», «дизъюнкция», «отрицание», «им-

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

Определение. Отрицанием предиката P (x1, x2, …, xn) называется предикат P(x1, x2 , , xn ) (неверно, что P (x1, x2, …, xn)) такой, что

(a1, a2, …, an) M1 M2 …. Mn (([P(a1,a2 , ,an )] = 1) ↔ ↔ ([P (a1, a2, …, an)] = 0)).

49

Глава 3

Пример. Дан двухместный предикат:

Q (x, y) – «Студент x учится в группе y». Его отрицанием будет предикат.

Q(x, y) – «Студент x не учится в группе y».

Пример. Даны предикаты «x > y» и «x + y = 1».

Дизъюнкцией этих предикатов будет предикат «x > y или x + y = 1». Исходя из определений операций «отрицание», «конъюнкция»,

«дизъюнкция», доказывается теорема Теорема. 1. Множество истинности отрицания предиката равно до-

полнению множества истинности исходного предиката:

(P(x1, x2 , , xn )) P (x1, x2 , , xn ).

2. Множество истинности конъюнкции предикатов равно пересечению множеств истинности исходных предикатов:

(P (x1, x2, …, xn) ˄ Q (x1, x2, …, xn))+ =

=(P+ (x1, x2, …, xn)) Q+ (x1, x2, …, xn)).

3.Множество истинности дизъюнкции предикатов равно объединению множеств истинности исходных предикатов:

(P (x1, x2, …, xn) ˅ Q (x1, x2, …, xn))+ = = (P+ (x1, x2, …, xn)) Q+ (x1, x2, …, xn)).

Упражнение. Исходя из множеств истинности P+ и Q+, определите множества истинности (P Q)+ импликации и (P Q)+ эквиваленции предикатов.

Операции квантификации. Пусть P (x) – одноместный предикат, определенный на некотором множестве M.

Определение. Переход от предиката P (x) к высказыванию xP (x) (для любого x P (x)) или к высказыванию xP (x) (существует x P (x)) называется операцией квантификации. Символ называется квантором всеобщности, символ называется квантором существования. Переменная x в выражениях xP (x) и xP (x) называется связанной.

Пример. Дан одноместный предикат

P (x) – «x > 3», x R.

Тогда результаты операций квантификации следующие:xP (x) – ложное высказывание ([ xP (x)] = 0),

xP (x) – истинное высказывание([ xP (x)] = 1).

50

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