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

DisMathTPU

.pdf
Скачиваний:
65
Добавлен:
29.05.2015
Размер:
753.61 Кб
Скачать

21

Функции f0; f3; f5; f10; f12; f15 содержат фиктивные переменные и по-

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

f1(x1; x2) = x1 ^ x2

f7(x1; x2)

= x1 _ x2

f6(x1; x2)

= x1 x2

f9(x1; x2) = x1 x2 f8(x1; x2) = x1 # x2

f14(x1; x2) = x1=x2

f13(x1; x2) = x1 ! x2

f2(x1; x2) = x1 ,! x2

f11(x1; x2) = x1 x2

конъюнкция (логическое умножение, И ) (читается x1 è x2 ),

дизъюнкция (логическое сложение, ИЛИ ) (читается x1 èëè x2 ),

дизъюнкция с исключением (сложение по

модулю 2 ) (читается x1 ïëþñ x2 ),

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

(читается x1 эквивалентно x2 ),

стрелка Пирса (НЕ-ИЛИ ) (читается x1 стрелка x2 ),

штрих Шеффера (НЕ-И ) (читается x1 штрих x2 ),

импликация (логическое следование ) (читается x1 имплицирует x2 ),

не импликация

(читается x1 не имплицирует x2 ),

обратная импликация

(читается x1 обратно имплицирует x2 ),

f4(x1; x2) = x1 - x2 не обратная импликация

(читается x1 не обратно имплицирует x2 ). Определение. Булевы функции двух и менее аргументов назовем эле-

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

Пары инверсных элементарных функций:

0 1; _ #; ^ =; ;

-; ! ,!;

кроме того, пару составляют тождественная функция и инверсия.

3.6. Упражнения

Упр.1. Задать с помощью таблиц истинности, характеристических множеств, векторов, матриц Грея и интервалов следующие булевы функции: f1 : B3 ! B, функция равна единице на тех и только тех наборах, вес

которых больше единицы;

f2 : B4 ! B, функция равна единице на тех и только тех наборах,

которые представляют числа большие или равные 7;

22

f3 : B3 ! B, функция равна нулю на всех наборах с нечетным весом, и только на них.

Упр.2. Определить ядерные точки и интервалы булевых функций.

 

 

 

 

 

3 2

 

 

 

 

 

 

2

 

 

 

 

 

3 2

 

 

 

 

 

 

 

3 2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

Упр.3. Привести примеры таблиц истинности булевых функций:

f1 : B3 ! B, функция принимает различные значения на противоположных наборах;

f2 : B3 ! B : f( ) f( ) åñëè .

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

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

Упр.6. Найти и удалить фиктивные переменные булевых функций.

x y z

f1

f2

f3

f4

f5

f6

f7

f8

0

0

0

0

0

1

0

1

1

1

0

0

0

1

0

1

0

1

0

1

1

1

0

1

0

1

1

0

0

0

0

1

0

0

1

1

1

0

1

1

0

1

1

1

1

0

0

1

0

1

0

0

1

0

1

1

0

1

1

1

0

1

0

0

0

0

1

1

0

0

1

0

0

0

0

0

1

1

1

1

0

0

1

1

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

Упр.7. Найти и удалить фиктивные переменные булевых функций.

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

4 3

 

 

 

 

 

 

4 3

 

 

 

 

 

 

 

 

 

 

 

4 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

Упр.8. Представить все элементарные булевы функции матрицами Грея и разбить их на пары инверсных функций.

4.Формулы и равносильности

4.1.Формула как способ задания функции

Определение (индуктивное). Пусть даны Ф множество символов функций и X множество символов переменных.

База индукции. Если fi символ n-местной функции из множества Ф, а x1; x2; : : : ; xn переменные из множества X, то последовательность символов fi(x1; x2; : : : ; xn) формула над Ф и X.

Индуктивный переход. Если fj символ m-местной функции из Ф, а A1; A2; : : : ; Am переменные из X или формулы, то последовательность символов fj(A1; A2; : : : ; Am) формула над Ф и X, à A1; A2; : : : ; Am åå

подформулы.

Заключительная фраза. Других формул нет.

Если множество Ф = f0; 1; ; ; _; ^; ; ; !; ; ,!; -; #; =g, а множество X = fa; b; : : : ; z; x1; x2; : : : ; xng, то формулу над данными множествами Ф и X договоримся называть просто формулой (обратим внимание на

