Основные законы алгебры Буля. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные законы алгебры Буля.



 

Прежде, чем приступить к изложению основных законов алгебры логики, зафиксируем некоторые очевидные её положения.

1 + a = 1; 0 + a = a; a & 1 = a; a & 0 = 0; a + a’ = 1.

Эти соотношения легко проверяются по таблице истинности для логической функции ИЛИ подстановкой 0 или 1 вместо аргумента a.

 

 

В булевой алгебре все операции осуществляются с логическими переменными и подчиняются законам алгебры логики. Опишем и докажем некоторые из них.

а) Переместительный закон

а + в = в + а; ав = ва

б) Сочетательный закон

(а + в) + с = а + (в + с); (ав)с = а(вс)

в) Распределительный закон

а(в + с) = ав + ас; а + вс = (а + в)(а+с)

г) Закон поглощения

а + ав = а(1 + в) = а; а(а + в) = а + ав = а

д) Закон склеивания

ав + ав’ = а(в + в’) = a & 1 = a; (а + в)(а + в’) = а

е) Идемпотентный закон

a + a = a; a & a = a

Вышеприведённые законы легко проверяются подстановкой 0 и 1 вместо аргументов a, b, c.

ё) Правила де Моргана

Эти правила справедливы для любого числа аргументов.

а + в + с +.... + z = (а’в’с’...z’)’

авс... = (а’ + в’ + с’ +... + z’)’

Правила можно описать таким алгоритмом.

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

1) проинвертировать все слагаемые в отдельности;

2) заменить знаки сложения знаками умножения;

3) проинвертировать получившееся выражение.

Аналогично выполняется переход от логического произведения к логической сумме. В инженерной практике используются лишь правила де Моргана и закон склеивания.

Кроме основных функций И(f1), ИЛИ(f2), НЕ(f3), в алгебре логики часто используются функции равнозначности (эквивалентности) и неравнозначности (сумма по модулю 2). Для обозначения этих функций применяют следующие символы: равнозначность - ~ и =, сумма по модулю 2 - Å и ≠. Содержание этих функций отражено в таблице.

Смысл этой таблицы прост: если a = b, то функция равнозначности z9 = 1. Если же a ¹ b, то z9 = 0, а функция неравнозначности z6 = 1. Для того, чтобы по таблице истинности построить булеву функцию, достаточно выписать все наборы входных переменных и представить их в виде логической суммы. Если какая-либо переменная входит в набор нулём, то она в символьном виде отображается своей инверсией.

Из таблицы получаем:

z9 = а ~ в = 00 + 11 = а’в’ + ав – равнозначность;

z6 = a Å в = 01 + 10 = а’в + ав’ – сумма по модулю 2, или неравнозначность.

Из таблицы видно, что

z9 = z6’ или z9’ = z6.

Таким образом,

а’в’ + ав = (ав’ + а’в)’, или

а~в = (а Å в)’, а Å в = (а~в)’.

 

Особое место в алгебре логики занимает функция импликации: a→b = a’+b. Переводится приведённая формула импликации на русский язык так: если истинно a, то b тоже истинно. Например, пусть a – я выучу все энциклопедии, а b – обыграю всех телезнатоков. Тогда запись a→b будет означать следующее суждение: если я выучу все энциклопедии, то обыграю всех телезнатоков.

Все вышеприведённые правила и законы даны не для запоминания-зубрёжки, а в качестве справочного материала. Нужно никогда не забывать, что главным инструментом является Ваша светлая голова, Ваше мышление.

 

Синтез логических функций

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

Задача 1.1.

Приёмная комиссия в составе трех членов комиссии и одного председателя решает судьбу абитуриента большинством голосов. В случае равного распределения голосов большинство определяется голосом председателя. Найти краткое определение ситуации, в которой абитуриент будет принят в учебное заведение. Найти решение в виде логической функции, т.е. построить автомат для тайного голосования.

Решение.

Пусть f - функция большинства голосов. f = 1, если большинство членов комиссии проголосовало за приём абитуриента, и f = 0 в противном случае.

Обозначим через x4 голос председателя комиссии. x4 = 1, если председатель комиссии проголосовал за приём абитуриента. x3, x2, x1 - голоса членов приёмной комиссии.

С учётом вышеуказанных допущений условие задачи можно однозначно представить в виде таблицы истинности.

Заполнение таблицы осуществляем с учётом того, что функция f является полностью определённой, т.е. она определена на всех возможных наборах переменных x1 - x4. Для n входных переменных существует N = 2n наборов переменных. В нашем примере N = 24 = 16 наборов.

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

Примечание. Здесь и далее под набором будем понимать конъюнкцию, т.е. логическое произведение, всех входных переменных.

Все наборы, на которых функция принимает значение 1, будем называть единичными, или рабочими. Наборы, на которых функция принимает значение 0, будем называть нулевыми, или запрещенными (по Мавренкову Л.Т.).

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

 

Таким образом,

f = 0111+1001+1010+1011+1100+1101+1110+1111

или в символьном виде

f = x4’x3x2x1+x4x3’x2’x1+x4x3’x2x1’+x4x3’x2x1+x4x3x2’x1’+x4x3x2’x1+

+x4x3x2x1’+x4x3x2x1

Полученная форма функции называется совершенной дизъюнктивной нормальной формой (СДНФ), здесь каждое логическое слагаемое представляет собой конъюнкцию всех аргументов. В случае, когда не каждое слагаемое представляет собой конъюнкцию всех аргументов, то такая форма представления логической функции называется просто ДНФ. Очевидно, применяя основные законы булевой алгебры, мы могли бы аналитически уменьшить сложность полученного выражения. Но это наихудший способ минимизации булевых функций.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 198; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.32.116 (0.009 с.)