- •Программа по курсу «Дискретная математика» для заочной формы обучения
- •Методика рецензирования контрольной работы.
- •Краткие теоретические сведения
- •Множества и операции над ними
- •Бинарные отношения
- •Отношение эквивалентности
- •Отношение упорядоченности
- •Функции
- •Функции и формулы алгебры логики
- •Двойственные функции и совершенные нормальные формы
- •Принцип двойственности
- •Построение совершенных нормальных форм
- •Полнота и замкнутость систем функций алгебры логики
- •Полные системы функций алгебры логики
- •Важнейшие замкнутые классы
- •Задание к контрольной работе по дискретной математике
- •I. Множества и операции над ними.
- •Варианты контрольных работ Вариант №1
- •Вариант №2
- •Вариант №3
- •Вариант №4
- •Вариант №5
- •Вариант №6
- •Вариант №7
- •Вариант №8
- •Вариант №9
- •Вариант №10
- •Вариант №11
- •Вариант №12
- •Вариант №13
- •Вариант №14
- •Вариант №15
- •Вариант №16
- •Вариант №17
- •Вариант №18
- •Вариант №19
- •Вариант №20
- •Вариант №21
- •Вариант №22
- •Вариант №23
- •Вариант №24
- •Вариант №25
- •Пример решения контрольной работы
- •Список литературы
- •400131, Волгоград, просп. Им. В.И. Ленина, 28
- •400131, Волгоград, ул. Советская, 35
-
Полнота и замкнутость систем функций алгебры логики
-
Полные системы функций алгебры логики
-
Система функций алгебры логики F={f1, f2,…, fs,…} P2 называется полной или функционально полной, если любая функция алгебры логики может быть записана в виде формулы через функции этой системы (или, как говорят, выражена формулой над F).
В соответствии с этим определением системы функций {Ø,&,Ú}, {Ø,&}, {Ø,Ú}, {Ø,®}, а также {¯} и {} являются функционально полными.
Имеются и другие полные системы функций. Определить полноту некоторой системы функций можно с помощью следующей теоремы.
Теорема. О полных системах функций алгебры логики
Пусть имеются две системы функций алгебры логики: F={f1, f2,…, fp,…} и G={g1, g2,…, gr,…}, относительно которых известно, что система F полна и каждая её функция может быть выражена формулой через функции системы G. Тогда система функций G – является полной.
Пример: покажем функциональную полноту следующих систем: (1) G1={,,}, (2) G2={,&,} и (3) G3={1,·,}, где «·» – это обычное умножение.
(1) Известно, что система функций {Ø,Ú} является полной. Поскольку «Ú» имеется в G1, а «Ø» выражается формулой , то G1 тоже полна.
(2) Известно, что система функций {Ø,&} является полной. Поскольку «&» имеется в G2, а «Ø» выражается формулой , то G2 тоже полна.
(3) Т.к. система {Ø,&} является полной и х·у = х&у, а , то G3 – полная система функций. Система G3 играет особую роль в алгебре логики, т.к. формула, сконструированная из функций {1,·,} и скобок, после раскрытия скобок и несложных алгебраических преобразований переходит в полином Жегалкина (СПНФ).
Другой важный критерий полноты системы функций алгебры логики связан с понятием замыкания и замкнутого класса.
Пусть М Р2 – некоторое подмножество множества всех функций алгебры логики. Замыканием М называется множество тех истинностных функций, которые могут быть выражены формулой над М.
Замыкание М обозначается [M].
Класс функций М называется функционально замкнутым или просто замкнутым, если его замыкание совпадает с ним самим, т.е. [M] = М.
Определение полной системы функций можно сформулировать в терминах замыканий: система функций М является функционально полной, если её замыкание совпадает с множеством всех функций алгебры логики, т.е. [M]=P2.
-
Важнейшие замкнутые классы
1) Класс функций, сохраняющих ноль. Обозначение: Т0.
Т0={f(x1,x2,…,xn)P2: f(0,0,…,0)=0}, таким образом, этот класс состоит из тех функций алгебры логики, которые на наборе, состоящем из одних нулей, имеют значение ноль. Или, что то же самое, в верхней строке таблицы истинности значение этих функций равно нулю. И поскольку, ровно половина всех функций в верхней строке равны нулю, то число функций от n переменных, относящихся к классу Т0, равно . Из элементарных функций к этому классу относятся следующие: 0, х, &, , . А такие, как 1, , , не принадлежат классу Т0.
2) Класс функций, сохраняющих единицу. Обозначение: Т1.
Т1={f(x1,x2,…,xn)P2: f(1,1,…,1)=1}, таким образом, этот класс состоит из тех функций алгебры логики, которые на наборе, состоящем из одних единиц, имеют значение 1. Или, что то же самое, в нижней строке таблицы истинности значение этих функций равно единице. И, поскольку, ровно половина всех функций в нижней строке равны единице, то число функций от n переменных, относящихся к классу Т1, равно . Из элементарных функций к этому классу относятся следующие: 1, х, &, , , . А такие, как 0, , не принадлежат классу Т1.
3) Класс самодвойственных функций. Обозначение: S.
S={f(x1,x2,…,xn)P2: f(x1,x2,…,xn)=f *(x1,x2,…,xn) }, таким образом, этот класс состоит из тех функций алгебры логики, которые совпадают с двойственными к ним. Заметим, что такие функции на противоположных наборах принимают противоположные значения, т.к. f(x1,x2,…,xn)=. Таблицы истинности этих функций имеют зеркальную симметрию верхней половины строк таблицы и инвертированной нижней половины строк относительно середины всех строк таблицы. Тем самым, самодвойственные функции полностью определяются своими значениями на первой половине строк таблицы. Число таких строк для функций от n переменных равно =2n-1 и, следовательно, число функций от n переменных, относящихся к классу S, равно . Из элементарных функций самодвойственными являются только тождественная функция х и отрицание .
Лемма о несамодвойственной функции
Если функция алгебры логики не принадлежит классу самодвойственных функций, то всегда можно указать такую замену её переменных функциями х и , что в результате этой замены будет получена константа 0 или 1.
4) Класс монотонных функций. Обозначение: М.
Функция f(x1,x2,…,xn)P2 называется монотонной, если для любых двух наборов =(1,2,…,n) и =(1,2,…,n) таких, что i i, где i=1,2,…,n, следует f() f(). Про такие наборы говорят, что набор предшествует набору , и обозначают . Из элементарных функций монотонными являются 0, 1, тождественная функция х, , . А функции , , , , , монотонными не являются.
Лемма о немонотонной функции
Если функция алгебры логики не принадлежит классу монотонных функций, то из неё путем подстановки констант 0, 1 и функции х на места переменных можно получить функцию .
5) Класс линейных функций. Обозначение: L.
L={f(x1,x2,…,xn)P2: f(x1,x2,…,xn)=c0c1x1c2x2…cnxn, где c0,c1,c2,…,cn равны 0 или 1}. Таким образом, этот класс состоит из тех функций алгебры логики, которые представимы линейным выражением. Различные линейные функции от n переменных отличаются друг от друга составом слагаемых, входящих в их линейные выражения. Этот состав определяется значением коэффициентов: если соответствующий коэффициент равен нулю, то слагаемое отсутствует. И так как число коэффициентов равно n+1, то число функций от n переменных, относящихся к классу L, равно 2n+1. Из элементарных функций линейными являются тождественная функция х, отрицание , константы 0 и 1, а также и .
Лемма о нелинейной функции
Если функция алгебры логики от n переменных f(x1,x2,…,xn) нелинейна, то из неё можно получить х1& x2 путем подстановки констант 0 или 1 и функций х и , а также, возможно, размещением знака отрицания над f.
|
Т0 |
Т1 |
S |
M |
L |
0 |
+ |
– |
– |
+ |
+ |
1 |
– |
+ |
– |
+ |
+ |
|
– |
– |
+ |
– |
+ |
Таблица 8 |
|
Следующая теорема является необходимым и достаточным условием полноты системы функций алгебры логики.
Теорема Поста о полноте
Система функций алгебры логики является полной тогда, и только тогда, когда она целиком не содержится ни в одном из пяти замкнутых классов: Т0, Т1, S, M и L. Иными словами среди функций этой системы обязательно имеются функции, не сохраняющие ноль и единицу, а также несамодвойственная, немонотонная и нелинейная функции.
Следствие 1: из всякой полной в Р2 системы функций можно выделить полную подсистему, содержащую не более четырех функций.
Следствие 2: всякий замкнутый класс функций алгебры логики, не совпадающий с множеством всех функций алгебры логики, содержится по крайней мере в одном из классов Т0, Т1, S, M или L.
В этом смысле классы Т0, Т1, S, M и L являются максимальными или предполными, поскольку добавление к любому из них любой истинностной функции, не принадлежащей классу, приводит к полной системе функций.
Следствие 3: в алгебре логики существует только пять предполных классов: Т0, Т1, S, M и L.
Полная система функций алгебры логики называется базисом в Р2, если никакая её собственная подсистема не является полной. Иными словами базис – это минимальная по числу функций полная система. Важно, что любая из функций алгебры логики записывается формулой через функции базиса.
Используя теорему о полноте, несложно установить, является ли полной заданная система функций и образует ли она базис? Рассмотрим решение этого вопроса на примере.
Пусть имеется система функций: {0, 1, }. Очевидно, что эта система является функционально полной, поскольку полна её собственная подсистема {, }. Понятно также, что исходная система функций не является базисом, т.к. из неё можно удалить функции 0, 1 и и оставшиеся функции все ещё составляют полную систему. Выясним теперь, имеются ли в заданной системе другие полные подсистемы, образующие базис. Для этого составим таблицу принадлежности функций {0, 1, } пяти замкнутым классам.
|
Т0 |
Т1 |
S |
M |
L |
0 |
+ |
– |
– |
+ |
+ |
1 |
– |
+ |
– |
+ |
+ |
|
– |
+ |
– |
– |
– |
|
+ |
– |
– |
– |
+ |
|
– |
– |
+ |
– |
+ |
Таблица 9 |
|