86371 (Булевы функции), страница 3
Описание файла
Документ из архива "Булевы функции", который расположен в категории "". Всё это находится в предмете "математика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "математика" в общих файлах.
Онлайн просмотр документа "86371"
Текст 3 страницы из документа "86371"
1) булевы функции, сохраняющие константу 0;
2) булевы функции, сохраняющие константу 1;
3) самодвойственные булевы функции;
4) линейные булевы функции;
5) монотонные булевы функции.
Определение. К булевым функциям, сохраняющим константу 0, относят такие булевы функции f(x1,x2,...,xn), для которых справедливо соотношение
f (0,..., 0)=0.
Примерами булевых функций, сохраняющих константу 0, являются функции f0 – f7 (табл. 6.).
Определение. К булевым функциям, сохраняющим константу 1, относят такие булевы функции f(x1,x2,...,xn), для которых справедливо соотношение f (1,1, ..., 1)=1.
Примерами булевых функций, сохраняющих константу 1, являются функции f1, f3, f5, f7 (табл. 6).
Прежде чем ввести понятие класса самодвойственных функций, дадим следующее определение.
Определение. Булевы функции f1(x1,x2,...,xn) и f2(x1,x2,...,xn), называются двойственными друг другу, если выполняется соотношение f1(x1,x2,...,xn) =
Двойственными являются функции из табл. 6 - f0 и f15 , f1 и f7 и т. д.
Определение. К самодвойственным булевым функциям относят такие булевы функции, которые двойственны по отношению к самим себе, т. е. справедливо соотношение f1(x1,x2,...,xn) = .
Если условиться называть противоположными наборами набор и набор , то определение самодвойственных функций дадим следующее.
Определение. Булева функция называется самодвойственной, если на любых двух противоположных наборах она принимает противоположные значения.
Самодвойственными являются функции f3, f5, f10, f12 из табл. 6.. Из определения самодвойственной функции следует, что она полностью определяется своими значениями на первой половине строк таблицы истинности.
Определение. К линейным булевым функциям относят такие булевы функции, которые представимы в виде
f(x1,x2,...,xn)=с0 с1х1 ... сnхn,
где сі {0, 1}, а - операция «сумма по mod 2».
Линейными являются булевы функции из табл. 6 - f0, f3 , f5 и т. д.
Прежде чем ввести понятие класса монотонных булевых функций, дадим следующее определение.
Определение. Двоичный набор не меньше двоичного набора , (т.е. ), если для каждой пары справедливо соотношение .
Так, набор 1011 ≥1010. Вместе с тем наборы 1011 и 0100 несравнимы в том смысле, что для них не выполняется ни соотношение , ни .
Определение. Булева функция f(x1,x2,...,xn) называется монотонной, если для любых двух наборов и таких, что имеет место неравенство f f( )
Монотонными являются булевы функции f0, f1,f3 , f5 (из табл. 6) и т.д.
Приведем без доказательства две формулировки теоремы о функциональной полноте.
Теорема. Для того чтобы система S булевых функций была функционально полной, необходимо и достаточно, чтобы эта система содержала хотя бы одну булеву функцию, не сохраняющую константу 0, хотя бы одну булеву функцию, не сохраняющую константу 1, хотя бы одну несамодвойственную булеву функцию, хотя бы одну нелинейную булеву функцию и хотя бы одну немонотонную булеву функцию.
Система булевых функций является функционально полной тогда и только тогда, когда она целиком не содержится ни в одном из предполных классов. При помощи функционально полной системы можно реализовать булеву функцию любой степени сложности.
Рассмотрим примеры ФПСБФ. К таким ФПСБФ, наиболее распространенным в практике построения цифровых автоматов, следует отнести: ( , НЕ); ( ,НЕ); (V, НЕ); ( , НЕ), ( ,1); где символами V, , , НЕ, 1 обозначены булевы функции: «дизъюнкция», «конъюнкция», «сумма по mod 2», «отрицание», «константа 1», соответственно.
-
7.Минимизация булевых функций
При проектировании цифровых автоматов широко используются методы минимизации булевых функций, позволяющие получать рекомендации для построения экономичных схем цифровых автоматов. Общая задача минимизации булевых функций может быть сформулирована следующим образом: найти аналитическое выражение заданной булевой функции в форме, содержащей минимально возможное число букв. Следует отметить, что в общей постановке данная задача пока не решена, однако достаточно хорошо исследована в классе дизъюнктивно-конъюнктивных нормальных форм.
Определение. Элементарной конъюнкцией называется конъюнкция конечного числа различных между собой булевых переменных, каждая из которых может иметь или не иметь отрицания.
Определение. Дизъюнктивной нормальной формой (ДНФ) называется дизъюнкция элементарных конъюнкций.
Определение. Минимальной дизъюнктивной нормальной формой булевой функции называется ДНФ, содержащая наименьшее число букв (по отношению ко всем другим ДНФ, представляющим заданную булеву функцию). Определение. Булева функция g(x1,x2,...,xn) называется импликантой булевой функции f1(x1,x2,...,xn), если для любого набора переменных, на котором g = 1, справедливо f = 1. Пример. Булева функция f задана таблицей 8. Там же приведены все ее импликанты. При записи функции и ее импликант в СДНФ имеем
f=
g1=
g2=
g3= V =
g4=
g5= vv =
g6= vv
g7=
Определение. Импликанта g булевой функции f, являющаяся элементарной конъюнкцией, называется простой, если никакая часть импликанты g не является импликантой функции f.
Из примера видно, что импликанты g3 и g5 являются простыми импликантами функции f. Другие импликанты не являются простыми, так как их части являются импликантами функции f, например g3 является частью g1. Приведем без доказательства два утверждения, полезные при получении минимальной ДНФ.
1. Дизъюнкция любого числа импликант булевой функции f также является импликантой этой функции.
2. Любая булева функция f эквивалентна дизъюнкции всех своих простых импликант. Такая форма представления булевой функции называется сокращенной ДНФ.
Перебор всех возможных импликант для булевой функции f из рассмотренного примера дает возможность убедиться, что простых импликант всего две: g3 и g5. Следовательно, сокращенная ДНФ функции f имеет вид:
f = g3 V g5 = V
Как видно из табл. 6.8., импликанты g3 и g5 в совокупности покрывают своими единицами все единицы функции f. Получение сокращенных ДНФ является первым этапом отыскания минимальных форм булевых функций. Как уже отмечалось, в сокращенную ДНФ входят все простые импликанты булевой функции. Иногда из сокращенной ДНФ можно убрать одну или несколько простых импликант, не нарушая эквивалентности исходной функции. Такие простые импликанты назовем лишними. Исключение лишних простых импликант из сокращенных ДНФ — второй этап минимизации.
Определение. Сокращенная ДНФ булевой функции называется тупиковой, если в ней отсутствуют лишние простые импликанты.
Устранение лишних простых импликант из сокращенной ДНФ булевой функции не является однозначным процессом, т.е. булева функция может иметь несколько тупиковых ДНФ.
Утверждение. Тупиковые ДНФ булевой функции f, содержащие минимальное число букв, являются минимальными. Минимальных ДНФ тоже может быть несколько.
Рассмотрим несколько методов минимизации. Все они практически различаются лишь на первом этапе — этапе получения сокращенной ДНФ. Следует отметить, что, к сожалению, поиск минимальной ДНФ всегда связан с некоторым перебором решений. Существуют методы уменьшения этого перебора, однако он всегда остается.
-
7.1.Метод Квайна
Метод Квайна основывается на применении двух основных соотношений.
-
Соотношение склеивания
где А — любое элементарное произведение.
-
Соотношение поглощения
Справедливость обоих соотношений легко проверяется.
Теорема Квайна. Если в СДНФ булевой функции выполнить все возможные склеивания и поглощения, то в результате будет получена сокращенная ДНФ.
Метод применим к совершенной ДНФ. Из соотношения поглощения следует, что произвольное элементарное произведение поглощается любой его частью.
Для доказательства достаточно показать, что произвольная простая импликанта р = может быть получена. В самом деле, применяя к р операцию развертывания (обратную операции склеивания): по всем недостающим переменным исходной функции f, получаем совокупность S конституент единицы. При склеивании всех конституент из S получим импликанту р. Последнее очевидно, поскольку операция склеивания обратна операции развертывания. Множество S конституент обязательно присутствует в совершенной ДНФ функции f поскольку р — ее импликанта.
Минимизация по методу Квайна выполняется по следующему алгоитму:
1. Выполняются все склеивания в СДНФ.
2. Выполняются все поглощения.
3. Результирующая функция проверяется на возможность дальнейшего склеивания и поглощения.
4. После получения сокращенной ДНФ строится импликантная матрица, по которой находятся “лишние” импликанты.
Пример. Пусть имеется булева функция, заданная таблицей истинности (табл 9). Ее СДНФ имеет вид:
f=
Для удобства изложения пометим каждую конституенту единицы из СДНФ функции f каким-либо десятичным номером (произвольно). Выполняем склеивания. Конституента 1 склеивается только с конституентой 2 (по переменной х3) и с конституентой 3 (по переменной х2 ) конституента 2 с конституентой 4 и т. д. В результате получаем:
1-2:
1-3:
2-4:
3-4:
4-6: