Классы функций, теорема Поста
DESCRIPTION
Классы функций, теорема Поста. Методы минимизации. Следствие. Любую логическую ( булеву ) функцию можно выразить через три логические функции : конъюнкцию , дизъюнкцию и отрицание. Теорема. - PowerPoint PPT PresentationTRANSCRIPT
Следствие
Любую логическую (булеву) функцию можно выразить через три логические функции: конъюнкцию, дизъюнкцию и отрицание
Теорема
По аналогии с представлением любой функции (не равной тождественному нулю) в виде СДНФ можно функцию (не равную тождественной 1) представить в виде СКНФ: простая дизъюнкция составляется для тех наборов переменных (х1, х2, …, хп), для которых f(x1, x2,…, xn) = 0, причем если хi = 1, то в этой дизъюнкции берем !хi, если же хi = 0, то берем хi.
Стрелка Пирса
Через стрелку Пирса могут быть выражены все другие логические операции:
¬x ≡ x↓xx & 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)
Теорема Поста (теорема о пяти «нет»)
Название Обозначение Не сохранимость
константы 0 Не сохранимость
константы 1 Не
самодвойственность Не
линейность Не
монотонность Конст. 0 0 * * Конст. 1 1 * * Отриц. ¬ * * *
Конъюн. & * * Дизъюн. v * * Имплик. → * * * *
Эквивал. ∼ * * *
Сумма по мод. 2 ⊕ * * *
Штрих Шеффера
| * * * * *
Стрелка Пирса
↓ * * * * *
Базисы
Система функций 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.
Пример 1(011)
2(111)
3(010)
4(110)
5(001)
6(101)
7(000)
8(100)
1X8,6,4,2 1X7,5,3,1
2X4,3,2,1 2X8,7,6,5
3X6,5,2,1 3X8,7,4,3 213231 XX5,7,XX2,1,XX8,4
Составить СДНФ
1 2 31Вершина X X X
1 323Вершина X X X
31 24Вершина X X X
1 2 35Вершина X X X
21 36Вершина X X X
321321321321321 XXXXXXXXXXXXXXX
Рассмотрим первый случай для трех переменных
x1 x2 x3 f
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
1 2 3 1 3 1 2 1 2 3f x ,x ,x x x x x x x x
Второй пример
x1 x2 x3 f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
1 2 3 3 1 2 1 2f x ,x ,x x x x x x
Метод неопределенных коэффициентов
1. Исходное уравнение разбить на систему уравнений, равных числу строк в таблице истинности.
2. Напротив каждого выражения поставить соответствующее значение функции.
3. Выбрать строку, в которой значение функции f=0 и приравнять все ki к нулю.
4. Просмотреть строки, где функция имеет единичное значение, и вычеркнуть все коэффициенты, встречающиеся в нулевых строках.
5. Проанализировать оставшиеся коэффициенты в единичных строках.
6. Используя правило, что дизъюнкция равна 1 если хотя бы один из , выбрать min-термы минимального ранга. Причем отдавать предпочтение коэффициентам, встречающимся в нескольких уравнениях одновременно.
7. Записать исходный вид функции.
Рассмотрим случай 3х переменных
1 0 1 0 1 0 11 10 011 2 3 1 1 1 1 2 2 2 2 3 3 3 3 12 1 2 12 1 2 12 1 2
00 11 10 01 00 11 10 0112 1 2 13 1 3 13 1 3 13 1 3 13 1 3 23 2 3 23 2 3 23 2 3
00 111 11023 2 3 123 1 2 3 123 1 2 3 123
, ,f x x x k x k x k x k x k x k x k x x k x x k x x
k x x k x x k x x k x x k x x k x x k x x k x x
k x x k x x x k x x x k
101 100 0111 2 3 123 1 2 3 123 1 2 3
010 001 000123 1 2 3 123 1 2 3 123 1 2 3 ,
x x x k x x x k x x x
k x x x k x x x k x x x
Получим уравнения
0 0 0 00 00 00 0001 2 3 12 13 23 1230,0,0f k k k k k k k
0 0 1 00 01 01 0011 2 3 12 13 23 1230,0,1f k k k k k k k
0 1 0 01 00 10 0101 2 3 12 13 23 1230,1,0f k k k k k k k
0 1 1 01 01 11 0111 2 3 12 13 23 1230,1,1f k k k k k k k
1 0 0 10 10 00 1001 2 3 12 13 23 1231,0,0f k k k k k k k
1 0 1 10 11 01 1011 2 3 12 13 23 1231,0,1f k k k k k k k
1 1 0 11 10 10 1101 2 3 12 13 23 1231,1,0f k k k k k k k
1 1 1 11 11 11 1111 2 3 12 13 23 1231,1,1f k k k k k k k
Минимизировать функцию
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3, ,f x x x x x x x x x x x x x x x x x x
0,0,0 1f 0,0,1 0f 0,1,0 0f 0,1,1 0f
1,0,0 1f 1,0,1 1f 1,1,0 1f 1,1,1 1f
010,0,1f k 0
2k 13k 00
12k 0113k 01
23k 001123k
010,1,0f k 1
2k 03k 01
12k 0013k 10
23k 010123k
010,1,1f k 1
2k 13k 01
12k 0113k 11
23k 011123k
Вычеркиваем нулевые коэффициенты
010,0,0f k 0
2k 03k 00
12k 0013k 00 000
23 123k k
1 01 21,0,0f k k 0
3k 10 10 00 10012 13 23 123k k k k
1 01 21,0,1f k k 1
3k 10 11 0112 13 23k k k 101
123k
1 11 21,1,0f k k 0
3k 11 10 1012 13 23k k k 110
123k
1 11 21,1,1f k k 1
3k 11 11 1112 13 23k k k 111
123k
После вычеркивания
00 00023 123 1k k 1 10 10 00 1001 12 13 23 123 1k k k k k
1 10 11 1011 12 13 123 1k k k k
1 11 10 1101 12 13 123 1k k k k
1 11 11 1111 12 13 123 1k k k k