Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Elementy_teorii_grafov_2

.pdf
Скачиваний:
14
Добавлен:
06.03.2016
Размер:
902.64 Кб
Скачать

 

 

жим поток '

i;j+5

= n

ij

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

(i 2 1; 5)

 

 

 

 

 

'

 

 

= 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

; x

i

 

 

 

 

 

 

0i

 

 

 

 

 

 

3. На каждой дуге (x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 1.

 

 

j+5

; z

 

(j 2 1; 5)ïîëîæèмпоток '

j+5;z

 

îñ îäèò 1

 

 

 

ñêíîé

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

способноñòè).

 

 

 

 

 

 

 

 

 

 

 

 

 

Значение ункции ' на каждой дóãå сети неотрицательно и не пре-

в вершинах(пропуx 0 2 1; 5 .

 

 

 

 

 

j=1

n

ij

 

обеспечиваåò íеразрывность потока

 

венство

 

'

 

= 1 = P5

1

 

 

 

 

P5

 

'i;j+5

=

 

= 'j+5;z

(j 2 1; 5) отвечает условию

 

 

 

 

 

 

 

i

;i=1

 

 

 

â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

(j 2 1; 5).

 

 

 

 

 

 

 

 

Таким бразом, ункциявершинах' каждой вершèíå транспортной сети

неразрывности(кроме вх да ипотоквых да)

 

 

 

твечает у

 

овию неразрывности поток

 

è,

мальную величи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j+5

 

 

 

 

 

 

 

 

 

 

 

 

' = m. Мы покследу , что решению задачи о на-

значит, ' является потоком.

 

= m

 

 

 

 

 

ет, что поток имеет макси

 

Из равенства

P5

 

 

'j+5;z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

äëÿ

значениях соответствуz ет решение задà÷è о наибольшем поток

 

построенной

трансп ðòíîé

 

ñåòè.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

äà÷è

 

àæ

обратное:

 

 

 

àê

 

 

 

 

потоку ', являющемуся решением за-

 

 

наибольøåм потоке для указанной сети при условии ' = m,

пострПокить ðåøение задачи

 

 

поназна

 

 

 

 

 

 

. Äëÿ

 

 

 

æèìz n

 

=

'

 

 

(i 2 1; 5; j

2 1; 5) è покажем, что

так обрэтогоз ванная матрица

N = fn

g (i 2 1; 5; j 2 1; 5) являетсчåíèрешениеях

ì çàдачипоëîназначени-

 

i;j+5

 

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

ÿõ:

 

 

 

 

 

 

 

0 '

 

 

 

 

 

 

 

 

 

 

 

 

= 1 (i 2 1; 5; j 2 1; 5) ñë äó

 

 

1. Èç

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

неравенства0 n

 

 

 

 

1 (i

 

2 1; 5;

j 2 1; 5), которûå îòâå÷àþò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

i;j+5

 

 

 

 

i;j+5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

требованию булевости матрицы N.

=

P5

 

nij (i 2 1; 5; j 2

1; 5)

 

2. Èç

 

равенств

'0i

= 1 =

P5

 

 

 

'i;j+5

 

 

3. Èç

 

'j+5;z

= 1 =

P5

 

 

'i;j+5

= nij

 

(j 2 1; 5) следу

, ÷òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

 

следует, ч о каждая строка матрицы N имеет рîâíо 1 единиöó.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

каждый столбец матрицы N содержит ровно 1 единицу, и,етаким

 

 

образом,

 

атрица

N является матрицей назначений.

 

 

 

 

 

 

C. Алгоритì Форда-Фалкерсона решения задачи о наибольшем по-

токе состоит из 2 частей:

 

 

 

 

 

 

 

 

 

 

 

51

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пропуóòèвыхскнойд=z,(xнайдетсяспособности)0; xi; xj+5äóãà,; z (.iäë2ÿ1;которой5; j 2 1;

поток5), ведущегоïî íåé èçравенвхода1 (ååx0

II. Увеличение пот ка

 

 

 

ìåòîê.

 

 

 

 

 

 

 

 

 

Для получения полного потокалгоритмо

 

 

следующий

 

 

 

1.

нулевые пропускные способнвыïîëстиняем

 

=кроме0, оторыеалгоритм:не ассмат-

Все дуги транспортной сети не

мечены,

 

 

 

 

 

äóã, êîòî ûå èìå

 

 

риваются. Назначается нулевой поток ' = 0 на к

 

äóãå.

 

2.

Ищем любой путь по

 

 

 

x;y

 

 

 

 

 

 

 

 

 

в выход

 

еченным дугам из вхаждойда x

3.

z. Если его нет, то перехнеподиì ê ï. 4 àëãî

èòìà.

 

 

0

 

 

Пропускная способн сть всех дуг пути

равна

1 и на дугах этого

 

пути увеличиваем поток

íà 1:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8 x; y) : (x; y) 2 ! ' = ' + 1:

 

 

 

 

Удаляем (отмечаем) все дуги пути, имеющие

 

акую пропу

 

 

 

 

 

 

 

 

 

 

x;y

 

 

 

x;y

 

 

 

 

 

-

 

 

 

 

и обнуляем (временно, в пределах части I

 

 

ма) пропускную способность всех дуг этого

пути. Перехалгоритскнуюдим

4.

способность,. 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

анавливаем исходные пропускные способности дуг и пере-

 

Восстх дим к п. 5 (часть II

 

 

.

 

 

аблице 1, в которой

 

еализацию этой части алгалгоритма)ведем в

 

 

каждой д ги

 

енулев й пропускной способностью заводится

 

 

íûå

пропускные

способносгоритма

äóã

подписываются под каждойстолбец,дуг й.

Каждая строк

 

аблицы

отмечает путь отметкчертой

записью +1 в

и при выпол

 

èè

 

 

отмечается

 

 

 

 

 

над ней. Исхдля-

столбцах дуг

ïóòè.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Описание алгоритма пометок:

 

 

 

 

 

 

если они имели место.

5.

 

âñå

 

 

 

 

 

 

 

 

 

 

Стираем. 6

 

вершину x

 

пометкиой {+0}вершин,вы

 

ëíÿ

с повторени-

 

 

ï. 7, ïîê

0это возмо

 

. Åñëè

ïîмечена

вершина z,

 

Помечаемперех дим к

предыдущие. 8, а иначе перехжнодим к п. 9.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

52

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'

x;y

= 0 <

x;y

(поток по дуге меньше исх дной пропускной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y ïîìå-

 

7. Åñëèспособности),äëÿ äóãèòî(x;вершинуy) вершинаy помечаемx не помечена,пометк а вершинаf+xg.

 

 

÷åíà

è '

x;y

= 1 > 0 (поток по дуге ненулевой), то вершину x

 

 

помечаем пометкой f yg.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Если помечена

 

 

 

 

 

 

z, то нах дим марш ут прорыва (неко

 

 

 

 

 

 

ги могут прох диться в

обратном ориентации направле

 

 

 

ии), идущий извершинаx z по

обратным пометкам, начиная от верши-

 

 

торыеí z ( = (x0; xi

; : : : ; z), где каждая

 

 

 

 

кроме x0, имеет

 

 

ê

 

 

äóãå

 

 

k

0

пути, увеличивая еговершина,1, если дуг ориенти-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

изменяем поток по

 

 

п метку предыдущей вершины этого пути),

 

 

 

дугаждойориеíòè

этогоâана в обрат ом направлении. Перех дим к п. 5.

 

9. Конец

алгоритма

 

полученный поток является

наибольшим.

 

 

 

ðîâ íà â

 

àï

 

лении маршрута), или уменьшая его

