лек 18 алгебра логики.pptx
- Количество слайдов: 33
Лекция 18 Алгебра логики. Комбинационно цифровой автомат. Методы упрощения логических схем. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 1
Введение • • История предмета Основные элементы алгебры логики Основные методы решения задач Литература Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 2
История предмета Алгебра логики возникла в середине ХIХ века в трудах английского математика Джорджа Буля. Ее создание представляло собой попытку решать традиционные логические задачи алгебраическими методами. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 3
История предмета Понятие логики как науки появилось ещё в XIX в. , т. е. задолго до появления науки информатики и компьютеров. Элементы математической логики можно найти уже в работах древнегреческих философов. В XVII в. Г. В. Лейбниц высказал идею о том, что рассуждения могут быть сведены к механическому выполнению определенных действий по установленным правилам. Однако как самостоятельный раздел математики логика начала формироваться только с середины XIX в. . Для того чтобы рассуждать, человеку необходим какой-либо язык. Не удивительно, что математическая логика начиналась с анализа того, как говорят и пишут люди на естественных языках. Этот анализ привёл к тому, что выяснилось существование формулировок, которые невозможно разделить на истинные и ложные, но, тем не менее, выглядят осмысленным образом. Это приводило к возникновению парадоксов, в том числе в одной из фундаментальных наук математики. Тогда было решено создать искусственные формальные языки, лишённого «вольностей» языка естественного. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 4
НАЧАЛА Логическое высказывание — это любoе повествовательное пpедлoжение, в oтнoшении кoтopoгo мoжно oднoзначнo сказать, истиннo oнo или лoжнo. Разумеется, не всякое предложение является логическим высказыванием. Высказываниями не являются, например, предложения "ученик десятого класса" и "информатика — интересный предмет". Первое предложение ничего не утверждает об ученике, а второе использует слишком неопределённое понятие "интересный предмет". Вопросительные и восклицательные предложения также не являются высказываниями, поскольку говорить об их истинности или ложности не имеет смысла. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 5
Булевы функции Пусть имеется некоторый набор высказываний, о которых можно говорить определённо, что они истинные или ложные. Обозначим их латинскими буквами A, B, C, D …. Если у нас есть два простых предложения, то из них образовать новое, сложносочинённое предложение с помощью союзов «или» либо «и» . В математической логике для этой цели используются специальные символы: • знак дизъюнкции v • знак конъюнкции & (иногда используется ^) • Знак NOT – знак отрицания Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 6
Утверждение A v B считается истинным тогда и только тогда, когда истинно хотя бы одно из исходных утверждений; утверждение A & B – когда истинны оба утверждения. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 7
Таблицы истинности A B A&B A B Av. B ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ Конъюнкция (И) Дизъюнкция (ИЛИ) Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 8
Преобразование выражений, состоящих из булевых функций • В математической логике преобразование выше указанных выражений проводится для различных целей – от упрощения исходного до доказательства утверждений. В информатике же оно используется в основном для упрощения, ведь при производстве цифровой электроники, как и любого другого товара, требуются наименьшие затраты. Для упрощения булевых выражений используются те же методы, что и при упрощении алгебраических. Для начала была проведена аналогия между алгебраическими операторами от двух аргументов (сложение, вычитание, умножение и т. д. ) и булевыми. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 9
Было выяснено, что умножение и логическое «И» обладают сходными свойствами - от перестановки мест аргументов результат не изменяется A&B=B&A -существует следующий закон A & (B & C) = (A & B) & C Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 10
Существуют некоторые тождества, опирающиеся на особые свойства функции, например: A & (~A) = ЛОЖЬ (~A) & (~B) = ~ (A v B) Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 11
Сложение и логическое «ИЛИ» : от перестановки мест аргументов результат не изменяется Av. B= Bv. A существует следующий закон (A v B) v С = A v (B v C) можно выносить общий множитель за скобки (A & B) v (С & B) = B & (A v C) Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 12
Некоторые собственные законы сложения: A v (~A) = ИСТИНА (~A) v (~B) = ~ (A & B) Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 13
Нахождение исходного выражения по его значениям В отличие от алгебраических выражений, булевы можно восстановить, зная их аргументы и соответственные им значения. Пусть нам дана булева функция от 3 переменных: Составим для неё таблицу и условимся обозначать ИСТИНУ - 1, а ЛОЖЬ – 0. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 14
Таблица Истинности X 1 X 2 X 3 F 0 1 0 1 0 0 1 1 0 0 0 1 0 1 Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 15
Для начала выпишем все аргументы функции, при которых функция равна 1. F (1, 1, 0) = 1 F (1, 0, 1) = 1 F (1, 1, 1) = 1 Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 16
Теперь запишем 3 таких выражения (функция принимает значение 1 три раза), что они принимают значение 1 только при вышеуказанных значениях X 1 & X 2 & (~X 3) X 1 & (~X 2) & X 3 X 1 & X 2 & X 3 Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 17
И запишем их логическую сумму: (X 1 & X 2 & (~X 3)) v (X 1 & (~X 2) & X 3) v (X 1 & X 2 & X 3) – это выражение принимает значение 1 при тех же значениях, что и исходная функция. Полученное выражение можно упростить. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 18
Упростим • (X 1 & X 2 & (~X 3)) v (X 1 & (~X 2) & X 3) v (X 1 & X 2 & X 3) = = X 1 & ((X 2 & (~X 3)) v ((~X 2) & X 3) v (X 2 & X 3)) = = X 1 & ((X 2 & (~X 3)) v X 3 & ((~X 2) v X 2)) = = X 1 & ((X 2 & (~X 3)) v X 3) Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 19
Оптимизация выражений Карта Карно — графический способ минимизации переключательных (булевых) функций, обеспечивающий относительную простоту работы с большими выражениями и устранение потенциальных гонок. Представляет собой операции попарного неполного склеивания и элементарного поглощения. Карты Карно рассматриваются как перестроенная соответствующим образом таблица истинности функции. Карты Карно можно рассматривать как определенную плоскую развертку n-мерного булева куба. Карты Карно были изобретены в 1952 Эдвардом В. Вейчем и усовершенствованы в 1953 Морисом Карно, физиком из «Bell Labs» , и были призваны помочь упростить цифровые электронные схемы. В карту Карно булевы переменные передаются из таблицы истинности и упорядочиваются с помощью кода Грея, в котором каждое следующее число отличается от предыдущего только одним разрядом. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 20
Принципы минимизации Основным методом минимизации логических функций, представленных в виде СДНФ или СКНФ, является операция попарного неполного склеивания и элементарного поглощения. Операция попарного склеивания осуществляется между двумя термами (членами), содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной. В этом случае все переменные, кроме одной, можно вынести за скобки, а оставшиеся в скобках прямое и инверсное вхождение одной переменной подвергнуть склейке. Например: Аналогично для КНФ Возможность поглощения следует из очевидных равенств Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 21
Таким образом, главной задачей при минимизации СДНФ и СКНФ является поиск термов, пригодных к склейке с последующим поглощением, что для больших форм может оказаться достаточно сложной задачей. Карты Карно предоставляют наглядный способ отыскания таких термов. Как известно, булевы функции N переменных, представленные в виде СДНФ или СКНФ, могут иметь в своём составе 2 N различных термов. Все эти члены составляют некоторую структуру, топологически эквивалентную N–мерному кубу, причём любые два терма, соединённые ребром, пригодны для склейки и поглощения. На рисунке изображена простая таблица истинности для функции из двух переменных, соответствующий этой таблице 2 -мерный куб (квадрат), а также 2 -мерный куб с обозначением членов СДНФ и эквивалентная таблица для группировки термов: Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 22
В случае функции трёх переменных приходится иметь дело с трёхмерным кубом. Это сложнее и менее наглядно, но технически возможно. На рисунке в качестве примера показана таблица истинности для булевой функции трёх переменных и соответствующий ей куб. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 23
• Как видно из рисунка, для трёхмерного случая возможны более сложные конфигурации термов. Например, четыре терма, принадлежащие одной грани куба, объединяются в один терм с поглощением двух переменных В общем случае можно сказать, что 2 K термов, принадлежащие одной K– мерной грани гиперкуба, склеиваются в один терм, при этом поглощаются K переменных. Для упрощения работы с булевыми функциями большого числа переменных был предложен следующий удобный приём. Куб, представляющий собой структуру термов, разворачивается на плоскость как показано на рисунке. Таким образом появляется возможность представлять булевы функции с числом переменных больше двух в виде плоской таблицы. При этом следует помнить, что порядок кодов термов в таблице (00 01 11 10) не соответствует порядку следования двоичных чисел, а клетки, находящиеся в крайних столбцах таблицы, соседствуют между собой. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 24
Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 25
Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути Карта Карно — это таблица истинности составленная в 2 -х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т. о. вся Карта Карно сворачивается в фигуру тор (бублик). На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации. Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки, которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ): Объединяем смежные клетки, содержащие единицы, в область так, чтобы одна область содержала 2 n (n целое число = 0…) клеток (помним про то, что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток, содержащих нули; Область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки); Несмежные области, расположенные симметрично оси(ей), могут объединяться в одну; Область должна быть как можно больше, а количество областей как можно меньше; Области могут пересекаться; Возможно несколько вариантов покрытия. Далее берём первую область и смотрим, какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных; если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое, что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией. Например (для Карт на 2 переменные): Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 26
Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 27
Для КНФ всё то же самое, только рассматриваем клетки с нулями, неменяющиеся переменные в пределах одной области объединяем в дизъюнкции (инверсии проставляем над единичными переменными), а дизъюнкции областей объединяем в конъюнкцию. На этом минимизация считается законченной. Так для Карты Карно на рис. 1 выражение в формате ДНФ будет иметь вид: http: //ru. wikipedia. org/wiki/%D 0%9 A%D 0%B 0%D 1%82%D 0%B 0_%D 0%9 A%D 0%B 0%D 1%80%D 0%BD%D 0%BE Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 28
Выводы • Итак, логика возникла задолго до появления компьютеров и возникла она в результате необходимости в строгом формальном языке. Были построены функции – удобное средство для построения сложных утверждений и проверки их истинности. Оказалось, что такие функции обладают аналогичными свойствами с алгебраическими операторами. Это дало возможность упрощать исходные выражения. Особое свойство логических выражений – возможность их нахождения по значениям. Это получило широкое распространение в цифровой электронике, где используются логические элементы, и программировании. Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 29
Системы Счисления • Определение • b-ричная система счисления определяется натуральным числом b > 1, называемым основанием системы счисления. Для представления числа x в bричной системе счисления его представляют в виде линейной комбинации степеней числа b: где ak — целые, Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 30
Примеры Наиболее распространена индо–арабская десятичная система счисления с основанием b = 10. Индийцы первыми использовали ноль для указания позиционной значимости величины в строке цифр. Например, число 103 записывается именно как « 103» в десятичной системе счисления, так как Также распространены системы счисления с основаниями: 1 — унарная система счисления (в тюрьмах и при отбывании воинской повинности) 2 — двоичная (в дискретной математике, информатике, программировании) 8 — восьмеричная (в программировании) 12 — двенадцатеричная (широко использовалась в древности, в некоторых частных областях используется и сейчас) 16 — шестнадцатеричная (наиболее распространена в программировании, а также в шрифтах) 60 — шестидесятеричная (измерение углов и, в частности, долготы и широты) Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 31
Источники дополнительных сведений • 1. «Компьютер» Ю. Л. Кетков, изд. «Дрофа» 1997 г. • 2. «Математика» Ю. Владимиров, изд. «Аванта+» 1998 г. • http: //ru. wikipedia. org/wiki/%D 0%9 A%D 0%B 0%D 1%82%D 0%B 0_%D 0%9 A %D 0%B 0%D 1%80%D 0%BD%D 0%BE Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 32
Спасибо за внимание Крутских В. В. (с) 2011, НИУ МЭИ , РТФ 33
лек 18 алгебра логики.pptx