Простейшие методы синтеза схем из функциональных элементов — различия между версиями
Gaporf (обсуждение | вклад) м (→Метод синтеза, основанный на более компактной реализации множества всех конъюнкций: Добавил пропущенную скобочку в формуле f(g1(), g2(), ...…) (Метки: правка с мобильного устройства, правка из мобильной версии) |
|||
Строка 66: | Строка 66: | ||
Пусть есть булева функция от <tex> n </tex> аргументов <tex> f : \lbrace0, 1\rbrace^n \rightarrow \lbrace0, 1\rbrace </tex> и набор из <tex> n </tex> булевых функций <tex> g_1 \dotsc g_n </tex>, таких что <tex> g_i :\lbrace0, 1\rbrace^{m_i} \rightarrow \lbrace0, 1\rbrace </tex>, где <tex> i=1,\dotsc, n</tex>. Тогда системой булевых функций называется функция <tex> S </tex> от всех аргументов функций <tex> g_i</tex>, которая определяется как | Пусть есть булева функция от <tex> n </tex> аргументов <tex> f : \lbrace0, 1\rbrace^n \rightarrow \lbrace0, 1\rbrace </tex> и набор из <tex> n </tex> булевых функций <tex> g_1 \dotsc g_n </tex>, таких что <tex> g_i :\lbrace0, 1\rbrace^{m_i} \rightarrow \lbrace0, 1\rbrace </tex>, где <tex> i=1,\dotsc, n</tex>. Тогда системой булевых функций называется функция <tex> S </tex> от всех аргументов функций <tex> g_i</tex>, которая определяется как | ||
− | <tex> S(x_{11},\dotsc,x_{1(m_1)},x_{21},\dotsc,x_{2(m_2)}</tex> <tex>,\dotsc,x_{n1},\dotsc,x_{n(m_n)})</tex><tex>=f(g_1(x_{11},\dotsc,x_{1(m_1)}),g_2(x_{21},\dotsc,x_{2(m_2)},\dotsc,g_n(x_{n1},\dotsc,x_{n(m_n)}))</tex> | + | <tex> S(x_{11},\dotsc,x_{1(m_1)},x_{21},\dotsc,x_{2(m_2)}</tex> <tex>,\dotsc,x_{n1},\dotsc,x_{n(m_n)})</tex><tex>=f(g_1(x_{11},\dotsc,x_{1(m_1)}),g_2(x_{21},\dotsc,x_{2(m_2)}),\dotsc,g_n(x_{n1},\dotsc,x_{n(m_n)}))</tex> |
}} | }} | ||
'''Примечание''' | '''Примечание''' |
Версия 10:46, 4 октября 2018
Определение: |
Синтезом схемы из функциональных элементов называется процедура получения логической схемы, реализующей заданную логическую функцию. |
Приведем несколько простейших алгоритмов синтеза схем, реализующих произвольную функцию от аргументов , в случае когда базис .
Содержание
Метод синтеза, основанный на совершенной ДНФ
Лемма (1): |
Любой конъюнкт в СДНФ можно представить не более, чем элементами. |
Доказательство: |
Построим данную схему следующим образом: если -й множитель равен , то присоединяем к выходу элемент отрицания и последовательно присоединяем к элементу конъюнкции, иначе просто присоединяем к "свободному" входу элемента конъюнкции.Очевидно, что сложность построенной схемы .Поэтому Приведем пример для . (рис. 1). |
Теорема (1): |
Для любой функции имеет место неравенство |
Доказательство: |
Пусть булева функция. — произвольнаяЕсли , то схема строится в соответствии с представлением , то есть .Если дизъюнктивной нормальной формой , то может быть задана
где и каждая конъюнкция имеет видСхема леммой 1 имеет сложность не более ) и цепочки из элемента дизъюнкции с свободными входами. Свободные входы этой цепочки присоединяются к выходам схем для конъюнкций .(рис. 2) Имеем для состоит из конъюнкций (каждая из них в соответствии с
Таким образом, для любой функции выполняется неравенство
|
Метод синтеза, основанный на более компактной реализации множества всех конъюнкций
Определение: |
означает, что асимптотически эквивалентна , то есть |
Определение: |
означает, что |
Определение: |
Пусть есть булева функция от | аргументов и набор из булевых функций , таких что , где . Тогда системой булевых функций называется функция от всех аргументов функций , которая определяется как
Примечание
Введем функцию
Лемма (2): |
Пусть — система всех конъюнкций , где каждому соответствует свой набор , тогда для имеет место соотношение |
Доказательство: |
Конъюнкции соответствуют функциям из определения функции, соответствует функции , а конъюнкция функций соответствует функции .Заметим, что на вход схемы подается определенный набор аргументов , то есть на выходе схемы будет результат конъюнкции этих аргументов.Разделим цепочки конъюнкций на две части. Каждая конъюнкция может быть представлена в виде конъюнкции двух конъюнкций длины и ( мы выберем позже):
Поэтому схема для теореме 1 (рис. 3). Левая часть схемы считает конъюнкцию переменных , а правая часть - переменных . Следовательно, может быть образована из схем для и и системы из элементов конъюнкции, осуществляющих вышеприведенную операцию, как показано в
Так как по теореме 1 , ,то
Положим . Тогда , и
С другой стороны, при каждая конъюнкция реализуется на выходе некоторого элемента, то есть при выполняется неравенство . Таким образом,
|
Теорема (2): |
Для любой функции имеет место соотношение . |
Доказательство: |
Пусть — произвольная булева функция, . Заменим в схеме (рис. 2) верхнюю часть схемы, реализующую конъюнкции , схемой, реализующей все конъюнкции из . Тогда для любой такой функции (не равной нулю) имеемТаким образом, |
Метод синтеза схем К.Э.Шеннона [1]
Теорема (3): |
Для любой функции имеет место соотношение . |
Доказательство: |
Пусть — произвольная булева функция. Рассмотрим разложение по переменным , где :. Схема для функции строится из трех подсхем: . (рис. 4)
Поэтому выполняется неравенство . Таким образом,
Положим . Тогда
Заметим, что второе слагаемое "очень быстро" растет с ростом , а первое слагаемое убывает с ростом медленней. Поэтому следует взять такое значение , при котором первое и второе слагаемые приблизительно равны, и потом немного уменьшить . Тогда второе слагаемое "сильно" уменьшится, а первое "не очень сильно" возрастет. Возьмем, например, . Тогда
то есть получили "слишком много". Возьмем на единицу меньше: . Тогда
Вспомним теперь, что должно быть целым числом, и положим . Тогда ,
При этом выборе окончательно имеем
|
См. также
- Реализация булевой функции схемой из функциональных элементов
- Метод Лупанова синтеза схем
- Контактная схема
Примечания
Источники информации
- Яблонский С.В. Введение в дискретную математику. — 4-е изд. — М.: Высшая школа, 2003. — 384 с. — ISBN 5-06-004681-8