1, åñëè

еализацию этой части алгоритма ведем в таблице 2

 

 

 

â òàá-

ñ ðîê

(нумерацию

стрзавок продолжаем, делая ее общейчастичноаблицаждой1)

î

 

 

 

 

 

 

 

 

2

от помеченных в

 

 

 

 

 

вершиныстрок . Послå

ïî

лице 1. В табли

 

 

 

 

 

 

äèì ñò

бец для каждой

 

 

. Â ê

 

 

дугаммечаем

 

ðóò

 

прорыва,

 

 

 

 

 

в столбец +1,аблицы

1

 

 

ïî

метки

вершиныz изменяем

 

следующейпредыдущейстрок

 

 

 

ся поток по дуге, или записывая 1, если уменьшает

я потокпотокд ге

Ïî

сле завершения

алгоритмазаписываятаблице 1 зап

 

сываем резульувеличиваетрую

 

 

 

íûì çíà÷ íèÿì ýò

строки строим матрицу решения

çà-

дачиполученазíачениях, åсли выпаждойлненодугисловие ' = m = 5.

 

 

 

 

щую строку, суммируя для к

 

 

 

 

потокè

вместе с их знаками.

 

 

Åñëè çíà

 

 

 

поток

 

 

 

 

 

 

 

 

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

