булева алгебра.ppt
- Количество слайдов: 66
Булева алгебра
Определение булевой алгебры Булева алгебра определяется как непустое множество с операциями , , , удовлетворяющими аксиомам:
Джордж Буль Булевы алгебры возникли в трудах Джорджа Буля (Boole George) (2. 11. 1815, Линкольн, - 8. 12. 1864, Баллинтемпл) – английского математика и логика. Дж. Буль не имел специального математического образования, однако с 1849 года был профессором математики. Он заложил основы математической логики в работах «Математический анализ логики» (1847 г. ) и «Исследование законов мышления» (1854 г. )
Приложения булевой алгебры В основе приложения булевой алгебры к логике лежит интерпретация элементов булевой алгебры как высказываний, при этом дополнение x интерпретируется как отрицание высказывания х, а операции и - как конъюнкция и дизъюнкция.
Приложения булевой алгебры В аксиомах булевой алгебры отражена аналогия между понятиями «множество» , «событие» и «высказывание» . Аксиоматика позволяет ввести отношение порядка в булевой алгебре с помощью условия: Отношение порядка в булевой алгебре в зависимости от интерпретации может быть истолковано как теоретико-множественное включение, как причинное следование для событий, как логическое следование для высказываний.
Двоичная система счисления
Определение q-ичной системы счисления Любое натуральное число n в позиционной системе счисления с основанием q представимо в виде многочлена Коэффициенты используются в качестве цифр данной системы счисления. Количество цифр при основании q равно q. Цифры q-ичной системы счисления обычно записываются с помощью цифр десятичной системы счисления: 0, 1, 2, 3, …, (q-1). Число n в позиционной системе счисления с основанием q записывается следующим образом:
Определение двоичная система счисления Если q=2, то мы имеем дело с двоичной системой счисления. В ней для записи чисел имеется только две цифры: 0 и 1. Для перевода чисел записанных в десятичной системе счисления в двоичную используется следующий алгоритм, работу которого поясним на примере: дано число 37, последовательно делим неполные частные с остатком на 2 37 1 18 9 4 2 1 0 0 1 В результате число 37 мы представили в виде многочлена по степеням 2: Тогда в двоичной записи получим
Арифметические операции над двоичными числами Сложение и умножение двоичных чисел выполняется столбиком с помощью «таблицы сложения» и «таблицы умножения» . + 0 1 0 0 1 10 0 1 0 1
Задачи на двоичные числа 1. Перевести в десятичную систему счисления двоичные числа: 1. 1. 10010 1. 2. 1011100 1. 3. 1110001 1. 4. 10000001 1. 5. 11010001 1. 6. 10011110 1. 7. 1000000 1. 8. 1111 2. Перевести в двоичную систему десятичные числа: 2. 1. 12 2. 2. 10 2. 3. 16 2. 4. 17 2. 5. 25 2. 6. 32 2. 7. 30 2. 8. 49 3. Выполнить действия: 3. 1. 1010+1101 3. 2. 1100+101 11 3. 3. 1001 101+1100+1010 10 3. 4. (10101+11011) 101+(11001+10110) 110
Алгебра высказываний
Понятие высказывания Высказывание – это некоторое утверждение в виде повествовательного предложения, по смыслу которого можно сказать, истинно оно или ложно. Условимся обозначать высказывания большими латинскими буквами: А, В, С и т. д. Примеры истинных высказываний: А= «Волга впадает в Каспийское море» В= «Квадрат гипотенузы равен сумме квадратов катетов» С= «На плоскости через точку, не лежащую на данной прямой, можно провести только одну прямую, не пересекающую данную прямую» Заметим, что высказывание С является истинным, так как используется в качестве аксиомы в геометрии Евклида. Примеры ложных высказываний: D= «Кохма – столица Японии» Е= «существует самое большое простое число» Высказывания могут изменять свою истинность при определенных условиях: F= «На плоскости через точку, не лежащую на данной прямой, можно провести хотя бы две прямые, не пересекающие данную прямую» Высказывание F ложно в геометрии Евклида (так как является отрицанием С), но истинно как аксиома в Геометрии Лобачевского. G= « 101+11=1000»
Формализация понятия высказывания В нашей теории будем рассматривать в качестве высказываний только такие утверждения, которые независимо от обстоятельств являются либо истинными, либо ложными. Тот факт, что высказывание А истинно, будем записывать А=1, и А=0 – то, что А ложно. Всякий символ, обозначающий некоторое высказывание, - это переменная величина, принимающая одно из двух значений – либо 0, либо 1. Такие переменные называются двоичными.
Операции над высказываниями
Дизъюнкция + (обозначение: А В) или логическое сложение 0 (обозначение: А+В) 1 Так как в сложном высказывании союз ИЛИ соответствует операции , то дизъюнкцию называют операцией ИЛИ. 0 1 1 1
Конъюнкция (обозначение: . А В=А&В) или логическое умножение 0 (обозначение: АВ) Так как в сложном 1 высказывании союз И соответствует операции , то конъюнкцию называют операцией И. 0 1 0 0 0 1
Отрицание или инверсия (обозначение: А или ). В сложном высказывании отрицательной частице НЕ соответствует операция отрицания. А 0 1 1 0
Свойства дизъюнкции и конъюнкции • Коммутативность А+В=В+А; АВ=ВА • Ассоциативность (А+В)+С=А+(В+С); (АВ)С=А(ВС) • Дистрибутивность А(В+С)=АВ+АС; А+ВС=(А+В)(А+С) • Идемпотентность А+А=А; АА=А
Теоремы одной переменной • • • А+0=А А· 0=0 А+1=1 А· 1=А А+А=А А+ =1 А· =0 =А
Теоремы поглощения и склеивания Теорема поглощения А+АВ=А; А(А+В)=А Теорема склеивания АВ+А =А; (А+В)(А+ )=А Теоремы поглощения и склеивания используются для упрощения булевых формул.
Теорема де Моргана •
Задачи 1. Упростите выражение 2. Найдите отрицание
Дизъюнктивные и конъюнктивные формы
Определение дизъюнктивных и конъюнктивных форм •
Определение ДНФ и КНФ Дизъюнктивная форма, каждый член которой представляет собой либо отдельную переменную (с отрицанием или без), либо конъюнкцию переменных, называется дизъюнктивной нормальной формой или ДН-формой. Конъюнктивная форма, каждый член которой представляет собой либо отдельную переменную (с отрицанием или без), либо дизъюнкцию переменных, называется конъюнктивной нормальной формой или КН-формой. Примеры ДНФ: АВ+С ; A+B+ +CE Примеры КНФ: (A+ )(C+ +D); B(C+D)
ДНФ и КНФ •
Задачи 1. Укажите номера формул, представленных в ДНФ 1. 1. AB+C 1. 4. A+B+C 1. 7. A+BC+ 1. 10. P+Q(P+R) 1. 13. A+A 2. 1. 2. AB+A(B+C) 1. 5. AB+ABAA; 1. 8. B+C+B+CA 1. 11. A+A(A+A) 1. 14. AAA+A 1. 3. A 1. 6. AA 1. 9. AB 1. 12. A+ 1. 15. A+BC Укажите номера формул, представленных в КНФ 2. 1. (AB+C)A 2. 4. A(B+C) 2. 7. (BA+BC) 2. 10. PQR 2. 13. A+B 2. 2. (A+B)(B+C) 2. 5. A(B+A)BA+A; 2. 8. BCB(D+CA) 2. 11. ABC(A+A) 2. 14. ABC(D+ ) 2. 3. A+B 2. 6. A+A+ + 2. 9. (A+AA)A 2. 12. (A+ ) 2. 15. BB
Булевы функции
Определение булевой функции •
Задание булевых функций •
Набор значений переменных Пусть дана булева функция Набор значений переменных – это последовательность нулей и единиц длины п, в которой каждая цифра (слева направо) является значением соответствующей переменной. Например, пусть и дан набор значений переменных 1001, тогда , и Вычислим значение функции на данном наборе значений переменных: Наборы значений переменных удобно рассматривать как двоичные числа, причем их можно перевести в десятичную запись. Например, , т. е. данный набор имеет номер 9 в десятичной системе. Если по десятичному номеру требуется найти набор значений переменных, то переводим его в двоичную запись и дописываем слева столько нулей, чтобы общее число разрядов стало равным числу переменных.
Аналитический способ задания булевой функции Аналитический способ состоит в том, что функция имеет вид математического выражения с использованием двоичных переменных и логических операций. Примеры.
Табличный способ задания булевых функций Табличный способ состоит в том, что в таблице перечисляются все возможные наборы значений аргументов и для каждого набора указывается значение функции. Такую таблицу называют таблицей соответствия (истинности).
Пример Дана булева функция Построим для нее таблицу истинности № 0 1 2 3 4 5 6 7 А 0 0 1 1 В 0 0 1 1 С 0 1 0 1 f 0 1 1 1 0 0
Минимальные термы или минтермы Функции, которые принимают единичное значение только на одном наборе значений своих аргументов, называются минимальными термами или минтермами. Минтерм от n переменных представляет собой конъюнкцию, в которой каждая переменная входит один раз в прямой или инверсной форме. Минтерм обычно обозначается буквой т с десятичным индексом, являющимся номером минтерма. В двоичной системе счисление номер представляет набор значений своих переменных, на котором он принимает единичное значение.
Примеры минтермов Пусть функция зависит от трех аргументов А, В и С. Так как 0002 =010 , следовательно, Так как 0012 =110 , следовательно, Так как 0102 =210 , следовательно, Так как 0112 =310 , следовательно, И т. д.
Свойства минтермов • Конъюнкция любых двух различных минтермов, зависящих от одних и тех же аргументов, тождественно равна нулю. • Конъюнкция равных минтермов равна данному минтерму.
Задачи 1. Запишите двоичные наборы, на которых минтермы принимают единичное значение: 2. Даны наборы, на которых минтермы принимают единичное значение. Запишите аналитические выражения минтермов, располагая буквы в алфавитном порядке, начиная с буквы А 2. 1) 0011 2. 2) 111000 2. 3) 111 2. 4) 1100 2. 5) 11111 2. 6) 000 2. 7) 00011 2. 8) 1111 Запишите в аналитической форме минтермы, если известно, что они зависят от аргументов A, B, C, D, E 3.
Задачи 4. Найдите десятичные индексы минтермов
Совершенная дизъюнктивная нормальная форма
Определение СДНФ Говорят, что булева функция f от n переменных записана в совершенной дизъюнктивной нормальной форме или СДН-форме, если она представлена в виде дизъюнкции (суммы) минтермов n переменных. Теорема. Если булева функция f не является тождественным нулем, то она представима в виде СДНФ единственным образом.
Пример Функция f задана таблицей истинности. Единичные значения расположены в строках 2 и 5, следовательно, № 0 1 2 3 4 5 6 7 A 0 0 1 1 B 0 0 1 1 C 0 1 0 1 f 0 0 1 0 0
Пример Пусть дана функция, принимающая единичное значение на наборах 001, 010, 101 и 110. Построим аналитическое представление СДНФ: Ее можно записать и через обозначения минтермов: Букву т можно удалить и указывать только номера наборов, на которых функция равна единице:
Задачи 1. Найдите СДНФ следующих функций в аналитической форме от аргументов А, В и С 2. Запишите в аналитической форме функции, зависящие от аргументов А, В и С :
Задачи 3. Запишите десятичные номера минтермов, образующие функции четырех аргументов:
Карта Вейча
Карта Вейча двух аргументов В клетках записаны десятичные номера соответствующих минтермов. А А А В В АВ 3 АВ 2 В АВ 1 0 АВ На карте также указаны только неинверсные аргументы. Это означает, что остальные клетки находятся в области действия соответствующего инверсного аргумента.
Карта Вейча трех аргументов А А В АВС С С АВС АВС В АВС С А В 6 4 7 3 5 1 С 2 0
Карта Вейча четырех аргументов А 12 14 6 13 15 4 7 В 5 D 9 11 3 1 8 10 2 0 C
Карта Вейча четырех аргументов На карте записаны десятичные номера минтермов от четырех переменных. Таблица соответствия приведена на следующем слайде. Вокруг карты размещены переменные, для каждой из которых строго закреплена своя зона (соответствующая линии – горизонтальная или вертикальная). Указаны только области неинверсных аргументов, при этом оставшаяся половина карты (по умолчанию) обозначается буквой с отрицанием.
Таблица соответствия минтермов от четырех аргументов и их десятичных номеров Минтерм Десятичный номер 0 1 2 3 4 5 6 7 Минтерм Десятичный номер 8 9 10 11 12 13 14 15
Карта Вейча пяти аргументов Е А В 25 27 А 29 13 31 15 9 24 28 12 8 11 26 30 14 10 D 19 23 17 7 21 5 С 3 18 22 1 16 6 20 4 С 2 0
Нанесение функций на карту Вейча Если функция в виде суммы минтермов, то нанесение ее на карту Вейча сводится к отысканию клеток, за которыми закреплены номера соответствующих минтермов. В найденные клетки записываются единицы. Пример. Переведем минтермы в их номера А 1 В 1 1 С 1
Нанесение функций на карту Вейча На карту можно нанести функцию, представленную не только в СДНФ, и в виде произвольной ДНФ. Пример. Дана функция Она зависит от трех переменных А, В, С. Соответствующая ей карта Вейча имеет следующий вид А АС В 1 1 1 АВ АВС С
Нанесение функций на карту Вейча Конъюнкции, нанесенные на карты в предыдущих примерах, не имели общих клеток. Однако, можно наносить таким же образом ДНФ, конъюнкции которых могут занимать пересекающиеся области. При этом, отмеченный 1 минтерм, повторно отмечать не нужно. Пример. Рассмотри функцию ВС А В 1 1 А 1 1 1 С
Нахождение СДНФ при помощи карт Вейча Пусть дана булева функция f от данного числа переменных (не более 5), записанная в ДНФ. Чтобы найти ее СДНФ, выполним следующие шаги: 1. Выбираем карту Вейча соответствующего числа переменных и наносим на нее данную функцию f. 2. Накладываем эту карту на карту, где записаны номера минтермов. При этом единицы покажут номера минтермов, образующих данную функцию. 3. По номерам восстановливаем СДНФ данной функции f.
Пример Дана функция от трех переменных А, В, С. Нанесем ее на карту Вейча трех переменных (см. слайд 55). Единицы находятся в клетках с номерами 3, 4, 5, 6, 7 (см. слайд 48), следовательно, СДНФ в десятичных номерах имеет вид: Тогда ее запись через минтермы имеет следующий вид:
Пример Дана функция от четырех переменных. Нанесем ее на карту Вейча. BCD А 1 1 AB 1 В 1 1 1 С 1 1 ABCD 1 АВ 1 C
Пример Пусть дана функция . Если ее считать функцией двух переменных А и В, то она уже записана в СДНФ: Если ее считать функцией трех переменных А, В и С, то нанеся ее на карту Вейча трех переменных, получим СДНФ вида . Если ее считать функцией четырех переменных А, В, С и D, то нанеся ее на карту Вейча четырех переменных, получим СДНФ вида
Определение равенство двух булевых функций с помощью карт Вейча Пусть даны две функции f 1 и f 2 от одного и того же числа переменных. Они окажутся тождественно равными, если их карты Вейча совпадают, т. е. на обеих окажутся отмеченными одни и те же клетки. Пример. и тождественно равны.
Построение инверсии булевой функции с помощью карт Вейча Чтобы найти СДНФ инверсии (отрицания) булевой функции f, достаточно нанести на карту Вейча данную функцию f. Номера минтермов, которым соответствуют пустые клетки на карте, дают СДНФ булевой функции . Пример. Пусть дана булева функция Нанесем эту функцию на карту Вейча четырех переменных и получим ее СДНФ: Теперь выпишем номера пустых клеток и получим СДНФ функции
Построение конъюнкции двух функций с помощью карт Вейча Чтобы найти СДНФ конъюнкции двух функций, достаточно нанести на карту обе функции. В некоторых клетках могут оказаться по две единицы. Это означает, что на соответствующих наборах значений переменных обе функции принимают единичное значение, при этом конъюнкция функций также принимает единичное значение. Выписав номера клеток с двумя единицами, получим СДНФ конъюнкции двух заданных функций. Пример. Даны функции и Построим СДНФ функции
Построение дизъюнкции двух функций с помощью карт Вейча Чтобы найти СДНФ дизъюнкции двух и более булевых функций, достаточно нанести на карту Веча каждую из этих функций с учетом поставленных ранее единиц (т. е. если в клетке уже стоит единица, то вторую при нанесении следующей функции можно не ставить). Выписав номера отмеченных клеток, получим СДНФ дизъюнкции данных функций. Пример. Даны функции и Построим СДНФ дизъюнкции
Задачи 1. 1. 1 1. 3 1. 5 2. 2. 1 2. 3 2. 5 Нанесите на карту Вейча трех переменных следующие булевы функции и найдите их СДНФ: 1. 2 1. 4 1. 6 Найдите номера минтермов функций: 2. 2 2. 4 2. 6
Задачи 3. Нанесите на карту Вейча четырех переменных следующие булевы функции и найдите их СДНФ: 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 4. Постройте СДНФ инверсии данной функции: 4. 1 4. 2 4. 3 4. 4
Задачи 5. Найдите СДНФ конъюнкции данных булевых функций от четырех переменных А, В, С, D 5. 1 и 5. 2 и 5. 3 и 5. 4 и 6. Найдите СДНФ дизъюнкции данных булевых функций от четырех переменных А, В, С, D 6. 1 и 6. 2 и
булева алгебра.ppt