Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЛ и ТА_ЛЕКЦ.doc
Скачиваний:
66
Добавлен:
14.03.2016
Размер:
2.81 Mб
Скачать

Преобразуем эту формулу, используя соответствующие эквивалентности u  

Изобразим схему, соответствующую заключительной формуле

B

A

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

Любую формулу алгебры логики можно рассматривать как функцию, определенную на множестве B ={1, 0}.

Функцией алгебры логики (логической функцией) или булевой функцией f(x1,x2,...,xn) называется отображение f : B nB, определенное на множестве упорядоченных наборов элементов множества B и принимающее значения из этого множества. Обозначим через Pn – множество булевых функций n переменных.

Логическую функцию n переменных f(x1,x2,...,xn) можно задать таблицей, в левой части которой перечислены все 2n наборов значений переменных, а в правой части – значения функции на этих наборах.

x1 x2 . . . хn-1 xn

f(x1, x2 , . . . хn-1 , xn)

0 0 . . . 0 0

0 0 . . . 0 1

0 0 . . . 1 0

. . . . . . . . . . . . . . . .

1 1 . . . 1 0

1 1 . . . 1 1

f(0,0, . . . ,0,0)

f(0,0, . . . ,0,1)

f(0,0, . . . ,1,0)

. . . . . . . .

f(1,1, . . . ,1,0)

f(1,1, . . . ,1,1)

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

Нулем (единицей) булевой функции назовем упорядоченный набор значений переменных, на котором значение функции равно 0 (1).

Пусть F={} – некоторое множество булевых функций. Его можно выбрать в качестве основного набора, называемого базисом. Формулой над базисомF (обозначается [F]) называется выражение вида [F]=, где F, а либо переменная, либо формула надF. Таким образом, всякая формула является суперпозицией базисных функций, для её представления обычно применяется форма записи с логическими операциями ~. Каждой формуле однозначно соответствует некоторая булева функция f, в этом случае говорят, что формула реализует функцию f (обозначается func  = f ). Как будет показано ниже, такая реализация не единственна.

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

Логических функций одной переменной четыре: две нуль-местные (0(х), 3(х)) – константы 0 и 1, значения которых не зависят от значения переменной, и две одноместные функции – тождественная и отрицание.

x

0

1

2

3

0

0

0

1

1

1

0

1

0

1

Тождественная функция "повторяет" значение х: 1(х)=х. Функция отрицание возвращает значение, противоположное значению х: 2(х)=¬х.

Логических функций двух переменных шестнадцать:

х1

x2

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Рассмотрим подробнее все эти функции.

  • 012)0 и15 12)1.

  • 112) = х1  х2 . Эта функция называется ещё логическим умножением и обозначается, также, х1х2.

  • 212) =  (х1х2).

  • 312) = х1.

  • 412) =  (х2х1).

  • 512) = х2.

  • 612) = 12) называются неравнозначностью, разделительной дизъюнкцией или сложением по модулю 2 и обозначается еще как х1 х2.

  • 712) = х1 х2 .

  • 812) = 1х2) – антидизъюнкция, которая называется, также, стрелка Пирса и обозначается х1х2.

  • 912) = х12 . Эту функцию называют еще равнозначностью и обозначают х1х2 .

  • 1012) = .

  • 1112) = х2х1.

  • 1212) = .

  • 1312) = х1х2.

  • 1412) = 1х2) – антиконъюнкция, которая называется еще штрих Шеффера и обозначается х1 | х2.

Формулы, реализующие одну и ту же функцию, называются равносильными. Отношение равносильности формул является отношением эквивалентности и обозначается .

Фиктивной переменной (несущественной) функции f(x1, . . . , xn) называется переменная хi, изменение значения которой не меняет значения функции, то есть f(x1, . . . , хi-1, 1, xi+1, . . . , xn) = f(x1, . . . , хi-1, 0, xi+1, . . . , xn).

Например, в функциях 3 и 12 переменная х2 фиктивна, а в функциях 5 и 10 фиктивна переменная х1.

Функция f(x1, . . . , xn), имеющая фиктивную переменную xi, по существу зависит от (n–1)-й переменной, т.е. представляет собой функцию g(x1, . . . , хi-1, xi+1, . . . , xn). В этом случае говорят, что функция g получена из функции f удалением фиктивной переменной, а функция f получена из функции g введением фиктивной переменной, причём эти функции считаются равными.

Пусть f (x1,  , xn)  Pn – булева функция. Тогда функция f*(x1, , xn), определенная следующим образом

f *(x1, , xn) = ,

называется двойственной к функции f.

Теорема (Принцип двойственности). Пусть F={}. Тогда, если формула [F] реализует функцию f, то формула * над базисом F*={}, полученная из формулы заменой функций fi на двойственные им функции fi*, реализуют функцию f *.