Переключательные функции. Булева алгебра.
Рассмотрим множество В={0,1}, где 0 и 1 не несут арифметической нагрузки, т. е. 0 -"нет сигнала"("ложь"), 1- "есть сигнал"("истина"). Такое множество называется булевым.
Алгебра, заданная на булевом носителе, называется булевой алгеброй или алгеброй логики.
Сигнатуру алгебры составляют переключательные функции - функции алгебры логики (логические функции).
Опр: Переключательная функция f(x1,x2,…,xn)- это функция, принимающая значения из множества В, аргументы которой тоже принимают значения 0 или 1.
f: Bn ®B - логическая функция.
Пример:голосование 3 человек.
I | ||||||||
II | ||||||||
III | ||||||||
итог | ||||||||
Нулевое множество (состоит из нулевых наборов) | Единичное множество (состоит из единичных наборов) |
Количество комбинаций значений, которые могут принимать переменные, равно 2n, значит, количество различных функций от n переменных равно .
От одной переменной: f(x) количество значений - 21=2;
Количество функций - 22=4.
x f1 f2 f3 f4 f1 =0 и f4=1 – константы;
0 0 0 1 1 f2 =х – тождественная;
1 0 1 0 1 f3 =х – отрицание;
Опр: Переменная xi в функции f(x1,… xi …xn) называется фиктивной (несущественной), если от нее не зависит значение функции:
f(x1,… xi-1,1,xi+1 …xn)= f(x1,… xi-1,0,xi+1 …xn).
В этом случае значение функция n переменных зависит от n-1 переменной, т.е. фиктивную переменную можно удалить из задания функции.
Остальные переменные называются существенными.
С использованием добавления фиктивных переменных можно все функции рассматривать как функции от одного количества переменных.
Способы задания функций:
1. Таблица истинности
Список переменных | Значения функции
Используемые функции от двух переменных:
х1 х2 х1~ х2 х1Ú х2 х1Ùх2 х1® х2 х1® х2 х1¯х2 х1|х2 х1Å х2
0 0 1 0 0 1 0 1 1 0
0 1 0 1 0 1 0 0 1 1
1 0 0 1 0 0 1 0 1 1
1 1 1 1 1 1 0 0 0 0
2. Формула
Функции описываются с использованием операторов:
х1~ х2 - эквивалентность (тождественность)
х1Ú х2 - дизъюнкция (или)
х1Ùх2 - конъюнкция (и)
х1® х2 - импликация (следствие)
х1¯х2 - стрелка Пирса (не или)
х1|х2- штрих Шеффера (не и)
х1Å х2 - неравнозначность (сложение по модулю два, xor).
Основной задачей теории булевых функций является разработка методов построения сложных функций из более простых композицией. Описание формулой композиции функций называется суперпозицией.
Переменные в формуле имеют глубину 0, сама формула имеет высшую глубину. Разбиение формулы по глубинам облегчает вычисление значения функции.
Пример:F=(у or x) xor (x and (x xor y))
После построения таблицы истинности имеем F=y, при этом х- фиктивная переменная.
Две формулы эквивалентны (равносильны), если они описывают одну и ту же функцию, при упрощении их результаты совпадают, а значения функций в таблице истинности при одних и тех же наборах равны. Если значение этой функции единично, то формула тождественно истинна, если значение функции нулевое, то формула тождественно ложна.
Для упрощения формул применяются свойства логических функций:
Основные свойства булевых функций:
1) идемпотентность: хÚх=х, хÙх=х,
2) коммутативность: хÙу=уÙх, хÚу=уÚх,
3) ассоциативность: хÚ(yÚz)= (хÚy)Úz, хÙ(yÙz)= (хÙy)Ùz,
4) поглощение: (xÙy)Úx=x, (xÚy)Ùx=x,
5) дистрибутивность: хÙ(yÚz)= (хÙy)Ú (хÙz), хÚ(yÙz)= (хÚy)Ù (хÚz),
6) двойное отрицание: x=x,
7) законы де Моргана: хÙу= хÚy, хÙу= хÚy.
8) склеивание: xyÚxy=x, (xÚy)(xÚy)=x.
9) действия с константами: xÚ0=x xÙ0=0
xÚ1=1 xÙ1=x
xÚx=1 xÙx=0.
Приоритет: инверсия, конъюнкция, дизъюнкция, остальные функции.
Поскольку свойства определены только для И, ИЛИ, НЕ, то запишем некоторые подстановки (равносильные формулы):
х1® х2= not (х1)or х2
х1¯х2 = not (х1 or х2)
х1|х2= not (х1¯х2)= not (х1 and х2)
х1Å х2 =(not х1 and х2) or ( х1and not х2)
х1Û х2 = not(х1Å х2) =(not х1 or х2) and ( х1or not х2)
х1Å 1 =not х1.
Таким образом, любую переключательную функцию можно задать булевой формулой: с применением переменных, их отрицаний и операций Ú и Ù, т.е <Ú,Ù, not>-сигнатура булевой алгебры.