пустой символ, стоящий в множестве Ф после 1 это символ тождественной функции).

Примеры.

(c; a),

#

(b; c), (x),

(

(x; y); (z)).

 

^

 

 

_

 

Эти формулы написаны по всем правилам, оговоренным в определении, но мы будем использовать более привычный и уже введенный нами способ записи формул для элементарных булевых функций: c ^ a; b # c; x è ò.ä.

Чтобы указать порядок подстановки подформул A1; A2; : : : ; Am â ôîð-

мулу, то есть порядок вычисления значения формулы, будем брать все подформулы, кроме инверсии, в скобки. Договоримся обозначать формулы большими латинскими буквами.

Пример. Последняя формула предыдущего примера примет вид

F = (x y) _ z.

24

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

Пример. Формула F = (x (y ^ z)) _ (x ! z) примет вид

F = x yz _ (x ! z).

Определение. Будем говорить, что формула F задает булеву функцию f(x1; : : : ; xn), а функция реализует формулу, и в этом случае использовать обозначение Ff .

Пример. Построим таблицу истинности функции f, реализующей пре-

дыдущую формулу Ff = x yz _ (x ! z). Порядок вычисления значений

подформул обозначен цифрами внизу таблицы. Столбец значений функции выписан справа в рамке.

x y z

x yz _ (x !

 

)

f(x; y; z)

 

z

 

0

0

0

0

0

1

1

1

 

1

 

0

0

1

0

0

1

1

0

 

1

 

0

1

0

0

0

1

1

1

 

1

 

0

1

1

1

1

1

1

0

 

1

 

1

0

0

1

0

1

1

1

 

1

 

1

0

1

1

0

1

0

0

 

1

 

1

1

0

1

0

1

1

1

 

1

 

1

1

1

0

1

0

0

0

 

0

 

 

 

2

1

5

4

3

 

 

Определение. Формулу назовем тождественно истинной (обознача- ется F 1), если на всех наборах она принимает значение 1, и тожде-

ственно ложной (обозначается F 0), если на всех наборах она прини-

мает значение 0.

Пример. Исследуем формулу F = x _ xy _ y, построив по ней таблицу

истинности (здесь мы демонстрируем другой способ построения таблицы истинности построчный).

x y

x _

 

 

 

xy _ y

00 0 _ 00 _ 0 = 0 _ 0 _ 1 = 1

01 0 _ 01 _ 1 = 0 _ 1 _ 0 = 1

10 1 _ 10 _ 0 = 1 _ 0 _ 1 = 1

11 1 _ 11 _ 1 = 1 _ 0 _ 0 = 1

Формула является тождественно истинной.

25

4.2. Равносильность формул

Определение. Две формулы F 0 è F 00 называются равносильными, если они задают равные функции. В этом случае пишут F 0 = F 00.

Доказывать равносильности можно с помощью таблиц истинности или рассуждений, опирающихся на свойства ýëåìентарных булевых функций.

Пример. Докажем равносильность x _ y = x y, построив таблицы истинности для левой и правой формул.

x y x _ y x y

0

0

1

1

 

0

1

0

0

 

1

0

0

0

 

1

1

0

0

Пример. (x ! y) _ 1 = 1. Для доказательства этой равносильности

можно не строить таблиц истинности, а воспользоваться следующими рассуждениями: так как один из аргументов дизъюнкции равен 1, то левая часть тождественно равна 1 и поэтому равна правой.

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

4.3.Основные равносильности

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

Свойства 0 è 1: x0 = 0,

x1 = x,

x _ 0 = x,

x _ 1 = 1,

x 0 = x,

x 1 =

x

.

Закон двойного отрицания : x = x. Закон противоречия : x x = 0.

Закон исключенного третьего : x _ x = 1. Законы идемпотентности : xx = x,

x _ x = x.

Законы де Моргана: xy = x _ y, x _ y = x y.

Законы коммутативности : x _ y = y _ x, x y = y x, xy = yx.

26

Законы ассоциативности : x _ (y _ z) = (x _ y) _ z = x _ y _ z, x (y z) = (x y) z = x y z, x(yz) = (xy)z = xyz.

Законы дистрибутивности : x(y _ z) = xy _ xz,

