Литература / Олейник.Лекции по дискретной математике / вариант .doc / Глава 3 / параграф 3.18
.doc3.18. Схемы из функциональных элементов
в базисе
Определение. Схемой из функциональных элементов в базисе называют ориентированный граф без контуров, удовлетворяющий следующим условиям.
1. Все вершины этого графа разбиваются на три подмножества так что:
а) , при ;
б) в каждую вершину из не входит ни одной дуги;
в) в каждую вершину из входит по одной дуге;
г) в каждую вершину из входит по две дуги.
2. Каждой вершине из приписана некоторая переменная , причем разным вершинам приписаны разные переменные.
3. Каждой вершине из приписан символ (функция ).
4. Каждой вершине из приписан один из символов , (одна из функций , ).
5. Выделено некоторое подмножество () вершин.
Вершины из называются входами схемы. Если вершине из приписана переменная , то говорят, что на вход подается переменная .
Вершины из и называются функциональными элементами схемы. Каждая вершина из называется инвертором. Каждая вершина из с приписанным к ней символом называется конъюнктором; а каждая вершина из с приписанным к ней символом называется дизъюнктором.
Вершины из называются выходами схемы.
Пример 1. На рисунке приведена схема из функциональных элементов, имеющая два входа, один выход и четыре функциональных элемента.
Пусть - ориентированный граф, вершины которого занумерованы. Нумерацию вершин графа будем считать монотонной, если для любой дуги ,, номер вершины меньше номера вершины .
Утверждение 1. Любой ориентированный граф без контуров допускает монотонную нумерацию вершин.
Доказательство. Пусть - ориентированный граф без контуров. Возьмем на графе произвольный путь максимальной длины без повторяющихся ребер (такой путь обязательно существует, поскольку граф не содержит контуров и число его ребер конечно). В вершину , являющуюся началом этого пути , дуги не входят (в противном случае путь не являлся бы максимальным). Вершине припишем номер 1 и удалим из эту вершину вместе с выходящими из нее дугами.
Точно так же в оставшемся ориентированном графе без контуров найдем путь максимальной длины и вершине, являющейся началом этого пути, припишем номер 2. И так далее. Полученная нумерация вершин по построению будет для исходного графа монотонной. ■
Введем понятие системы булевых функций, реализуемых схемой.
Рассмотрим произвольную схему из функциональных элементов с n входами, на которые подаются переменные . Занумеруем вершины схемы так, чтобы полученная нумерация была монотонной. Затем всем вершинам схемы в порядке возрастания номеров этих вершин сопоставим булевы функции согласно сформулированному ниже индуктивному правилу.
1. Очевидно, что вершина с номером один является входом схемы. Пусть - некоторая переменная, которая подается на этот вход. Вершине сопоставим тождественную функцию .
2. Рассмотрим вершину с номером . Эта вершина принадлежит одному из множеств .
Если она принадлежит множеству , то ей как входу схемы приписана некоторая переменная ; в этом случае вершине сопоставим тождественную функцию .
Если вершина принадлежит , то в нее входит одна дуга, выходящая из некоторой вершины . В силу монотонной нумерации вершин схемы вершине уже сопоставлена некоторая булева функция ; отрицание этой функции, т.е. , сопоставим вершине .
Если вершина принадлежит , то в нее входит две дуги, выходящие из некоторых вершин и , которым, в силу монотонной нумерации вершин схемы, уже сопоставлены булевы функции и соответственно. В этом случае вершине сопоставим булеву функцию , если - конъюнктор, и , если - дизъюнктор.
Если вершине схемы из функциональных элементов сопоставлена функция , то говорят, что в вершине реализуется булева функция . Схема по определению реализует упорядоченную систему булевых функций, сопоставленных выходам этой схемы.
Утверждение 2. Булевы функции, реализуемые в вершинах схемы, полностью определяются самой схемой независимо от монотонной нумерации вершин схемы.
Доказательство. Доказательство проведем индукцией, взяв в качестве параметра число функциональных элементов в схемах.
Базис индукции. Для схем без функциональных элементов (такие схемы содержат только входы) утверждение, очевидно, выполняется.
Индуктивный переход. Пусть утверждение выполняется для всех схем, содержащих не более n элементов. Докажем его выполнение для схемы S, содержащей элемент. Рассмотрим две монотонные нумерации вершин схемы S. Очевидно, входам схемы как при первой нумерации, так и при второй сопоставляются одни и те же тождественные булевы функции.
Пусть - элемент схемы S , получивший при первой нумерации наименьший среди номеров функциональных элементов номер, и этому элементу при первой нумерации сопоставлена булева функция . Поскольку в вершину могут входить только дуги, выходящие из входов схемы, то и при второй нумерации элементу будет сопоставлена та же самая функция .
Схеме S сопоставим схему S’, получающуюся из S удалением всех дуг, входящих в , и объявлением вершины входом, на который подается . Очевидно, что всякая монотонная для S нумерация вершин останется монотонной и для S’. Ясно, что при первой нумерации одноименным вершинам в схемах S и S’ будут сопоставлены одни и те же функции; точно так же и при второй нумерации одноименным вершинам в S и S’ будут сопоставлены одни и те же функции. Но по предположению индукции в схеме S’ каждой вершине окажется сопоставленной одна и та же функция независимо от нумерации. Таким образом, индуктивный переход доказан. ■
Пример 2. Схема, рассмотренная в примере 1, реализует функцию
Замечание. Часто функциональные элементы схем изображаются в виде треугольников. Например, схему, рассмотренную в примере 1, можно было бы изобразить так, как показано на рисунке справа.