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

4.5. Простейшие методы синтеза

1. Метод синтеза, основанный на моделировании СДНФ.

2. Модификация предыдущего метода, заключающаяся в совместной реализации конъюнкций.

Метод синтеза, основанный на моделировании СДНФ, наглядно описали при доказательстве теоремы 1 (рис. 2).

Далее опишем следующий метод, заключающийся в совместной реализации конъюнкций (лемма).

Обозначим через L(F/G) минимальную сложность схемы (в базисе Б), которую надо присоединить к схеме, реализующей функцию G, чтобы полученная схема реализовала функцию F. Очевидно, что

L(F)L(G)+ L(F/G). (2)

В нашем случае Б = (, &, -).

Пусть Qn (x1,…,xn) = {x11&…&xnn} – система всех 2n конъюнкций от переменных x1,…,xn.

Лемма. L(Qn)  2n (сложность реализаций всех конъюнкций от n переменных).

Доказательство. Конъюнкцию x11&…&xnn можно разбить на 2 части:

x11&…&xmm и xm+1m+1&…&xnn.

Очевидно, что каждая конъюнкция x11&…&xnn из Q(x,…,x) является конъюнкцией двух конъюнкций: x11&…&xmm из Q(x,…,x) и xm+1m+1&…&xnn из Qn-m (xm+1,…,xn).

Поэтому (согласно рис. 4)

L(Q/ Q, Q)2. (3)

Рис. 4

Из (1) следует, что

L(Q)(2m-1)*2m*2,

L(Q)[2(n-m)-1]*2(n-m)*2.

Поэтому, учитывая (2) и (3), имеем L(Q) L(Q)+ L(Q)+ L(Q/ Q, Q) m*2+(n-m)*2+2.

Положим теперь m = []. Тогда m*2*2,

(

n-m)* 2(+1)*2. Значит, L(Q)< 2n.

С другой стороны, очевидно, что при n  2 L(Q)2, так как каждая конъюнкция реализуется на выходе некоторого элемента.

Таким образом, L(Q)~2n. Лемма доказана.

З

амечание.
Используя лемму, можно усовершенствовать предыдущий метод синтеза, заменив в схеме на рисунке 2 верхнюю часть схемы, реализующую конъюнкции раздельно, схемой, реализующей их совместно. При этом для любой функции f(x1, …, xn), f, имеем: L(f) L(Q) + 2, так как L(Q)2, то L(f) < 2*2. Значит, L(n) < 2*2.

4.6. Метод Шеннона

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

Т

еорема 2. L(n) < .

Доказательство. Напомним, что функция Шеннона L(n)= , гдеL(f) = , аL(S) – сложность схемы S, реализующей булеву функцию f (x1, …, xn).

Разложим функцию f(x1, …, xn) по n-k переменным:

f(x1, …, xn) = . (4)

Схема S для функции f строится из трех блоков (подсхем) (рис. 5):

S:

1) блока, реализующего Q(x,…,x);

2) блока, реализующего систему V(x,…,x) всех 2функций от переменныхx,…,x;

3) блока, осуществляющего соединение первых двух блоков в соответствии с (4).

Заметим, что два первых блока не зависят от реализуемой функции f, а зависят только от разбиения аргументов функции f на два подмножества: {x,…,x} и {x,…,x}.

В третьем блоке на каждый член разложения (4) приходится не более одного конъюнктора и не более одного дизъюнктора.

Таким образом,

L(S)  L(Q) + L(V) + 22. (5)

С

огласно теореме 1 L(V)  k22, согласно лемме L(Q)2, тогда L(S) < 32+ k22.

Положим (при достаточно больших n): k = [log(n – 3 log n)].

Тогда log(n – 3 log n)-1< k  log (n – 3 log n) log(n – 3 log n) – log 2 < log 2 log(n – 3 log n) < 2 n – 3 log n,

2 2= = .

П

оэтому 32+ k22 < + 2n log n < , так как = 0.

Т

аким образом L(n) < . Теорема полностью доказана.