x _ yz = (x _ y)(x _ z), x(y z) = xy xz.

Законы поглощения: x _ xy = x, x(x _ y) = x.

Законы склеивания: xy _ xy = y,

(x _ y)(x _ y) = y.

Закон обобщенного склеивания : xy _ xz = xy _ xz _ yz:

4.4. Свойства 0 и 1

Свойства 0 и 1 для дизъюнкции, конъюнкции и суммы по модулю 2 приведены в списке основных равносильностей. Для остальных функций аналогичные свойства при необходимости можно получать самостоятельно построением таблиц истинности.

Пример. Свойства 0 и 1 для импликации.

x x ! 0 x ! 1 0 ! x 1 ! x

0

1

 

 

1

1

0

1

0

 

 

1

1

1

Отсюда получаем следующие равносильности:

x ! 0 =

 

,

x ! 1 = 1,

0 ! x = 1, 1 ! x = x.

x

4.5. Упражнения

Упр.1. Построить таблицы истинности функций, заданных формулами:

F1 = xy ! (y _ z),

F2 = x ! y _ (x ! z), F3 = y (x _ z) (y z), F4 = x (x # y) _ (y # z).

Упр.2. Проверить равносильности:

1)x _ (y z) = (x _ y) (x _ z),

2)x ! (y z) = (x ! y) (x ! z),

3)x(y z) = xy xz,

4)x ! (y _ z) = (x ! y) _ (x ! z),

27

5)x (y ! z) = (x y) ! (x z),

6)x ! (y ! z) = (x ! y) ! (x ! z).

Упр.3. Доказать основные равносильности, пользуясь различными способами.

Упр.4. Проверить, являются ли формулы тождественно истинными либо тождественно ложными:

F1 = x ! yz _ y _ z,

