- •Введение
- •1. Основные сведения из формальной логики
- •1.1. Введение в формальную логику
- •1.2. Формы познания человеком окружающего мира
- •1.3. Формы абстрактного мышления
- •«Все s есть p»,
- •«Если s есть p, то s есть p1».
- •1.4. Содержательное описание основных законов классической формальной логики и границы их применимости
- •1.5. Способы правильных умозаключений, обусловленных основными законами формальной логики.
- •1.6. Правильные способы рассуждений, основанные на теории силлогизмов
- •Вопросы для самоконтроля
- •2. Элементы теории множеств
- •2.1. Понятие множества. Способы задания множеств
- •Упражнения
- •2.2. Части множеств
- •2.2.1. Понятие подмножества
- •2.2.2. Множество-степень
- •2.2.3. Понятие о верхней и нижней гранях множеств
- •2.3. Операции над множествами.
- •2.4. Основные свойства операций над множествами
- •2.5. Отношения на множествах
- •2.5.1. Операции над отношениями
- •2.5.2. Основные свойства отношений
- •2.6. Функции как отношения на множествах
- •2.7. Отношения эквивалентности
- •2.8. Отношения порядка
- •Упражнения
- •Парадоксы теории множеств
- •Вопросы для самоконтроля
- •1. Алгебра логики
- •Понятие о простом и сложном высказывании
- •Упражнения
- •Логические операции над высказываниями
- •Упражнения
- •Упражнения
- •1.4. Аксиомы и законы алгебры логики
- •1.4.1. Правила склеивания для элементарных конъюнкций и дизъюнкций
- •Дизъюнкций
- •1.4.3. Правило развёртывания
- •Все ке для двух высказываний
- •Развёртывание элементарной дизъюнкции
- •Упражнения
- •1.5. Функции алгебры логики. Нормальные формы логических функций
- •Общая запись любой логической функции в сндф имеет вид
- •Пример. По заданной таблице истинности составить сндф функций
- •Снкф для выше приведенной таблицы истинности будут иметь вид
- •Упражнения
- •1.6.Минимизация логических функций
- •1.6.1. Расчетный метод минимизации
- •1.6.2. Табличный метод минимизации
- •1.6.3. Расчетно-табличный метод минимизации (метод Квайна)
- •Упражнения
- •1.7. Некоторые применения алгебры логики
- •Упражнения
- •Вопросы для самоконтроля
- •2. Исчисление высказываний
- •2.1. Понятие формулы исчисления высказываний
- •Упражнения
- •2.2. Аксиомы и простейшие правила вывода
- •Система аксиом исчисления высказываний
- •Тогда правило подстановка схематически запишется так
- •2.3. Определение доказуемой формулы
- •Рассмотрим примеры получения доказуемых формул.
- •2.4. Производные правила вывода
- •Упражнения
- •2.5. Определение формулы, выводимой из совокупности формул н
- •2.6. Понятие вывода
- •2.7. Основные правила выводимости
- •2.8. Доказательство некоторых законов логики
- •2.9. Проблемы аксиоматического исчисления высказываний
- •Вопросы для самоконтроля
- •3. Логика предикатов
- •3.1. Понятие предиката
- •3.2. Логические операции над предикатами
- •Упражнения
- •Кванторные операции
- •Упражнения
- •Определение формулы логики предикатов
- •3.5. Равносильные формулы логики предикатов
- •Упражнения
- •3.6. Предварённая нормальная форма
- •Выполнимость и общезначимость формул
- •Упражнения
- •Применение языка логики предикатов в математике и технике
- •Вопросы для самоконтроля
- •4. Основные положения теории алгоритмов
- •4.1. Интуитивное понятие алгоритма
- •4.2. Уточнение понятия алгоритма
- •4.3. Частично-рекурсивные и общерекурсивные функции
- •Упражнения
- •4.4. Машины Тьюринга
- •Упражнения
- •4.5. Понятие о нормальных алгоритмах Маркова
- •4.6. Алгоритмически неразрешимые проблемы
- •4.7. Сложность алгоритмов
- •Вопросы для самоконтроля
- •Ответы и решения
- •Раздел 1
- •Подраздел 1.3
- •Раздел 2
- •Раздел 3.
- •Раздел 4
- •Библиографический список
- •Список сокращений
- •Содержание
1.6.3. Расчетно-табличный метод минимизации (метод Квайна)
Минимизация этим методом отличается от расчетного только способом выявления избыточных членов в сНДФ. Данный метод предложен американским ученым Квайном, и поэтому называется его именем. Его удобно рассматривать в виде алгоритма с комментариями. Считаем, что минимизируемая логическая функция приведена к СНДФ.
10. Переход от СНДФ к сНДФ. Отыскиваются все простые импликанты. Для этого выписываются все конституенты и все их пары исследуются на возможность склеивания друг с другом. Конституенты, участвующие хотя бы в одном склеивании, отмечаются, но не исключаются из дальнейших сравнений. В результате выявляются импликанты, содержащие по (n-1)-й переменной. С полученными импликантами выполняется та же процедура, что и с исходными конституентами. В результате выявляются импликанты, содержащие n-2 переменные, и так продолжается до тех пор, пока членов, допускающих склеивание, не останется. Все не отмеченные в процессе указанного преобразования члены представляют собой простые импликанты.
20. Переход от сНДФ к ТНДФ. Дизъюнкция всех простых импликант может содержать избыточные импликанты. Поэтому их надо исключить.
Для этого составляется импликантная таблица, строки которой обозначаются выявленными на 1-м шаге простыми импликантами, а столбцы – конституентами, входящими в СНДФ исходной функции.
30.Расстановка меток. Любая клетка импликантной таблицы отмечается, например, цифрой 1, если она попадает на пересечение конституенты и импликанты, полностью входящей в конституенту.
В каждом столбце при этом может оказаться по нескольку отмеченных клеток. Задача упрощения НДФ сводится к вычеркиванию из таблицы максимального количества строк таким образом, чтобы после этого в каждом столбце осталась, по крайней мере, одна отмеченная клетка..
40. Выделение ядра Квайна (существенных импликант). Выявляются и вычеркиваются столбцы, содержащие только по одной отмеченной клетке. Простые импликанты, соответствующие этим клеткам, вносятся в окончательное выражение НДФ как обязательные члены. Если таких столбцов нет, то переход к п.50, если же есть, то в таблице зачеркиваются строки, соответствующие обязательным простым импликантам и столбцы, содержащие отмеченные клетки в вычеркнутых строках.
50. Поглощение (сжатие) столбцов. Если после этого в таблице окажутся такие пары столбцов, что все отмеченные клетки i-го столбца совпадают полностью или частично с клетками j-го столбца, то j-й столбец вычеркивается. Если таких пар столбцов нет, то переход к п.70, иначе – к п.60.
60. Вычеркивание пустых строк. Строки, не содержащие после выполнения п.п. 40 и 50 ни одной отмеченной клетки, также вычеркиваются.
70. Поглощение (сжатие) строк. Если в таблице имеется такая пара строк, что все отмеченные клетки k-й строки совпадают полностью или частично с отмеченными клетками l-й строки, то k-я строка вычеркивается. Если таких строк нет, то переход к п.80.
80. Получение МНДФ. Для этого импликанты ядра Квайна, т.е. полученные в п. 40 и оставшиеся не вычеркнутыми после выполнения п. 70, соединяются знаками дизъюнкции.
Пример.
Минимизировать логическую функцию
четырех переменных, заданную в числовой
форме
.
Так как наша цель – рассмотрение процесса
преобразования импликантной таблицы,
то п. 10
алгоритма выполнять не будем, а выпишем
готовые импликанты. Их совокупность
будет иметь вид
.
Прочерки в импликантах указывают на отсутствие в них соответствующей переменной.
Строим импликантную таблицу (табл.9).
Таблица 9
.
В табл. 9 вертикальные и горизонтальные линии, пересекающие соответствующие столбцы и строки, пронумерованы цифрами. Эти цифры указывают на порядок вычеркивания столбцов и строк.
В соответствии с п.40 алгоритма устанавливаем, что импликанты 0–0– и –0–0 являются существенным для конституент
0000,0001,0100,0101 и 0000, 0010,1000,1010. Они должны быть внесены в МНДФ. Поэтому вместе со 2-м и 3-м столбцами, как содержащими всего по одной отмеченной клетке, вычеркиваем 4-ю и 5-ю строки, а также столбцы 1,4,5,7 и 8, на пересечении с которыми в вычеркнутых строках 4 и 5 стоят единицы.
В
результате выполнения этих операций
импликантная таблица приобретает вид:
Д
алее
выполняем поглощение столбцов. Однако
это невозможно, так как в таблице нет
ни одной пары столбцов, которые бы
полностью или частично совпадали.
Поэтому в соответствии с п.70
алгоритма выполняем поглощение строк.
Видим, что строка 2 поглощает строку 1,
а строка 5 – строку 4. В результате
получаем таблицу:
С
нова
выполняем поглощение столбцов и получаем
таблицу:
Так как в предыдущей таблице получили строку, не содержащую единиц, то, вычеркивая её, получаем окончательную таблицу:
Соединяя импликанты, соответствующие столбцам с одной отмеченной клеткой и оставшиеся в последней таблице, знаком , получим МНДФ:
Достоинством рассмотренного метода Квайна является то, что он применим для любого числа переменных и может быть реализован в виде программы для ЭВМ.
В качестве недостатка можно отметить его относительную сложность.
