300 likes | 703 Views
Алгебра логики. Полнота системы функций. Нормальные формы. Полные системы функций. Система функций является полой, если любая логическая функция может быть записана с помощью этих связок. Примеры: - составляет сигнатуру алгебры логики - используется в микроэлектронике
E N D
Алгебра логики Полнота системы функций. Нормальные формы.
Полные системы функций Система функций является полой, если любая логическая функция может быть записана с помощью этих связок. Примеры: • - составляет сигнатуру алгебры логики • - используется в микроэлектронике • - позволяет представить булевы функции в виде полиномов (Полиномы Жегалкина)
Система функций «и-не» Отрицание: Конъюнкция: Дизъюнкция:
Полиномы Жегалкина Полином, где в качестве сложения используется, в качестве умножения , а все коэффициенты берутся из множества Пример:
Критерий Поста Система связок полна тогда и только тогда, когда она не содержится целиком в одном из классов: • монотонные функции } • функции, сохраняющие нуль • функции, сохраняющие единицу • линейные функции • самодвойственные функции
Элементарная конъюнкция Элементарная конъюнкция – конъюнкция переменных и/или их отрицаний. Пример:
Элементарная дизъюнкция Элементарная дизъюнкция –дизъюнкция переменных и/или их отрицаний. Пример:
Конъюнктивная и дизъюнктивная нормальные формы КНФ: конъюнкция элементарных дизъюнкций Пример: ДНФ: дизъюнкция элементарных конъюнкций Пример:
Алгоритм построения КНФ/ДНФ • Перейти в сигнатуру алгебры логики ( • Преобразовать отрицания, оставив их только над элементарными переменными (закон Де-Моргана) • Для ДНФ: Раскрыть скобкиДля КНФ: Воспользоваться дистрибутивным законом так, что бы дизъюнкции выполнялись раньше конъюнкций
Обозначение Свойства: • тогда и только тогда, если . • тогда и только тогда, если • тогда и только тогда, если
Разложение функций по переменным Всякую логическую функцию можно представить в виде: где 1 ≤ k ≤ n
Следствие 1. Разложение по k-ой переменной:
Следствие 2. Разложение по всем переменным: Следствие: всякая логическая функция представима в сигнатуре алгебры логики.
Совершенные нормальные формы Совершенная ДНФ: ДНФ, содержащая только полные и правильные конъюнкции Пример: Совершенная КНФ: КНФ, содержащая только полные и правильные дизъюнкции Пример:
Построение СДНФ Построить ДНФ: • Перейти в сигнатуру алгебры логики ( • Преобразовать отрицания, оставив их только над элементарными переменными • Раскрыть скобки Преобразовать ДНФ в СДНФ: • Удалить повторяющиеся ЭК (оставив только одну) • Сделать все ЭК правильными • Сделать все ЭК полными • Повторить шаги 3 и 4
Удаление повторяющихся ЭК Если в формуле несколько одинаковых ЭК, то оставляем только одну
Преобразование ЭК в правильные 1. Если в ЭК переменная входит со своим отрицанием, удаляем эту ЭК из формулы 2. Если в ЭК переменная входит несколько раз, удаляем повторяющиеся переменные
Преобразование ЭК в полные Если в ЭК не входит некоторая переменная, то дописываем к ней дизъюнкцию этой переменной с её отрицанием:
Построение СКНФ Построить КНФ: • Перейти в сигнатуру алгебры логики ( • Преобразовать отрицания, оставив их только над элементарными переменными • Применить дистрибутивный закон, что бы все дизъюнкции выполнялись раньше конъюнкций Преобразовать КНФ в СКНФ: • Удалить повторяющиеся ЭД (оставив только одну) • Сделать все ЭД правильными • Сделать все ЭД полными • Повторить шаги 3 и 4
Преобразование ЭД в полные Если в ЭД не входит некоторая переменная, то дописываем к ней конъюнкцию этой переменной с её отрицанием:
Построение СДНФ по таблицe истинности СДНФ:
Построение СКНФ по таблицe истинности СКНФ:
С использованием принципа двойственности Возьмём СДНФ для Применим отрицание: Получили СКНФ для