Ненашев Дмитрий Александрович Факультет двигателей летательных аппаратов Математическая логика Кафедра высшей математики Научный руководитель: Денискина Е.А. Цель работы Познакомиться с алгеброй логики и изучить алгоритм минимизации посредством карт Карно. Алгебра логики Базовыми элементами в алгебре логики являются высказывания: отрицание (унарная операция), конъюнкция (бинарная), дизъюнкция (бинарная), а также константы - логический ноль 0 и логическая единица 1 Высказывания Алгебра логики Числовая алгебра Мат логика дизъюнкция конъюнкция ∨, || ∧, & «+» «х» «или» «и» отрицание Ā, ¬ «-» «не» Таблицы истинности Таблица истинностиэто таблица, показывающая истинность сложного высказывания при всех возможных значениях входящих переменных Основные тождества Для упрощения логических выражений существует 25 основных тождеств. Рассмотрим элементарный пример такого тождества: Ā ∨ A= 1 и Ā ∧ A= 0 1 ∨ 0 = 1 и 1 ∧ 0= 0 Стандартные формы записи логических функций Дизъюнктивные формы Дизъюнктивная нормальная форма (ДНФ) Дизъюнктивной совершенной нормальной формой (ДСНФ) Конъюнктивные формы Конъюнктивная нормальная форма(КНФ) Конъюнктивной совершенной нормальной формой (КСНФ) Карты Карно Карты Карно — специальные таблицы, дающие возможность упростить процесс поиска минимальной формы булева выражения с помощью графического представления. Алгоритм для карт Карно 1. Привести булеву функцию к ДНФ. 2. Нанести единицы на карту Карно. 3. Объединить соседние единицы контурами, охватывающими 2^т клеток (т - 0, 1, 2, 3..). 4. Провести упрощения. Оставить отдельно по столбцам и по строкам общие переменные. 5. Объединить оставшиеся члены (по одному в каждом контуре) дизъюнкцией. 6. Записать полученное упрощенное булево выражение. Пример минимизации посредством карт Карно f(ABC) = Ā B∨ Ā BC ∨ AB∨ ABC 1. Найдем наборы, при которых функция равна 1. 2. Составим карту Карно и расставим в ней 1, согласно таблице истинности. Обведем контурами соседние клетки, содержащие 1. Такое действие соответствует заключению в скобки слагаемых: Ā B v Ā BC и AB v ABC F Ā 3. Рассмотрим объединение C 0 двух соседних единиц. f(AВС) = Ā В v AB = В (Ā v A)=В 0 Ответ: f(A, В, С) = В N A B C F 0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 ĀB AB A 1 1 0 1 1 0 Вывод С помощью минимизации методом карт Карно мы смогли упросить функцию из вида: f(ABC) = Ā B∨Ā BC ∨AB∨ ABC в вид: f(AВС) = В. Завершение Все компьютеры работают в двоичной системе исчисления, в которой вся информация закодирована определенным набором из 0 и 1, где за 1 в двоичном коде принимается «истинна», а за 0- «ложь». Нетрудно заметить, что количество операций существенно уменьшилось, это отлично видно визуально. А в месте с этим увеличилась производительность конкретной программы. Благодаря данному методу можно быстро и эффективно преобразовывать и упрощать логические выражения. Спасибо за внимание