610 likes | 1.14k Views
Классы функций, теорема Поста. Методы минимизации. Следствие. Любую логическую ( булеву ) функцию можно выразить через три логические функции : конъюнкцию , дизъюнкцию и отрицание. Теорема.
E N D
Классы функций, теорема Поста Методы минимизации
Следствие • Любуюлогическую (булеву) функциюможновыразитьчерезтрилогическиефункции: конъюнкцию, дизъюнкциюиотрицание
Теорема • По аналогии с представлением любой функции (не равной тождественному нулю) в виде СДНФ можно функцию (не равную тождественной 1) представить в виде СКНФ: простаядизъюнкциясоставляетсядлятехнаборовпеременных (х1, х2, …, хп), длякоторыхf(x1, x2,…, xn) = 0, причемеслихi = 1, товэтойдизъюнкцииберем!хi, еслижехi = 0, тоберемхi.
Штрих Шеффера — отрицание — дизъюнкция — конъюнкция
Стрелка Пирса • Через стрелку Пирса могут быть выражены все другие логические операции: • ¬x ≡ x↓x • x & y ≡ (x↓x) ↓ (y↓y) • x∨y ≡ (x↓y) ↓ (x↓y) • Системы из одной функции принято называть универсальным базисом.
Классы ФАЛ • Класс функций, сохраняющих константу 0 – K0: f(0,0,…,0)=0 • Класс функций, сохраняющих константу 1 – K1: f (1 ,1,...,1)=1 • Класс самодвойственных функций – V: функции f*(x1,x2,…,xn) двойственная для (K) f(x1,x2,…,xn), если имеет место равенство • Функция самодвойственная, если • Другими словами самодвойственная функция на противоположных друг другу наборах значений аргументов принимает противоположные значения. • Класс линейных функций – L: f(x1,x2,…,xn)=С0⊕С1*x1 ⊕… ⊕Cnxn, где С – константы • Класс монотонных функций – M: • Класс симметричных функций – S: функция называется симметричной, если ее значение не меняется при любой перестановке аргументов. • f(0,1,0)=f(1,0,0)=f(0,0,1)
Базисы • Система функций S1={¬,&,v} образует базис. Для приведения булевой функции к виду содержащему лишь связки из базиса S1 могут быть полезны следующие эквивалентности: X→Y=¬XvY X↔Y=(Xv¬Y)(¬XvY) X⊕Y=¬XYvX¬Y X|Y=¬Xv¬Y X↓Y=¬X&¬Y
Базисы • Система S2={¬,&} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S1, а затем использовать соотношение XvY=¬(¬X&¬Y). • Система S3={¬,v} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S1, а затем использовать соотношение X&Y=¬(¬Xv¬Y).
Базисы • Система S4={1,&,⊕} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S1 а затем использовать соотношения: ¬X=1⊕X XvY=X⊕Y ⊕ X&Y • Система S5={|} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S2 а затем использовать соотношения: X&Y=¬(¬X|¬Y) ¬X=X|X
Базисы • Система S6={↓} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S3 а затем использовать соотношения: XvY=¬(¬X|¬Y) ¬X=X↓X • Система S7={→,0} образует базис.
Минимизация булевских выражений • Литерал – булевская переменная или ее отрицание. • Минимизация булевских выражений – переход от СДНФ к дизъюнктивной форме, в которой каждое слагаемое, представляет собой конъюнкцию минимума литералов.
Операция попарного склеивания • Возможность поглощения следует из равенств • Операция попарного склеивания осуществляется между двумя термами (членами), содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной.
Геометрическое представление логических функций • Обозначим через Еn множество всех наборов (α1,..., αη), состоящих из чисел ноль и единица. Множество Еn называется n-мерным кубом, а набор (α1, ..., αη) - вершинами куба. • В трехмерном кубе Е3 наборы (0,0,1) и (0,0,0) образуют одномерную (n = 3, r = 2) грань (ребро), а наборы (1,0,0), (1,0,1), (1,1,0), (1,1,1) - двухмерную грань. • Пусть f(X1,X2,…,Xn) - произвольная булева функция. Ей сопоставляется в соответствие подмножество Νf вершин куба Еn, таких что (α1, ..., αη) Nf тогда и только тогда, когда f(α1, ..., αη) = 1.
5(001) 1(011) 6(101) 2(111) 7(000) 3(010) 8(100) 4(110) Пример
Рассмотрим первый случай для трех переменных
Метод неопределенных коэффициентов 1. Исходное уравнение разбить на систему уравнений, равных числу строк в таблице истинности. 2. Напротив каждого выражения поставить соответствующее значение функции. 3. Выбрать строку, в которой значение функцииf=0 и приравнять всеki к нулю. 4. Просмотреть строки, где функция имеет единичное значение, и вычеркнуть все коэффициенты, встречающиеся в нулевых строках. 5. Проанализировать оставшиеся коэффициенты в единичных строках. 6. Используя правило, что дизъюнкция равна 1 если хотя бы один из , выбрать min-термы минимального ранга. Причем отдавать предпочтение коэффициентам, встречающимся в нескольких уравнениях одновременно. 7. Записать исходный вид функции.
Вычеркиваем нулевые коэффициенты
Ответ • Приравняем к единице коэффициент k11, соответствующий конъюнкции наименьшего ранга и обращающий четыре последних уравнения в 1, а в первом уравнении целесообразно приравнять к 1 коэффициент k2300. Остальные коэффициенты приравнивают к 0.