' < m = 5, то при решении задачи н и-

б льшем

 

чениемы получаемz

инима ьный разрез H, который дàåò

âîçìî

 

поток

строить узкое

место следующим образом:

 

 

 

 

 

1. Множностьеств

 

L = fij r 2 R;

(x ; x ; z) 2= Hg определяет группу

 

 

работникîâ (строки матрицы R), для которых не хватает работ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

0

j

 

 

 

 

 

 

 

 

 

 

 

 

(столбцов матрицы R, в которых стоят единицы для этих строк).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

53

 

 

 

 

 

 

 

 

 

 

 

 

 

(строкработ (столбцым трицы

матрицыR, в которыхR), äëÿстояткоторыхединицыíå äëÿхватаетýòèõработникстолбцов).

D. Таблица

1 широкая, разделим ее на части 1А (начало) 1В

(продолжåíèå).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1А

N 0;

0; 2 0; 3 0; 4 0; 5 ; 6 1; 8 2; 8 2; 10 3; 7 3; 8 3; 9

1

+1

+1

 

 

 

 

 

 

 

+1

 

+1

 

 

 

 

 

 

 

 

 

2

 

+1

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

+1

 

 

 

1

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

1

0

+1

 

1

0

 

0

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1В

N 4; 6 4; 7 4; 8 5; 7 5; 9 5; 10 6; z 7; z 8; z 9; z 10; z

 

 

1

 

 

 

 

 

 

 

 

 

 

+1

 

 

+1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

5

0

0

+1

 

+1

 

 

 

 

 

 

+1

 

 

11

4

0

5

7

8

9 10

 

z

 

 

Таблица 2

N

1

2

3

 

 

6

 

 

 

 

 

6

 

 

 

 

+0

 

+4

+4

+4

 

 

 

 

 

 

 

 

 

 

7

6

8

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

+2

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

+104

8

2

 

10

 

Маршрут прорыва, согласно

 

 

 

 

; x

; z).

аблице 2, = (x ; x

; x

; x

 

E. П лучен максимальный поток, так как '

z

= 5 = m. ешение

задачи î назначениях выражàåòñя следующей матрицей:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

54

 

 

 

 

 

 

 

 

 

 

 

 

 

N =

 

0

 

1

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

0

 

 

 

 

 

Пример 2. ешить задачу

 

назначе

 

ÿõ,

 

заданную следующей бу

 

 

 

 

 

 

лев й матри ей R возможностей

 

 

иков (строки)

 

 

ðàáîт (столбцы), сведением к задачеработíаибольшем потпокевыполнениюее реше-

íèåì:

 

 

 

 

 

 

 

1

1

1

 

 

 

 

 

 

 

 

 

R =

1

 

0

1

0

0

 

 

 

 

 

 

 

 

 

 

0

 

0

1

1

 

 

 

 

 

A. Корректность задачи о

назначениях

определяется следующими

 

условиями:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

n = m число раб тников (n = 5) ра но числу работ (m = 5).

2. Äëÿ

 

 

 

 

 

 

 

 

ников число

которые они

 

в совокупн сти умеют выполнять, не меньше числа

 

îâ;

 

для любого дмножества работ

число работников,

оторые их

 

могут выполнять,

меньше числа работ. Эти у

 

работникпосред

 

ственно трудно

проверяемы поэтому если за ча

 

имеет реше-

 

ние, то условия

выполнены,

 

если нет, то найдетссловияузкое место

 

могут выполнять, а т кж

 

группа работ, для выполнения кото-

 

группа работников, для которых не хватает работ, которые они

 

рых работников не хв тает.

 

 

 

 

 

 

 

 

 

 

Ищется булева матрица назначений N, для которой:

 

 

1)

