Простейшие методы синтеза схем из функциональных элементов — различия между версиями
м |
м |
||
| Строка 69: | Строка 69: | ||
}} | }} | ||
'''Примечание''' | '''Примечание''' | ||
| − | + | ||
| + | Введем функцию | ||
| + | |||
| + | <tex> x^{\sigma} = \begin{cases} | ||
| + | x, \sigma =1;\\ | ||
| + | \overline{x}, \sigma =0 | ||
| + | \end{cases}</tex> | ||
{{Лемма | {{Лемма | ||
|id = Lemma2 | |id = Lemma2 | ||
|about = 2 | |about = 2 | ||
| − | |statement = Пусть <tex> K_{n}(x_{1},\dotsc,x_{n}) </tex> {{---}} система всех <tex> 2^{n} </tex> конъюнкций <tex> x_{1}\wedge\dotsc\wedge x_{n}</tex>, тогда для <tex> K_{n} </tex> имеет место соотношение <tex> size_{B}(K_{n}) \sim 2^n </tex> | + | |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> |
|proof = [[Файл:Synschemes Lemma2.png|250px|thumb|right|Рис. 3]] | |proof = [[Файл:Synschemes Lemma2.png|250px|thumb|right|Рис. 3]] | ||
Разделим цепочки конъюнкций на две части. Каждая конъюнкция <tex> x_{1}\wedge\overline{x}_{2}\wedge{x}_{3}\wedge ... \wedge{x}_{i} </tex> может быть представлена в виде конъюнкции двух конъюнкций длины <tex> k </tex> и <tex> n-k </tex>: | Разделим цепочки конъюнкций на две части. Каждая конъюнкция <tex> x_{1}\wedge\overline{x}_{2}\wedge{x}_{3}\wedge ... \wedge{x}_{i} </tex> может быть представлена в виде конъюнкции двух конъюнкций длины <tex> k </tex> и <tex> n-k </tex>: | ||
| Строка 118: | Строка 124: | ||
|proof = [[Файл:Synschemes-Theorem2.png|300px|thumb|right|Рис. 4]] | |proof = [[Файл:Synschemes-Theorem2.png|300px|thumb|right|Рис. 4]] | ||
Пусть <tex> f(x_{1},...,x_{n}) </tex> {{---}} произвольная булева функция. Рассмотрим разложение <tex> f </tex> по переменным <tex> x_{1},...,x_{m} </tex>, где <tex> 1 \le m \le n </tex>: | Пусть <tex> f(x_{1},...,x_{n}) </tex> {{---}} произвольная булева функция. Рассмотрим разложение <tex> f </tex> по переменным <tex> x_{1},...,x_{m} </tex>, где <tex> 1 \le m \le n </tex>: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<tex>f(x_{1},...,x_{n})=\displaystyle\bigvee_{(\sigma_{1},\dotsc,\sigma_{m})}x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{m}^{\sigma_{m}}\wedge f(\sigma_{1},\dotsc,\sigma_{m},x_{m+1},\dotsc,x_{n}) </tex>. | <tex>f(x_{1},...,x_{n})=\displaystyle\bigvee_{(\sigma_{1},\dotsc,\sigma_{m})}x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{m}^{\sigma_{m}}\wedge f(\sigma_{1},\dotsc,\sigma_{m},x_{m+1},\dotsc,x_{n}) </tex>. | ||
Версия 19:02, 22 декабря 2013
| Определение: |
| Синтезом схемы из функциональных элементов называется процедура получения логической схемы, реализующей заданную логическую функцию. |
Приведем несколько простейших алгоритмов синтеза схем, реализующих произвольную функцию от аргументов , в случае когда базис .
Содержание
Метод синтеза, основанный на совершенной ДНФ
| Лемма (1): |
Любой конъюнкт в СДНФ можно представить не более, чем элементами. |
| Доказательство: |
|
Построим данную схему следующим образом: если -й множитель равен , то присоединяем к выходу элемент отрицания и последовательно присоединяем к элементу конъюнкции, иначе просто присоединяем к "свободному" входу элемента конъюнкции. Очевидно, что сложность построенной схемы . Поэтому . Приведем пример для (рис. 1). |
| Теорема (1): |
Для любой функции имеет место неравенство |
| Доказательство: |
|
Пусть — произвольная булева функция. Если , то схема строится в соответствии с представлением , то есть . Если , то может быть задана дизъюнктивной нормальной формой
где и каждая конъюнкция имеет вид Схема для состоит из конъюнкций (каждая из них в соответствии с леммой 1 имеет сложность не более ) и цепочки из элемента дизъюнкции с свободными входами. Свободные входы этой цепочки присоединяются к выходам схем для конъюнкций .(рис. 2) Имеем
Таким образом, для любой функции выполняется неравенство
|
Метод синтеза, основанный на более компактной реализации множества всех конъюнкций
| Определение: |
| означает, что асимптотически эквивалентна , то есть |
| Определение: |
| означает, что |
| Определение: |
| Пусть есть булева функция от аргументов и набор из булевых функций , таких что , где . Тогда системой булевых функций называется функция от всех аргументов функций , которая определяется как |
Примечание
Введем функцию
| Лемма (2): |
Пусть — система всех конъюнкций , тогда для имеет место соотношение |
| Доказательство: |
|
Разделим цепочки конъюнкций на две части. Каждая конъюнкция может быть представлена в виде конъюнкции двух конъюнкций длины и :
Поэтому схема для может быть образована из схем для и и системы из элементов конъюнкции, осуществляющих вышеприведенную операцию.(рис. 3) Следовательно,
Так как по теореме 1 , ,то
Положим . Тогда , и
С другой стороны, при каждая конъюнкция реализуется на выходе некоторого элемента, то есть при выполняется неравенство . Таким образом,
|
| Теорема (2): |
Для любой функции имеет место соотношение . |
| Доказательство: |
|
Пусть — произвольная булева функция, . Заменим в схеме (рис. 2) верхнюю часть схемы, реализующую конъюнкции , схемой, реализующей все конъюнкции из . Тогда для любой такой функции (не равной нулю) имеем Таким образом, |
Метод синтеза схем К.Э.Шеннона
| Теорема (3): |
Для любой функции имеет место соотношение . |
| Доказательство: |
|
Пусть — произвольная булева функция. Рассмотрим разложение по переменным , где : . Схема для функции строится из трех подсхем: . (рис. 4)
Поэтому выполняется неравенство . Таким образом,
Положим (для упрощения дальнейших выкладок) . Тогда
Заметим, что второе слагаемое "очень быстро" растет с ростом , а первое слагаемое убывает с ростом медленней. Поэтому следует взять такое значение , при котором первое и второе слагаемые приблизительно равны, и потом немного уменьшить . Тогда второе слагаемое "сильно" уменьшится, а первое "не очень сильно" возрастет. Возьмем, например, . Тогда
то есть получили "слишком много". Возьмем на единицу меньше: . Тогда
Вспомним теперь, что должно быть целым числом, и положим . Тогда ,
При этом выборе окончательно имеем
|
Литература
- Яблонский С.В. Введение в дискретную математику. — 4-е изд. — М.: Высшая школа, 2003. — 384 с. — ISBN 5-06-004681-8