8.4. ПОЛНОТА ФУНКЦИОНАЛЬНЫХ БАЗИСОВ
В предыдущих разделах рассматривались возможности представления переключательных функций и эквивалентных преобразований формул, записанных с помощью операций конъюнкции, дизъюнкции и отрицания. Однако такой способ аналитического представления переключательных функций не является единственным. Современные технологии позволяют строить логические схемы из элементов, выполняющих операции, отличные от конъюнкции, дизъюнкции и отрицания. Естественно сформулировать следующую задачу: с помощью каких операций можно представить любую переключательную функцию и какими свойствами должны обладать операции, допускающие такое представление.
Прежде чем приступить к решению поставленной задачи, необходимо уточнить два вопроса:
Для ответа на первый вопрос воспользуемся общим положением о том, что формулу любой сложности можно построить с помощью двух действий: суперпозиции функций и подстановки переменных.
Определение: | Принцип подстановки заключается в следующем: если a = b, то в любой формуле, содержащей a, вместо а можно подставить b, и в результате будет получена эквивалентная формула. |
Ответ на второй вопрос заключается в том, что в базис В целесообразно включать "простейшие" операции (функции), зависящие по возможности от меньшего числа аргументов. Такими функциями, очевидно, являются функции одной и двух переменных.
8.4.1. Переключательные функции одной и двух переменных
Существует четыре различных функции одной переменной на множестве {0,1}: константа "0", константа "1", переменная x и инверсия переменной x (). Нетрудно убедиться, что из этих функций с помощью операций суперпозиции и подстановки можно получить только функцию одной переменной.
Различных функций двух переменных существует уже шестнадцать. Эти функции, их названия и обозначения приведены в табл. 4.1.
Таблица 4.1
|
Индекс функции fi(x, y) является десятичным эквивалентом двоичного числа, образованного из вектора значений функции на упорядоченном множестве наборов значений аргументов: {(0,0),(0,1),(1,0),(1,1)}. Функции f0, f3, f5, f10, f12, f15 являются расширением на случай двух переменных уже известных функций одной переменной. Функции f1(x,y) = x ∨ y (конъюнкция) и f7(x,y) = x ∧ y (дизъюнкция) совместно с функцией инверсии (f10, f12) были использованы в предыдущих разделах для построения форм представления переключательных функций, пригодных для аналитической записи переключательных функций произвольной сложности.
Для ответа на вопрос о том, могут ли другие функции двух переменных, кроме упомянутых ранее, быть использованы для представления ПФ произвольной сложности, введем ряд определений.
Среди большого числа возможных функциональных базисов особое место занимают так называемые полные функциональные базисы.
Определение: | Если функциональный базис В обладает тем свойством, что любая ПФ может быть реализована формулой над В, то будем называть этот базис полным. |
Сформулируем условия, необходимые и достаточные для полноты функционального базиса. Эти условия связаны с выделением специальных классов переключательных функций.