Лекции Олейник PDF / Р_3_11
.pdf
§ 3.11. Реализация булевых функций с помощью схем из функциональных элементов
Схема из функциональных элементов. Входы, функциональные элементы, выходы схемы. Сложность схемы. Глубина вершины. Функции, реализуемые в вершинах схемы. Функции, реализуемые схемой. Проблема анализа и проблема синтеза схем.
Схемой из функциональных элементов в базисе , ,
называют ориентированный граф S V ,U без циклов,
удовлетворяющий следующим условиям.
1. Все вершины этого графа разбиваются на три подмножества
V1 ,V2 ,V3 (V V1 V2 V3 , Vi
а) в каждую вершину из V1 б) в каждую вершину из V2 в) в каждую вершину из V3
Vj при i j ) так, что: не входит ни одной дуги; входит по одной дуге; входит по две дуги.
2.Каждая вершина из V1 помечена некоторой переменной, причем разные вершины помечены разными переменными.
3.Каждая вершина из V2 помечена связкой .
4.Каждая вершина из V3 помечена одной из связок и .
5.Выделено некоторое подмножество V * (V* V ) вершин. Вершины из V1 называются входами схемы. Если вершина v из
V1 помечена переменной xi , то говорят, что на вход v подается переменная xi .
Вершины из V2 и V3 называются функциональными элементами
схемы.
Вершины из V * называют выходами схемы.
Сложностью схемы называют число входящих в нее функциональных элементов.
203
Пр и м ер 1 . На рис. 3.87 приведена схема, имеющая два входа, один выход и четыре функциональных элемента. Схема имеет сложность 4.
a

x1
с

x2





*
b
Рис. 3.87.
Глубиной вершины v V в схеме S V ,U назовем наибольшую
из длин путей из входов S в v .
Например, в схеме из примера 1 вершины a и b имеют глубину 1, вершина c - глубину 2, вершина * - глубину 3.
Пусть входы схемы помечены переменными x1, x2 ,..., xn . Каждой
вершине |
v V |
сопоставим |
булеву функцию fv x1 , x2 ,..., xn по |
|
следующему индуктивному правилу. |
|
|||
Баз ис и н д ук ц и и . Пусть v имеет глубину 0. |
Тогда это вход |
|||
схемы, |
который |
помечен |
некоторой переменной |
xi . Положим |
fv x1, x2 ,..., xn xi .
Ин д ук т и в н ы й пер е хо д . Пусть всем вершинам w глубины, меньшей или равной k , уже сопоставлены функции fw и пусть v - произвольная вершина глубины k 1. Эта вершина принадлежит одному из множеств V2 или V3 .
а) Если вершина v принадлежит V2 , то в нее входит одна дуга, выходящая из некоторой вершины w . Глубина вершины w не превосходит k , и, значит, в силу предположения индукции вершине w уже сопоставлена некоторая булева функция fw . Вершине v
сопоставим отрицание этой функции, т.е. fw .
б) Если вершина v принадлежит V3 , то в нее входят две дуги, выходящие из некоторых вершин w и w , которым в силу предположения индукции уже сопоставлены булевы функции fw и
204
fw |
соответственно. |
Если вершина v помечена |
связкой , |
то |
||
сопоставим ей функцию |
fw fw . Если вершина v |
помечена связкой |
||||
, |
то сопоставим ей функцию fw fw . |
|
|
|
||
|
Если вершине |
v |
сопоставлена функция |
fv x1 , x2 ,..., xn , |
то |
|
говорят, что в v реализуется булева функция fv . |
|
|
||||
|
Схема по определению реализует систему булевых функций, |
|||||
сопоставленных выходам этой схемы. |
|
|
|
|||
|
Пр и м ер 2 . В |
соответствии с данным |
выше |
определением |
в |
|
вершинах схемы, изображенной на рис. 3.87, реализуются следующие функции:
fa x1 x2 , fb x1 x2 , fc fa fb x1 x2 x1 x2 ,
f* fc x1 x2 x1 x2 .
Схема реализует последнюю из перечисленных функций.
Со схемами из функциональных элементов связаны две основные проблемы - проблема анализа и проблема синтеза схемы.
Проблема анализа состоит в том, чтобы по заданной схеме из функциональных элементов и выделенному подмножеству ее выходных вершин определить булевы функции, реализуемые в этих вершинах.
Проблема синтеза заключается в построении схемы из функциональных элементов, реализующей заданную функцию. При этом желательно, чтобы схема имела наименьшую сложность.
Пр и м ер 3 . Построим схему в базисе ,
функцию g x1, x2 x1 x2 .
Воспользуемся тем, что g можно задать формулой g x1, x2 x1 x2 , и реализуем ее
схемой, изображенной на рис. 3.88. Эта схема имеет сложность два. Заметим, что функция f из примера 2 равна функции g из примера 3.
Очевидно, что схема на рис. 3.88 имеет наименьшую сложность из всех схем в базисе
, , , реализующих эту функцию.
, , реализующую
x1
*
x2
Рис. 3.88.
205
Упр а жн е н ие 3 . 3 8 . Построить схемы в базисе , , , реализующие основные элементарные функции двух переменных.
Упр а жн е н ие 3 . 3 9 . Построить схемы в базисе , , ,
реализующие функции:
а) f (001001101) ;
б) f (1110010100101111) .
206
