Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в дискретную математику (желтая).doc
Скачиваний:
481
Добавлен:
23.03.2016
Размер:
6.91 Mб
Скачать

4.3. Основные понятия и определения

Функции, реализуемые схемой, определяются следующим образом:

1) Каждому входу схемы сопоставляется функция, равная переменной, приписанной этому входу;

2) Пусть всем вершинам, к которым присоединены входы элемента Е схемы, уже сопоставлены функции. Тогда выходу этого элемента E сопоставляется функция φЕ (f(1),…,f(r)), где f(i) (1 ≤ i ≤ r) – функция, сопоставленная той вершине, с которой соединен i-й вход элемента Е.

В результате этого процесса каждой вершине схемы будет сопоставлена некоторая функция.

Определение. Схему с n входами, выходам которой приписаны числа 1,…, m, будем называть (n, m) – схемой.

Пример функции, реализуемой СФЭ. Пусть функция .

Тогда СФЭ, реализующие данную функцию, выглядят следующим образом:

Определение. Если S – СФЭ, а L(S) – число элементов в схеме S, то L(S) называется сложностью схемы S.

Определение. Если функции всех элементов схемы S принадлежат множеству Б, то будем говорить, что схема S есть схема в базисе Б.

Замечание. В дальнейшем мы будем рассматривать схемы из функциональных элементов в базисе Б = (V,&,¬). Элементы, которым сопоставлены функции V, &, ¬, будем называть соответственно дизьюнктором, коньюнктором и инвертором.

Рассмотрим функцию f(x1, …, xn). Считается, что схема S, реализующаяf, тем лучше, чем меньше ее сложность L(S). В этих условиях задача ставится так: для каждой функции f требуется найти реализующую ее схему S, на которой L(S) достигает минимума.

Обозначим этот минимум через L(f):

L(f) = – min L(S) по всем схемам S, реализующим функцию f.

Вводим функцию L(n) = max L(f), где max берется по всем функциям от n аргументов.

L(n) = max L(f) – функция Шеннона.

f(x1, …, xn)ЄP2.

Другими словами, L(n) – минимальная сложность СФЭ, реализованной самой сложной функцией среди функций, зависящих от n переменных.

Основная задача синтеза: Найти такой метод синтеза схем, позволяющий для любой функции от n аргументов построить схему S, для которой L(S) близко к L(n), например, L(S)L(n). Такой подход был предложен К.Э. Шенноном в 1949 г. при рассмотрении контактных схем и дан наилучший по порядку метод синтеза контактных схем.

Можно ли любую функцию алгебры логики реализовать схемой?

4.4. Возможность реализации любой функции алгебры логики сфэ

Теорема 1. Каждая функция f(x1, …, xn) Є P2 может быть реализована некоторой СФЭ S и притом L(S) ≤ n 2n+1, где n 1.

Доказательство. При доказательстве этой теоремы используем метод синтеза, основанный на моделировании СДНФ.

Пусть = (1,…,n). Рассмотрим конъюнкцию K= x1&…&xn.

Схема для конъюнкции K, приведенная на рисунке 1, состоит из n инверторов, присоединенных к входам схемы, и цепочки из n–1 конъюнкторов с n входами. Причем i-й вход цепочки присоединяется либо к i-му входу схемы, еслиi = 1, либо к выходу i-го инвертора, если i = 0, так как

при i =1,

xii =

при i = 0.

Рис. 1

Очевидно, что L(K) 2n – 1 (1)

Пусть f(x1, …, xn) – произвольная функция из P2 и

f(x1, …, xn) = = KK – ее СДНФ,

где 1  m  2.

Тогда схема S для f строится из m схем для конъюнкций K(1 j  m) и цепочки из m–1 дизъюнкторов (цепочка имеет m входов), объединяющей выходы схем для конъюнкций (рис. 2). Таким образом, учитывая (1), L(S)  (2n–1)m+m–1 = 2nm–m+m–1 = 2nm–1 < 2nm  2n2 = n2L(S)  n2.

S:

Рис. 2

Мы доказали утверждение теоремы для любой функции, не равной тождественно 0.

Функция, тождественно равная 0, может быть реализована схемой, изображенной на рисунке 3, так как &=0. Поэтому при n 1 L(S)  n2, так как L(1) = 2 < 12 = 4. Теорема доказана полностью.

Рис. 3

Замечание. При доказательстве теоремы 1 использовался простейший метод синтеза, основанный на моделировании СДНФ.

Следствие. L(n)  n 2n+1, где .