F2 = (x z) (xy z) ! y ; F3 = (x y # (y z)) yz, F4 = x # y # (y # z) ! xz.

5. Двойственная функция и двойственная формула

5.1. Двойственная функция

Определение. Булева функция f (x1; : : : ; xn) называется двойственной булевой функции f(x1; : : : ; xn), если она получена из f(x1; : : : ; xn) инверсией всех аргументов и самой функции, то есть

f (x1; : : : ; xn) = f(x1; : : : ; xn):

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y

x # y

 

 

 

 

 

#

 

 

 

 

 

 

 

x

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#

 

 

= 1

 

0

0

1

 

0

0

 

 

 

 

 

#

 

 

= 1

 

0

1

0

 

0

1

 

 

 

 

 

#

 

 

= 1

 

1

0

0

 

1

0

 

 

 

 

 

#

 

= 0

1

1

0

 

1

1

Пусть булева функция f(x1; : : : ; xn) задана формулой Ff . Чтобы по- лучить формулу Ff0 для функции f (x1; : : : ; xn), двойственной функции f(x1; : : : ; xn), необходимо, согласно определению, проинвертировать все пе-

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

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

Пример. Пусть Ff = x # (y (x _ yz)) ! (y x). Последней должна

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

Ff0 = x # (y (x _ y z)) ! (y x) = x # (y (x _ y z)) ,! (y x):

28

Алгоритм построения таблицы истинности двойственной функции (основан на определении двойственной функции).

Инверсия всех переменных превращает наборы в их антиподы. Поскольку в таблице истинности антипод первого набора расположен последним, антипод второго набора предпоследним и так далее, то для построения функции f(x1; : : : ; xn) нужно перевернуть вектор-столбец значений исход-

ной функции f(x1; : : : ; xn), а для получения функции f(x1; : : : ; xn) еще и инвертировать компоненты столбца.

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

x y

x # y

 

 

#

 

 

 

 

#

 

 

 

 

 

 

x

y

x

y

 

 

 

 

 

0

0

1

 

0

 

1

 

 

 

 

 

 

0

1

0

 

0

 

1

 

 

 

 

 

 

1

0

0

 

0

 

1

 

 

 

 

 

 

1

1

0

 

1

 

0

 

 

 

 

 

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

 

 

 

0 1;

 

 

 

_ ^;

 

# =;

;

,!;

! - :

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

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

Пример. Покажем, что дизъюнкция двойственна конъюнкции (применив законы де Моргана и двойного отрицания):

(x _ y) = (x _ y) = x y = x y:

5.2. Двойственная формула

Определение. Формула F называется двойственной формуле F, если

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

им функций.

Пример. F = x # (y (x _ yz)) ! (y x),

F = x=(y

 

x(y

_

z)) - (y

 

x).

 

 

 

 

 

 

 

Теорема (принцип двойственности ). Если формула F задает булеву

функцию f(x1; : : : ; xn), то двойственная ей формула F задает двойствен- ную функцию f (x1; : : : ; xn):

29

Доказательство. По условию теоремы формула F задает булеву функцию f(x1; : : : ; xn). По определению формулы F имеем:

F = f(x1; : : : ; xn) = f0(f1(x1; : : : ; xn); : : : ; fm(x1; : : : ; xn)):

Рассмотрим двойственную ей формулу:

F = f0 (f1 (x1; : : : ; xn); : : : ; fm(x1; : : : ; xn)) =

[по определению двойственной функции для fi (x1; : : : ; xn), i = 1; : : : ; m ]

=f0 (f1(x1; : : : ; xn); : : : ; fm(x1; : : : ; xn)) =

[по определению двойственной функции для f0 (y1; : : : ; ym) ]

=f0(f1(x1; : : : ; xn); : : : ; fm(x1; : : : ; xn)) =

[ по закону двойного отрицания ]

= f0(f1(x1; : : : ; xn); : : : ; fm(x1; : : : ; xn)) = f(x1; : : : ; xn) =

[ по определению двойственной функции для f(x1; : : : ; xn) ]

= f (x1; : : : ; xn):

Пример. Рассмотрим формулу F = x _ y, задающую булеву функцию НЕ-ИЛИ, то есть стрелку Пирса. Двойственная ей формула F = xy äîëæ-

на задавать функцию, двойственную стрелке Пирса это штрих Шеффера: в самом деле F = xy это функция НЕ-И, то есть штрих Шеффера.

Следствие из принципа двойственности. Если формулы F1 è F2

равносильны, то двойственные им формулы F1 è F2 также равносильны.

Доказательство. Равносильные формулы F1 è F2 задают одну и ту же

булеву функцию f(x1; : : : ; xn), следовательно, по принципу двойственно-

сти, двойственные им формулы F1 è F2 задают двойственную f(x1; : : : ; xn) функцию f (x1; : : : ; xn).

Таким образом, можно не доказывать некоторые равносильности (в том числе и основные), а выводить их, пользуясь следствием из принципа двойственности.

Примеры. Исходя из закона склеивания конъюнкций x y _ x y = y и используя следствие, получим (x _ y)(x _ y) = y закон склеивания дизъюнкций. Исходя из одного закона де Моргана x _ y = x y и используя следствие, получим другой закон де Моргана x y = x _ y.

30

5.3. Способы получения двойственной функции

Из материала, изложенного в предыдущих двух подразделах, следует, что если булева функция f(x1; : : : ; xn) задана формулой Ff , то двойствен- ная ей функция f (x1; : : : ; xn) может быть получена из Ff следующими тремя способами:

по определению двойственной функции инверсией в формуле Ff âñåõ аргументов и самой функции;

по определению двойственной формулы и принципу двойственности

заменой в формуле Ff символов функций на символы двойственных им

функций;построением таблицы истинности исходной функции по заданной фор-

ìóëå Ff , а затем переходом к таблице истинности двойственной функции (переворотом и инверсией столбца значений исходной функции).

5.4. Упражнения

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

F1 = x y _ y z _ x t _ z t,

F2 = x 1 _ y(z t _ 0) _ x y z,

F3 = (x ! y) ((x # y)=(x y z)),

F4 = (x _ y _ (yz 1)) ! 1.

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

Упр.3. По таблицам истинности функций f1 f8 построить двойствен- ные им функции.

x y z

f1

f2

f3

f4

f5

f6

f7

f8

0

0

0

0

0

1

0

1

1

1

1

0

0

1

0

1

0

1

1

1

1

0

0

1

0

1

1

0

0

0

1

0

1

0

1

1

1

0

1

1

1

1

1

1

1

0

0

1

0

1

0

1

1

0

0

1

0

1

0

1

1

1

0

0

0

0

1

1

0

0

0

1

0

1

1

0

1

1

1

1

0

1

1

1

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

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