каждой строке

 

ит ровно 1 единица (назначение на работу, со

 

ответствующую столбцу),

которая соответствует такому же эле-

2)

менту матрицы R;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в каждом столбце стоит ровно 1 единица (назначение работни-

 

êà, ñîî

 

 

строке), которая соответствует такому же

 

элеменòветствующегоматрицы R.

 

 

 

 

 

55

 

 

 

 

 

 

 

1.

ê

 

 

 

 

 

èñ. 20

 

 

дем вершину x ;

 

 

 

 

 

W (i = 1; 2; 3; 4; 5) â

 

Длякаждой работы J (j =i1; 2; 3; 4; 5) введем

âåршину x

 

 

; ââåi-

2.

äем вхаждогосети x вых

z.

 

 

 

 

 

 

 

 

 

Âõ ä x

 

соединимработникаждой вершиной x (i = 1; 2; 3; 4; 5) дугой

 

 

 

 

0

j

 

 

 

 

 

 

 

j+5

 

 

пропускной способности 1.

 

 

 

i

 

 

 

 

 

3.

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

Соединим каждую вершину x

j+5

(j = 1; 2; 3; 4; 5) с выходом z

4.

дугой пропускной способности 1.

 

 

 

 

 

 

j =

Соединим вершину x

 

(i = 1; 2; 3; 4; 5) ñ âåðø íîé x

 

 

 

 

1; 2; 3; 4; 5) дугой пропускной

 

пособности 1, если r = 1

(ñîîò-

B

 

 

 

 

 

i

 

 

 

 

 

ij

j+5

 

 

ветственно матрице возможностей R).

 

 

 

 

 

C

Àíà

гично п имеру 1.

 

 

 

 

 

 

 

 

 

D. Таблица

1 øèðокая, поэтому разделим ее на части 1А (начало)

и 1В (продолжение).

 

 

56

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N1

0+1;

0; 2 0; 3 0; 4 0; 5 +1; 6 1; 8 2; 7 2; 9 3; 6 4; 8 5; 9 5; 10

2

 

 

+1

 

 

 

 

 

 

+1

 

 

 

 

3

 

 

 

+1

 

 

 

 

+1

 

 

4

 

 

 

 

 

+1

 

 

 

 

+1

 

5

6; z

7; z

8; z

9; z

 

 

 

 

 

 

N

10; z

 

 

 

 

Таблица 1В

1

+1

+1

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

+1

 

 

 

 

 

 

 

 

5

1

 

2 3

 

4

 

6

7

8

9 10 z

 

 

Таблица 2

N

 

 

 

5

 

 

6

 

 

+0

 

 

 

+3

 

 

 

 

 

 

 

7

6

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

+1

 

 

 

 

 

9

 

 

 

 

8

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс пометок остановился при непомеченной вершине z. З а

 

наибольшего потока 'z

< 5 = m.

 

задача

назначеíияхчение

E. Для нахождения узкого

ñòàПоэтомуах дим минимальный разр з как

множество дуг, идущих из

помеченíых вершин в непомеченные

âåð-

имеет решения.

H = f(0; 2);

(0; 5); (6; z); (8; z)g:

 

 

 

øèíû:

 

 

 

 

 

 

1. Множество L = f1; 3; 4g опр деляет группу раб тников (строки

 

матрицы R), для которых не

хватает работ

îлбцов матр цы

 

3,

4 могут вып

лнять только работы 1 и 3 (для этихработникиов

 

R,

 

которых сто

единицы для этих строк),(ст. е.

 

1,

 

íå

хватает

работ).

 

 

57

 

 

 

 

 

 

