КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Определение булевых функций
БУЛЕВЫ ФУНКЦИИ Булевой функцией Среди булевых функций выделяются так называемая тавтология – функция, равная единице при любом наборе аргументов, и противоречие – функция, принимающая значение Ø при любом наборе аргументов. Отрицанием истины считается ложь, и наоборот: Таблица истинности – один из способов задания булевой функции. Если для двух функций их значения при каждом наборе аргументов совпадают, то они считаются одной и той же функцией. В то же время имеется еще одна возможность задания булевых функций с помощью применения специальных обозначений для некоторого класса функций, причем функции, не входящие в этот класс, возникают как суперпозиции функций, входящих в исходный класс. Получаемые выражения называются формулами. Две функции, записываемые с помощью различных формул, являются эквивалентными, если их таблицы истинности совпадают. Перечень булевых функций двух переменных приведен в табл. 1.1.
Таблица 1.1 Булевы функции
Пусть имеется множество - коммутативные законы:
- ассоциативные законы:
- дистрибутивные законы:
- законы идемпотентности:
- закон двойного отрицания
- законы Де Моргана:
- законы поглощения:
В таком случае данное множество с введенными операциями представляет собой алгебру, притом булеву. Рассмотренные законы проверяются сопоставлением таблиц истинности для функций в левой и правой частях каждого из приведенных равенств, если использовать перечень функций от двух переменных. Сопоставим с элементами множества М высказывания, с операциями сложения – дизъюнкцию, с операциями умножения – конъюнкцию, со знаком отрицания – отрицание высказывания, со знаками эквивалентности – равенства. В таком случае обнаружится, что алгебра логики является интерпретацией булевой алгебры. Роль истины играет единица (1), лжи – ноль (0): Еще одна интерпретация булевой алгебры – множества с операциями объединения, пересечения и дополнения. Имеются и другие интерпретации, например релейные схемы. Исторической заслугой Джорджа Буля является то, что он сконструировал действия алгебры логики, основываясь на некоторой модификации обычных арифметических операций. С отрицанием величины Пользуясь приведенными выше аксиомами, формулы, с помощью которых задается булева функция, можно привести к эквивалентным формулам в целях максимального их упрощения. Контрольные задания
1. Максимально упростить выражение своего варианта, воспользовавшись законами логики Буля. Затем с помощью таблиц истинности сравнить упрощенное выражение с исходным: 1) (a 2) ((a 3) (רb 4) (a 5) (a 6) ((רb 7) (a 8) ((a 9) ((a 10) (a 11) ((d 12) ((רc 13) ((a 14) ((a 15) ((רb 16) ((b 17) (b 18) ((רc 19) (a 20) (((d 21) ((רb 22) ((c 23) (d 24) (רc Пример. (רc 1) (רc 2) (d 3) d 4) רb
2. Установить эквивалентность левой и правой частей следующих логических выражений: 1) ((a|b)|(a~b))|((c+d)→(d/c))=((b→c)→(a/c))↓((a|d)|(d→ רb)), 2) ((a 3) ((a↓b) 4) ((a~b)/(a↓b))↓((c~d)↓(c/d))=((c/a)↓(c/b))|((a↓d)↓(b↓d)), 5) ((a 6) ((a 7) ((d→b)→(רc/b))↓((c 8) ((a|b)/(רa+ רb)) 9) ((c/a) 10) ((c~b)/(b↓c))↓((רa~ רd)↓(a/d))=((b↓d)↓(c↓d))|((a/b)↓(a/c)), 11) ((a/d) 12) ((b↓d)↓(c↓d)) 13) ((c→d)|(c+d))|((a~b)→(a 14) ((b 15) ((d/a) 16) ((c→d)/(c~d)) 17) ((רc→b)→(d↓b))↓((a→d)|(a→c))=((c 18) ((a 19) ((b↓ רd) 20) ((d 21) ((a↓b) 22) ((c→a)/(a+ רc)) 23) ((c| רb)|(c~ רb))|((רa+ רd)→(רa/ רd))=((c→ רd)→(רb/ רd))↓ ↓((רb| רa)|(רa→c)), 24) ((c↓ רb) → ((רb↓ רa)
Пример основных фрагментов программы: / frazn, + xor, | fsh, ~, = feqv – логические функции и их идентификаторы;
function fsp(x,y:boolean): boolean; begin fsp:=(not x) and (not y); end; function feqv(x,y:boolean): boolean; begin feqv:=(not x) and (not y) or x and y; end; function frazn(x,y:boolean): boolean; begin frazn:=x and (not y); end; function fimp(x,y:boolean): boolean; begin fimp:=(not x) or y; end; begin for a:=false to true do for b:=false to true do for c:=false to true do for d:=false to true do begin m1:=fsp(c,not b); m2:=c xor (not b); m3:=frazn(not d,not a); m4:=feqv(not d,not a); m5:=m1 or m2; m6:=fsp(m3,m4); f1:=frazn(m5,m6); n1:=fimp(not d,not b); n2:=fimp(not d,c); n3:=fsp(not b,not a); n4:=fsp(c,not a); n5:=n1 and n2; n6:=n3 or n4; f2:=fimp(n5,n6); fsrav:=feqv(f1,f2); write('| '); if a then write('1') else write('0'); if b then write(' 1') else write(' 0'); if c then write(' 1') else write(' 0'); if d then write(' 1') else write(' 0'); write(' | '); if f1 then write(' 1') else write(' 0'); write(' | '); if f2 then write(' 1') else write(' 0'); write(' | '); if fsrav then write(' 1') else write(' 0'); writeln(' | '); end; readln; end.
Результат работы программы – таблица истинности:
Дата добавления: 2015-06-04; Просмотров: 668; Нарушение авторских прав?; Мы поможем в написании вашей работы! |