Простейшие методы синтеза схем из функциональных элементов — различия между версиями
м |
(Картинка в теорему 2) |
||
Строка 80: | Строка 80: | ||
|id = Lemma2 | |id = Lemma2 | ||
|about = 2 | |about = 2 | ||
− | |statement = Пусть <tex> K_{n}(x_{1}^{\sigma_{1}},\dotsc, x_{n}^{\sigma_{n}}) </tex> {{---}} система всех <tex> 2^{n} </tex> конъюнкций <tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}</tex>, тогда для <tex> K_{n} </tex> имеет место соотношение <tex> size_{B}(K_{n}) \sim 2^n </tex> | + | |statement = Пусть <tex> K_{n}(x_{1},x_{2},\dotsc,x_{n},\dotsc, x_{1}^{\sigma_{1}},x_{2}^{\sigma_{2}},\dotsc,x_{n}^{\sigma_{n}},\dotsc,\bar{x}_{1},\bar{x}_{2},\dotsc, \bar{x}_{n}) </tex> {{---}} система всех <tex> 2^{n} </tex> конъюнкций <tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}</tex>, тогда для <tex> K_{n} </tex> имеет место соотношение <tex> size_{B}(K_{n}) \sim 2^n </tex> |
|proof = [[Файл:Synschemes Lemma2.png|250px|thumb|right|Рис. 3]] | |proof = [[Файл:Synschemes Lemma2.png|250px|thumb|right|Рис. 3]] | ||
− | Разделим цепочки конъюнкций на две части. Каждая конъюнкция <tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}} </tex> может быть представлена в виде конъюнкции двух конъюнкций длины <tex> k </tex> и <tex> n-k </tex>: | + | Конъюнкции <tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}</tex> соответствуют функциям <tex> g </tex> из определения функции, а <tex> K_{n} </tex> соответствует функции <tex> S </tex>. |
+ | |||
+ | Разделим цепочки конъюнкций на две части. Каждая конъюнкция <tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}} </tex> может быть представлена в виде конъюнкции двух конъюнкций длины <tex> k </tex> и <tex> n-k </tex> (<tex> k </tex> мы выберем позже): | ||
::<tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}} = (x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{k}^{\sigma_{k}})(x_{k+1}^{\sigma_{k+1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}) </tex>. | ::<tex> x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}} = (x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{k}^{\sigma_{k}})(x_{k+1}^{\sigma_{k+1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}) </tex>. | ||
Строка 107: | Строка 109: | ||
|about = 2 | |about = 2 | ||
|statement =Для любой функции <tex> f(x_{1}, ..., x_{n}) </tex> имеет место соотношение <tex> size_{B}(f)\lesssim 2^{n+1} </tex>. | |statement =Для любой функции <tex> f(x_{1}, ..., x_{n}) </tex> имеет место соотношение <tex> size_{B}(f)\lesssim 2^{n+1} </tex>. | ||
− | |proof = Пусть <tex> f(x_{1},...,x_{n}) </tex> {{---}} произвольная булева функция, <tex> f \ne 0 </tex>. Заменим в схеме (рис. 2) верхнюю часть схемы, реализующую конъюнкции <tex> K_{1} \vee K_{2} \vee ... \vee K_{s} </tex>, схемой, реализующей все конъюнкции из <tex> K_{n} </tex>. Тогда для любой такой функции <tex> f(x_{1},...,x_{n}) </tex> (не равной нулю) имеем | + | |proof = |
+ | [[Файл:Synschemes_ NewTheorem2.png|400px|thumb|right|В верхней части схемы рис.2 все подсхемы, вычисляющие конъюнкции, заменили на <tex>K_n</tex>]] | ||
+ | Пусть <tex> f(x_{1},...,x_{n}) </tex> {{---}} произвольная булева функция, <tex> f \ne 0 </tex>. Заменим в схеме (рис. 2) верхнюю часть схемы, реализующую конъюнкции <tex> K_{1} \vee K_{2} \vee ... \vee K_{s} </tex>, схемой, реализующей все конъюнкции из <tex> K_{n} </tex>. Тогда для любой такой функции <tex> f(x_{1},...,x_{n}) </tex> (не равной нулю) имеем | ||
::<tex> size_{B}(f) \le size_{B}(K_{n})+s-1 \le size_{B}(K_{n})+2^{n}-1 \lesssim 2^{n+1} </tex> | ::<tex> size_{B}(f) \le size_{B}(K_{n})+s-1 \le size_{B}(K_{n})+2^{n}-1 \lesssim 2^{n+1} </tex> | ||
Строка 144: | Строка 148: | ||
::<tex> size_{B}(f) \le size_{B}(S_{1})+size_{B}(S_{2})+size_{B}(S_{3}) \lesssim 3 \cdot 2^{m} +(n-m)2^{n-m+1}2^{2^{n-m}} </tex>. | ::<tex> size_{B}(f) \le size_{B}(S_{1})+size_{B}(S_{2})+size_{B}(S_{3}) \lesssim 3 \cdot 2^{m} +(n-m)2^{n-m+1}2^{2^{n-m}} </tex>. | ||
− | Положим | + | Положим <tex> k=n-m </tex>. Тогда |
::<tex> size_{B}(f) \lesssim 3 \cdot 2^{n-k} +k2^{k+1}2^{2^{k}} </tex>. | ::<tex> size_{B}(f) \lesssim 3 \cdot 2^{n-k} +k2^{k+1}2^{2^{k}} </tex>. |
Версия 15:21, 24 декабря 2013
Определение: |
Синтезом схемы из функциональных элементов называется процедура получения логической схемы, реализующей заданную логическую функцию. |
Приведем несколько простейших алгоритмов синтеза схем, реализующих произвольную функцию от аргументов , в случае когда базис .
Содержание
Метод синтеза, основанный на совершенной ДНФ
Лемма (1): |
Любой конъюнкт в СДНФ можно представить не более, чем элементами. |
Доказательство: |
Построим данную схему следующим образом: если -й множитель равен , то присоединяем к выходу элемент отрицания и последовательно присоединяем к элементу конъюнкции, иначе просто присоединяем к "свободному" входу элемента конъюнкции.Очевидно, что сложность построенной схемы .Поэтому Приведем пример для . (рис. 1). |
Теорема (1): |
Для любой функции имеет место неравенство |
Доказательство: |
Пусть булева функция. — произвольнаяЕсли , то схема строится в соответствии с представлением , то есть .Если дизъюнктивной нормальной формой , то может быть задана
где и каждая конъюнкция имеет видСхема леммой 1 имеет сложность не более ) и цепочки из элемента дизъюнкции с свободными входами. Свободные входы этой цепочки присоединяются к выходам схем для конъюнкций .(рис. 2) Имеем для состоит из конъюнкций (каждая из них в соответствии с
Таким образом, для любой функции выполняется неравенство
|
Метод синтеза, основанный на более компактной реализации множества всех конъюнкций
Определение: |
означает, что асимптотически эквивалентна , то есть |
Определение: |
означает, что |
Определение: |
Пусть есть булева функция от | аргументов и набор из булевых функций , таких что , где . Тогда системой булевых функций называется функция от всех аргументов функций , которая определяется как
Примечание
Введем функцию
Лемма (2): |
Пусть — система всех конъюнкций , тогда для имеет место соотношение |
Доказательство: |
Конъюнкции соответствуют функциям из определения функции, а соответствует функции .Разделим цепочки конъюнкций на две части. Каждая конъюнкция может быть представлена в виде конъюнкции двух конъюнкций длины и ( мы выберем позже):
Поэтому схема для может быть образована из схем для и и системы из элементов конъюнкции, осуществляющих вышеприведенную операцию.(рис. 3) Следовательно,
Так как по теореме 1 , ,то
Положим . Тогда , и
С другой стороны, при каждая конъюнкция реализуется на выходе некоторого элемента, то есть при выполняется неравенство . Таким образом,
|
Теорема (2): |
Для любой функции имеет место соотношение . |
Доказательство: |
Пусть — произвольная булева функция, . Заменим в схеме (рис. 2) верхнюю часть схемы, реализующую конъюнкции , схемой, реализующей все конъюнкции из . Тогда для любой такой функции (не равной нулю) имеемТаким образом, |
Метод синтеза схем К.Э.Шеннона
Теорема (3): |
Для любой функции имеет место соотношение . |
Доказательство: |
Пусть — произвольная булева функция. Рассмотрим разложение по переменным , где :. Схема для функции строится из трех подсхем: . (рис. 4)
Поэтому выполняется неравенство . Таким образом,
Положим . Тогда
Заметим, что второе слагаемое "очень быстро" растет с ростом , а первое слагаемое убывает с ростом медленней. Поэтому следует взять такое значение , при котором первое и второе слагаемые приблизительно равны, и потом немного уменьшить . Тогда второе слагаемое "сильно" уменьшится, а первое "не очень сильно" возрастет. Возьмем, например, . Тогда
то есть получили "слишком много". Возьмем на единицу меньше: . Тогда
Вспомним теперь, что должно быть целым числом, и положим . Тогда ,
При этом выборе окончательно имеем
|
Литература
- Яблонский С.В. Введение в дискретную математику. — 4-е изд. — М.: Высшая школа, 2003. — 384 с. — ISBN 5-06-004681-8