могутвðèöûкоторRвыполн), äëÿñòîÿòкоторыхьединицытолькíå

работникихватаетäëÿ ýò õработникстолбцов),(строк2 и 5 (для .выполнения. рабоìàòðèöû2,ýòèõ4,R5,

 

 

 

работ не хватает работников).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.2 Пример задачи проектирования дискретного преобразо-

 

òîâ)

вателя построением сети из

 

 

 

 

 

 

 

 

 

 

элементов

 

 

ëÿ 8-

 

 

 

 

 

 

сумматор неотрицатеункциональныхэлементовце ûõ элеменчисе с

 

 

Пример 3. азработать сеть из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f^;

;

 

g

ñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

жно меньшей сложнос ью (числом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разрявозмоä м переносазрядного.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A. Числа для такого сумматора представляются как 8-разрядные

 

числа в прямом ко е. Поэтому

 

 

 

 

я 16 двоичных входных

 

 

 

 

 

 

 

по 8 для каждого числа-операндаимеетсx y: (x ; x ; : : : ; x ) и (y ; y ; : : : ; y ).

 

Вых дными разрядами являются 8 разрядов суммы z (z

; z ; : : : ; z )

 

 

 

разрядного

числа. Таким образом, имеетс

 

9 âûõîäíûõ сигнасигналовсум

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

6

 

 

 

0

7

7

6

6

 

0

0

 

 

1 разр переноса , если сумма выйдет за предел представ ения 8

 

 

 

Диапазон

представления таких 8-разрядных чисел [0; 255 . Приве

 

 

маторд

: ( ; z

; z

; : : : ; z

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

6

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

суммирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лениипримерысложении столбиком:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. x = 73; y = 153; z = x + y = 73 + 153 = 226. В двоичном представ-

 

 

 

 

 

 

 

+

 

 

 

 

0

 

1

0

0

1

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

2. x

= 113;

y = 153;

 

z

 

 

= x + y

 

=

113

+

152

= 265. В двоичном

 

 

 

 

 

 

 

 

 

 

 

 

z

7

z

6

z

5

z

4

z

z

2

 

z

z

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

58

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

1

1

 

 

 

1

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

0

 

 

 

 

1

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

7

z

6

 

z

5

 

 

z

4

 

z

3

 

 

 

 

 

z

2

 

 

z

1

z

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ýòèõ ïðèìеров показывает, что сложение дв ичных

разрядов

 

 

оисходит справа налево. При эт м результатом

 

 

ñложения

Анализx y является разряд z

 

è,

 

возможно, разряд

 

 

 

 

 

 

 

 

 

. Поэто

ïðè

сложении

следующих разрядов x + y (i > 0) ну

 

 

ê ýòîé ñóì

добавлять разряд переноса

 

 

 

 

. Таким образом,переносамоæí

 

 

àòü, ÷òî

равен . Для этого п лагаем

 

 

 

 

 

= 0 è

 

 

= .i

 

Отсюда

получаем

 

0

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ y

 

+

считпри этом

мы всегда складываем 3 двоичных разряда x

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

считаем, что младший разряд этой суммы равен z , а старший разряд

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

ормулы поразрядногî сложения:

 

 

 

 

 

+ y

 

 

+

 

 

 

 

)=2

 

(i = 0; 1 : : :; 7);

 

 

z

i

= (x

i

+ y

i

+

i 1

)mod2;

i

= [(x

i

 

i

i 1

 

ãäå z

i

получается как сумма по модулю 2 (остаток от деления на 2), а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

получается как целая часть полусуммы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

являютс буле-

 

B. Так как ункции z (x ; y ;

 

 

 

 

 

)

 

 

(x ; y ;

 

 

 

 

1)

выми (аргументы из 0, 1 и значения у кций из 0,

для получения

ДНФ или КНФ составим таблицу

 

истинности:

i

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

i

 

 

 

 

i 1

 

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y

 

i 1

 

 

 

 

z

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i0i

 

 

 

 

 

 

0i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдем теперь ДНÔ ýòèõ

óíêöèé

 

êàê

ÑÄÍÔ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

= x

 

 

y

 

 

 

_

x

y

 

 

 

 

 

 

 

 

 

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

x

 

y

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

i

i 1

 

 

 

i 1

 

 

 

 

 

 

i

 

i 1

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C. Полученные ормулы для ункций z

 

 

 

 

 

 

 

 

ñî

 

 

 

 

жат соответ

 

äèìîственноуменьшить,17 14

÷òîáû

 

 

 

 

.íèÒçèàêòüîå

 

сложнîñòüiчислопроектируемойi операций необхè èç

ункцион льных

ýëементов

(и, следбольшоевательно,

дискретн

ãî

ñåòðîé

 

ñ âà

сумматора). операцийЭ можно сделать преобразованием

ормулы, но

гор здо проще

заметить,

что таблица истинности для ункции z

èìå-

åò çíàчения 1

 

òåõ

 

 

 

 

 

àõ, ãäå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из аргументов равен 1,

 

iàêæå

 

Функция, значенаргументыстрокоторойравныровно 1,

если какой-либо

аргумент

ðà-

строке, где

âñå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

акие-либо 2 других аргументравенáûëè ðàâíы 1, и, следчтобывательно, мож

 

âåí

1, выражается дèзъюнкцией

 

 

ргументов,1, необх

 

. å. x

 

 

y

 

 

 

 

 

 

 

 

. Äëÿ òîãî

чтобы тольк

 

1 аргумент был

 

 

 

 

 

 

 

 

 

 

ìî,

 

 

 

 

 

 

 

 

 

 

никакие из 2

других

аргументов не были равны 1. Это достигается

 

i

трицанием, что

юнкцию последних двух ормул: x y

 

 

 

 

 

x

 

 

 

 

 

 

 

y

i

 

 

 

(x

 

i 1

y

 

 

 

 

 

).

но выразить ормулой x y

 

 

 

x

 

 

 

 

 

 

 

 

 

y

 

 

 

 

. Поэтому надо взять

îíú-

Для окончателüíîé

 

 

 

 

i

 

 

i

ëû

i

äëÿ z

 

 

 

 

нужно добавить

дизъюнкцией

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

i

 

 

 

i

i

 

i 1

 

 

 

 

 

 

 

 

 

 

 

i i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и получаем îðìóëó:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i i 1

 

 

 

 

 

i

 

 

 

 

i

 

 

i 1

 

 

x

y

 

i 1

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

 

 

 

y

 

 

 

 

 

 

 

 

 

 

) _ x

y

 

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

i

i

 

z

i

= x

y

i

 

 

x

 

i 1

 

 

y

i

i 1

i

 

 

 

 

i

 

 

 

i 1

 

i 1

 

 

 

 

 

 

 

 

 

котор

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

я содер

 

 

 

12 операций,

 

 

 

это значительно лучше ДНФ.

 

 

 

 

 

 

Àíà

 

 

 

 

 

замечанию для

 

ункции z

 

 

отмечаем, что ункция

 

равна

логично1 т. . ., когда либо все аргументы равны 1, либо ровно 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

= x

y

 

 

x

 

 

 

 

y

 

 

 

i

аргумента равны 1. Это выражается ормулой

i

i

 

i 1

i 1

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

i

 

 

i

 

 

оторая содержит 5 операций. Но если ее преобразовать, вынеся за

скобки из 2 последних конъюнкций

i 1

, то получим ормулу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x

y

 

 

 

 

 

(x

 

 

 

 

 

)

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

i

 

_ y

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

акже входит

кот рая содержит уже 4 операции. Но в о муле для z

 

 

 

ак е выражение под зíаком операции

 

отрицания.

 

Поэтомуi

можно

упростить и эту ормулу:

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

) x

y

 

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

i

=

i

(x

i

 

 

 

i

 

 

 

i 1

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которая требует вып

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

 

 

 

. Таким образом, использова-

ние последних 2-х îлнениярму для z

i

 

 

 

 

i

 

дает всего 11 операций вместо

первоначальных 17+14=31 операцопераций.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соседние файлы в предмете Теория графов