- •1.8. Анализ и синтез релейных управляющих схем
- •1.8.1. Релейные схемы. Связь их физической структуры и функций проводимости с алгеброй логики
- •1.8.2. Проектирование рс
- •1.9. Применение алгебры логики к анализу логических рассуждений
- •1.10. Замкнутость и полнота систем функций
- •1.10.1. Операции суперпозиции и замыкания. Полнота, базис системы функций
- •1.10.2 Функции, сохраняющие константы. Классы т0 и т1
- •1.10.3. Самодвойственность. Класс s
- •1.10.4. Монотонность. Класс м
- •1.10.5. Линейность. Класс l
- •1.10.6. Критерий Поста полноты системы функций в алгебре логики
- •Контрольные задания по теме
- •Операция суперпозиции.
- •Замыкание и полнота систем функций.
- •Предполные классы в алгебре логики
- •1.11. Анализ и синтез функциональных схем
- •Пример 1. В качестве фэ приняты { , , }. Произвести анализ фс, физическая структура которой дана на рис.1.19.
- •10. Оптимизировать фс из фэ { , , }, приведеную на рис.1.25.
- •Контрольные задания по теме применение алгебры логики к анализу и синтезу релейных и функциональных схем, проверке правильности высказываний
1.10. Замкнутость и полнота систем функций
1.10.1. Операции суперпозиции и замыкания. Полнота, базис системы функций
Однотактные (не содержащие элементов памяти) дискретные логические устройства реализуют на выходе некоторый набор функций алгебры логики Fm=(F1,F2,…,Fm), которые в каждый момент времени зависят только от состояния входов устройства хn=(x1,x2,…,xn): Fm = Fm (хn). Практически такие устройства проектируют и изготавливают из отдельных неделимых элементов, реализующих некоторый набор (систему) {f} элементарных функций алгебры путем присоединения выходов одних элементов ко входам других.
При проектировании логических устройств актуальными являются следующие вопросы.
1. Задана система элементарных функций {f}. Какие выходные функции Fi можно получить, используя функции из {f}?
2. Задано множество выходных булевых функций {F} (в частности, равное всему множеству функций алгебры логики Р2). Какой должна быть исходная система элементарных функций {f}, обеспечивающая возможность получения на выходе любой из функций множества {F}?
Для обоснованного ответа на данные вопросы используют понятия суперпозиции, замкнутости и полноты систем функций.
Определение. Рассмотрим множество логических связок {F}, соответствующее некоторой системе функций {f}. Суперпозицией над {f} называется любая функция , которую можно реализовать формулой над {F}.
Практически суперпозицию можно представить как результат подстановки функций из {f} в качестве аргументов в функции из этого же множества.
Пример 1. Рассмотрим систему функций {f}={f1(х) =х , f2 (х,у)= ху, f3(х,у)= ху }. Подставляя в функцию f3 (х,у) вместо первого аргумента х функцию f1(х), вместо второго — f2 (х,у), получим суперпозицию h(х,у) = f3 (f1(х), f2(х,у)) =х х у. Физическая реализация подстановки дана на рис.1.18.
Рис.1.18
Определение. Пусть М — некоторое множество функций алгебры логики (P2). Множество всех суперпозиций над М называется замыканием множества М и обозначается [М]. Получение [М] по исходному множеству М называется операцией замыкания. Множество М называется функционально замкнутым классом, если [М] = М. Подмножество m M называется функционально полной системой в М, если [m] = М.
Замыкание [М] представляет собой все множество функций, которое можно получить из М путем применения операции суперпозиции, т.е. всех возможных подстановок.
Замечания. 1. Очевидно, любая система функций {f} является функционально полной в себе самой.
2. Без ограничения общности можно считать, что тождественная функция f(х)=х, не изменяющая значений истинности переменных, изначально входит в состав любой системы функций.
Пример 2. Для рассмотренных ниже систем функций {f} выполнить следующие действия:
1) найти замыкание [f ],
2) выяснить, будет ли система {f} замкнутым классом,
3) найти функционально полные системы в {f}.
Решение.
I. {f}={0}. При подстановке функции {f0} в саму себя получаем ее же, т.е. никаких новых функций не образуется. Отсюда следует: [f] = {f}. Рассмотренная система является функционально замкнутым классом. Функционально полная система в ней одна и равна всей {f}.
II. {f}={0, }. Подстановка ( х) дает тождественную функцию, которая формально не расширяет исходную систему. Однако при подстановке (0) получим тождественную единицу — новую функцию, которой не было в исходной системе: (0)=1. Применение всех других подстановок не приводит к появлению новых функций, например: 0=0, 0( х)=0.
Таким образом, применение операции суперпозиции позволило получить более широкое по сравнению с исходным множество функций [f] ={0, ,1}. Отсюда следует строгое вхождение: {f} [f]. Исходная система {f} не является функционально замкнутым классом. Кроме самой системы {f} других функционально полных систем в ней нет, поскольку в случае её сужения из одной функции f=0 нельзя путем подстановки получить отрицание, а из одной функции отрицания нельзя получить тождественный нуль.
III. {f} = { , , }. Замыканием данной системы является все множество функций алгебры логики P2, так как формулу любой из них можно представить в виде ДНФ либо КНФ, в которых используются элементарные функции {f} = { , ,}. Данный факт является конструктивным доказательством полноты рассмотренной системы функций в P2: [f] =P2.
Поскольку в P2 содержится бесконечное множество других функций, отличных от {f} = { , , }, то отсюда следует строгое вхождение: {f} [f]. Рассмотренная система не является функционально замкнутым классом.
Помимо самой системы функционально полными в ней будут подсистемы {f}1 = { , } и {f}2 = { , }. Это следует из того, что при помощи правил де Моргана функцию логического сложения можно выразить через { ,},а функцию логического умножения — через {, }:
(х у) = (ху), (х у) = (х у).
Других функционально полных подсистем в {f} нет.
Проверку полноты подсистемы функций {f}1 {f} во всей системе {f} можно производить путем сведения {f}1 к другой, заведомо полной в {f} системе.
Неполноту подсистемы {f}1 в {f} можно проверить, доказав строгое вхождение [f1] [f].
Определение. Подмножество m M называют функциональным базисом (базисом) системы М, если [m] = М , а после исключения из нее любой функции множество оставшихся не полно в М .
Замечание. Базисами системы функций {f} являются все ее функционально полные подсистемы {f}1, которые невозможно уменьшить без потери полноты в {f}.
Пример 3. Для всех систем, рассмотренных в Примере 2, найти базисы.
Решение. В случаях 1 и 2 функционально полными являются только сами системы и сузить их невозможно. Следовательно, они же являются и базисами.
В случае 3 есть две функционально полные в {f} подсистемы {f}1 = {, } и {f}2 ={, }, которые невозможно сократить без потери полноты. Они будут базисами системы {f} = {,,}.
Определение. Пусть система {f} является замкнутым классом. Ее подмножество {f}1 {f} называют предполным классом в {f}, если {f}1 не полно в {f} ([f1] [f]), а для любой функции из системы {f}, не входящей в {f}1 ({f} \ {f}1 ) справедливо: [ {f}1] = [f], т.е. прибавление к {f}1 делает ее полной в {f}.
Задачи
1. Проверить замкнутость множеств функций:
а) { }; б) {1, }; в) {(0111); (10)}; г) {(11101110); (0110)}; д) {(0001); (00000001); (0000000000000001); … }.
2. Проверить полноту систем функций в P2:
а) {0, }; б) {(0101) , (1010) }; в ) { }; г ) {(0001) , (1010) }.
3. Найти замыкание системы функций и ее базис:
а) {0 , 1 , }; б) {(1000) , (1010), (0101) }; в) {(0001) , (1110), ( 10) }; г ) {(1010) , (0001), (0111) }.