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

книги из ГПНТБ / Горелик, А. Л. Некоторые вопросы построения систем распознавания

.pdf
Скачиваний:
29
Добавлен:
19.10.2023
Размер:
7.4 Mб
Скачать

соотношение (5.1). Такие функции называются тавтоло­ гиями. Поскольку все тавтологии не различаются между

собой с точки зрения значений истинности, их обозна­ чают одинаково через I. Таким образом, мы могли бы

написать A + Ä = I, А - В + А = I и т. д. Отрицание I, т. е.

I, является тавтологически ложным элементом и обозна­ чается через 0. Легко видеть, что для любого X соотно­

шения (0— к А )= 0 + Х = І и (X— ѵ І)= х + І= І являются тавтологиями, так как не зависят от значения истинно­ сти X. Необходимо отличать тавтологически истинные

элементы от функций, которые истинны вследствие сде­ ланных предположений или физических законов. Первые не несут никакой полезной информации, в то время как

вторые

накладывают определенные связи на входящие

в них элементы. Так,

например, если

применительно

к некоторой проблеме

утверждается, что функция А +

+ В должна рассматриваться как истинная,

т. е. Ä + B =

= 1, то,

как указывалось, это эквивалентно

связи А— >-

>■В . Аналогичный пример

представляет^ собой

соотно­

шение

эквивалентности:

(А ■В + А

В = I) =

{А = В).

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

Приведем, наконец, основные формулы рассматривае­ мой нами булевой алгебры.

1.А - \ - А = А

2.

ІЬ. 1

3.Л + ß ^ ß + A

4.А-В = В-А

5. (Л + £ ) + С = А +

+ {В-\-С) = А- \ -В + С

6.(А-В)-С = А-(В-С) =

— А-В' С

7. Л .(£ + С ) = А .£ + А-С

8.А + В С = (Л + £ ) (Л+С)

9.A- B — Ä + Б

10.A - \ - B = Ä - B

11.Л + І = І

12.Л-І = Л

13.A-f-0 = A

Ы д о О

15.А + Я = I

16.A - Ä = p

17.A-\- A -В = A

18.A + Ä-B = A - \ - B

19.A-b + C-B =

==A• B~\~C • B-\-A C

20.( S j = A

Эти формулы должны рассматриваться как тавтоло­ гии. Справедливость этих соотношений может быть про-

109

верена посредством вычисления значений истинности сложных высказываний в левой и правой частях равен­ ства. Некоторые из этих формул могут быть выведены из других, например, 19-я формула устанавливается с по­ мощью 12-й, 15-й, 7-й, 6-й, 4-й, 3-й и 17-й формул сле­ дующим образом:

А + А-С + В - С = А -В + А-С-1 + В-С = А- В +

+А-С- (В + В) +В-С = А - В + (А- С) -В+{ А-С) ‘В +

+В-С = А - В +( А - В ) -С+ В-С+(В-С) -А— А - В + В-С.

5.3.ИЗОБРАЖАЮЩИЕ ЧИСЛА И БАЗИС. ОПРЕДЕЛЕНИЕ ИЗОБРАЖАЮЩИХ ЧИСЕЛ БУЛЕВЫХ ФУНКЦИИ

Булева функция считается заданной, если мы можем указать значения истинности этой функции при всех воз­ можных комбинациях значений истинности входящих в нее элементов. Таблицу, которая представляет все воз­ можные комбинации значений истинности некоторого на­ бора элементов А, В, С, ..., называют базисом.

Условимся значение истинности элемента «истина» обозначать единицей, а значение «ложь» — нулем. Тогда для одного элемента А базисом будет

О 1

# А = 0 1

для двух элементов А, В базис содержит 22 столбцов:

0 1 2 3

#А = 0 1 0 1

#5 = 0 0 1 1

для трех элементов А, В, С базис состоит из 23 столб­

цов:

0

1

2

3

4

5

6

7

# А = 0 1 0 1

0 1 0 1

 

# 5 = 0 0 1 1

0 0 1 1

# С = 0 0 0 0 1 1 1 1

и вообще для п элементов А\, ..., А„ базис содержит п

строк и 2" столбцов. Если колонки базиса рассматривать как целые двоичные числа, записанные так, что самый младший разряд их соответствует первой строке базиса,

110

а самый старший — последней строке, то колонки базиса для п элементов представляют собой числа от 0 до 2”— 1.

Будем считать эти числа номерами колонок (столбцов) базиса и пронумеруем сверху каждую колонку. Если ко­ лонки базиса упорядочены и записаны в порядке возра­ стания их номеров слева направо, то базис называется

стандартным.

Все другие

базисы — нестандартные. Для

п элементов

существует

столько различных

базисов,

сколько можно составить

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

колонок,

т. е. (2П)!. Стандартный базис для элементов А, В, С, ...

обозначается b [А, В, С, . . .], причем порядок элементов

в квадратных скобках совпадает с порядком строк ба­ зиса.

Строки базиса называются изобраэюающими числами

соответствующих элементов. Для их обозначения следует приписывать слева от элемента знак ф . Заметим, что по отношению к стандартному базису Ь[А, В, С, ...] изобра­

жающее число фЛ состоит из чередующихся нулей и единиц, ф б — из пар нулей и пар единиц, фС — из чет­ верок нулей и четверок единиц и т. д., так что, например,

в Ь[А, В, С, £>]

# £ > = 0000 0000 1111 1111.

Используя базис, можно перечислить все значения истинности булевой функции при всех возможных комби­ нациях значений истинности элементов, от которых зави­ сит булева функция. Для этого нам потребуется ввести некоторые операции над изображающими числами эле­ ментов, соответствующие операциям над высказыва­ ниями.

По определению, изображающее число суммы двух элементов равно сумме изображающих чисел слагае­ мых:

#(Л + Д) = # Л + # В,

(5.2)

причем сложение выполняется поразрядно без переносов в высшие разряды по следующему правилу:

0+ 0= 0, 0+1 = 1+ 0= 1, 1+ 1= 1.

Например, по отношению к Ь[А, В, С]

# (Л+ Д + С ) = # (Л + Д ) + # С = # Л + # Д + # С =

= 0101 0 1 0 1 +0 0 1 1 0 0 1 1 + 0 0 0 0 1111 = 0111 1111.

111

Изображающее число конъюнкции двух элементов определяется как произведение изображающих чисел со­ множителей

#(Л-Я) = (# Л ) . (# Я ) ,

(5.3)

причем перемножение выполняется поразрядно по тако­ му правилу:

0-0 = 0, 0 1 = 1-0 = 0, 1-1 = 1,

например, по отношению к Ь[А, В, С]

#(Л -С )=#0101 0101)-(0000 1111) = 0000 0101.

Наконец, изображающее число отрицания Ж получается из изображающего числа А заменой в каждом разряде

0 на 1 и 1 на 0, например,

# 1 = 1 0 1 0 1010, # 0 = 1 1 1 1

0000.

(5.4)

Отметим двойной смысл символов «+ » и «•»

в логи­

ческих формулах и в операциях над

изображающими

числами. В одном случае эти символы используются для обозначения операций дизъюнкции и конъюнкции над вы­ сказываниями, а в другом — для операций поразрядного логического сложения и умножения изображающих чи­ сел элементов.

Руководствуясь (5.2) — (5.4), можно найти изобра­ жающее число любой булевой функции. Например, по

отношению к Ъ[А,

В, С, D] имеем # -B + B-C-D) —

= (0101 0101 0101

0101)-(ООП ООП ООН ООП)+ (1100

1100 1100 1100) - (1111 0000 1111 0000)-(0000 0000 1111 1111) =0001 0001 0001 0001+0000 0000 1100 0000 = 0001

0001 1101 0001 и, следовательно, данная функция истин­ на только при таких комбинациях значений истинности элементов А, В, С, D, которые соответствуют столбцам

базиса с номерами 3, 7, 8, 9, 11 и 15. Укажем дополни­

тельно, что # 1 = 1111 ...,

т.

е.

имеет единицы

во всех

разрядах,

# 0 = 0000 ..., т.

е.

состоит

из одних

нулей,

# Х = # У

тогда и только

тогда,

когда

X=Y, и

X— *~Y

тогда и только тогда, когда # У

имеет единицы по край­

ней мере в тех разрядах, в которых #2Г содержит еди­ ницы.

Используя изображающие числа, можно вывести лю­ бую из формул (1) — (20) булевой алгебры. Докажем,

например,

соотношение

Л • В+ В- С - D—A -В + В С -D +

+A-C-D,

вытекающее

из 19-й формулы-— пополнения

112

булевой функции. Изображающее число левой части было вычислено в предыдущем примере: оно равно 0001 0001 1101 0001. Изображающее число правой части отличает­ ся от этого числа только на # Л • С -D= (0101 0101 0101

0101)

. (1111 0000 1111 0000) • (0000

0000 1111

1111) =

= 0000

0000 0101 0000.

 

^ A - C - D

 

Поразрядное

логическое

сложение

с 0001

0001 1101 0001

не изменяет

последнего числа. Следова­

тельно, изображающие числа левой и правой частей рас­

сматриваемого

соотношения т о ж д е с т в е н н ы .

Для _того

чтобы

проверить истинность импликации

+ В- С)-»-(Л + С),

достаточно по отношению к Ь[А,

В, С]

вычислить

#

(Л • В + В ■С) — (0101 0101)-(ООП

ООП) +

(1100 1100) •

(0000 1111) =0001 0001+0000 1100 =

= 0001

1101

и

# ( Л + С)=0101 0101+0000 1111=0101

1111 и убедиться, что в 3—7-м разрядах последнего чис­ ла стоят единицы.

5.4.ФОРМЫ БУЛЕВЫХ ФУНКЦИЙ. ВОССТАНОВЛЕНИЕ БУЛЕВОЙ ФУНКЦИИ ПО ИЗОБРАЖАЮЩЕМУ ЧИСЛУ

Рассмотрим методы, позволяющие переходить от за­ дания булевой функции в виде изображающего числа к явному выражению ее через элементы. Мы изложим несколько таких методов, позволяющих получать раз­ личные стандартные формы представлений булевых функций.

Представление в совершенной дизъюнктивной нор­ мальной форме. Пусть имеется множество из п элемен­ тов А і> ..., Ап. Произведение вида Аі-Аг--. -Лп- 1 ѵ4и, со­ ставленное из элементов Л* или их отрицаний Aj и со­ держащее п сомножителей, называется элементарным пронзвеОснием. Из п элементов можно составить 2п раз­

личных элементарных произведений. Легко видеть, что изображающее число каждого элементарного произведе­ ния имеет только одну единицу в одном из 2п разрядов. Выпишем, например, для трех высказываний А, В, С все

возможные элементарные произведения и их изобра­ жающие числа по отношению к Ь[А, В, С]:

#(Ж-В-С)= ЮОО

0000

#(Л-І?-С) = 0100 0000;

# (Я-в. С) = 0010

0000

#

(А-В-С) =

0001 0000;

# (Я-Я-С) =

0000

1000

#

-В-С) =

0000 0100;

#(Л -В-С) =

0000

0010

#(А-В-С) = 0 Ш 0001.

8— 452

113

Совершенная дизъюнктивная нормальная форма бу­ левой функции является суммой элементарных произве­ дений. Чтобы по данному изображающему числу восста­ новить булеву функцию в совершенной дизъюнктивной нормальной форме, нужно суммировать те элементар­ ные произведения, изображающие числа которых имеют единицы в тех же разрядах, что и изображающее число булевой функции. Например, 1001 ОНО имеет единицы в 0, 3, 5, 6-м разрядах, поэтому

1001 0110 = # ( Л - Л - С + Л - B - C + A - B - C + Ä - B - С).

Представление в конъюнктивной нормальной форме.

Элементарными суммами для_я элементов A lj_...,An на­ зываются суммы вида A i +A z+ ... + A n- i + Ä n, состав­ ленные из элементов А{ или их отрицаний Aj и содержажащие п слагаемых. Из п элементов можно составить 2п элементарных сумм. Изображающие числа элемен­ тарных сумм содержат только один нуль в одном из 2п разрядов. Для трех высказываний А, В, С, например,

имеем

#(Л +

Д +

С)=1111

1110;

# ( Л +

£ + С ) = 1 1 1 1

1101

# ( I +

ß +

C ) = H ll l

1011;

#( Л +

Д + С ) = 1111

0111;

#(Л +

Д +

С)=1110

1111;

# (Л +

Д + С )= 1101

1111;

# ( I + ß +

Q = Юн

m i ;

#(Л +

В + С ) = 0111

1111.

Конъюнктивная нормальная форма булевой функции представляет собой произведение элементарных сумм. Для того чтобы написать булеву функцию, соответст­ вующую данному изображающему числу, в конъюнктив­ ной нормальной форме, нужно перемножить те элемен­ тарные суммы, изображающие числа которых имеют те же нули, что и изображающее число булевой функции.

Например, число 1001 ОНО имеет нули в 1, 2, 4 и 7-м разрядах, поэтому

1001 0110 = # [ ( H + ß + C) Д Л + Л + + С) • (Л+ ß + C) • ОА + В + С)].

Представление в виде суммы первых импликант. Рас­ смотрим какую-либо булеву функцию F(A, В, С,...). Функция f{A, В, С,...) называется импликантой функ­ ции F(A, В, С,...), если /(Л, В, C , . . . ) ^ F ( A , В, С,... ).

Изображающее число импликанты функции F имеет

нули во всех тех разрядах, в каких имеет нули 4j=ß, на-

114

личие же единицы в разряде ф / влечет наличие единицы в том же самом разряде # / \

Заметим, что если Рі и Р2 представляют собой какиелибо произведения из элементов А, В, С,... или из их отрицаний и Pr+Pz, то Р% получается из Р4 отбрасыва­ нием некоторых сомножителей. Например, А - В - С^~А • С,

А - В - С-+В -С, А- В-+А и т. д.

Функция f (A, В, С,. . . )

называется первой импликан-

той функции F(A, В, С,...),

если f-*-F и не существует

такой функции f' (А, В, С

,

.

что f'->-F и

Например,

пусть

0

1

2

3

4

5 6

7

 

 

# F (А, В, С) = 0 1

1 1

0 1 0 0.

Элементарные

произведения

А - В -С,

Ä • В - С, А- В - С,

А - В - С , отвечающие единицам

в 1-, 2-, 3- и 5-м разря­

дах ф /7, по

определению,

 

являются

импликантами

функции F. Так как

 

 

 

 

 

 

 

F= A> B’C + Ä - B - Ü + A - B - C + A - B ' C =

=В С+А • В - С) + (А • В • С+А В С) +

+(Ä-B -С+А- В- С) = А - С + А - В + В-С =

=А - В + В - С ,

то, во-первых, А-С, А-В, В-С все являются импликан­

тами функщш_/7,_во-вторых, поскольку ни один из эле­ ментов А, В, Д С н^ является импликантой F, то, сле­ довательно, А-С, А-В, Д С — первые импликанты F и, в-третьих, импликанта АС несущественная [см. правило (19)]. Запишем столбцы базиса Ь[А, В, С], соответствую­ щие единицам в ф F, в виде двоичных чисел и отметим, как и в Ь[А, В, С] разряды этих чисел буквами А, В, С

в обратном порядке (справа налево):

Номер

 

Разряды

 

Соответству ющие

 

В

 

С

А

элементарные

столбца

2*

21

20

произведения

 

1

0

0

1

А - В - с

2

0

1

0

Ä-B-C

3

0

1

1

А В - С

5

1

0

1

А-В-С

8 :

115

Объединению импликант А - В - С и А- В- С, отвечающих столбцам 1 и 3 в базисе Ь[АВС], можно поставить в со­

ответствие аналогичную операцию с числами 001 и 011, отличающимися только содержимым 2-го разряда, при­ чем результат последнего объединения, т. е. А • С, выра­

жается как 0x1, где символ X во 2-м разряде указыва­ ет, что элемент В в возникающей импликанте отсутст­

вует.

Аналогично можно объединить повернутые столбцы 001 и 101, а также 010 и 011; в результате получим чис­ ла Х01 и 01 X для импликант А - В и ß • С соответствен­

но. Заметим, что число 0X1 выражает тот факт, что сре­ ди номеров единичных разрядов

 

0123

4 5 6 7

 

 

# А = 0 1 1 1

0 100 имеются два числа

1 и 3 и, кроме

 

0123

4 5 6 7

того, что

 

 

 

 

# А- П = 0 1 0 1

0 0 0 0

имеет единицы в

1-м и 3-м разря.

дах.

Аналогично число

Х 01 показывает,

что в # А есть

два

единичных разряда: 1- и 5-й и что #А -А =0100 0100

имеет единицы в 1-м и 5-м разрядах и т. д.

Так как в данной

операции попарно

объединяться

могут только столбцы, отличающиеся содержимым одно­ го единственного разряда, то перед началом работы для удобства следует распределить все номера единичных разрядов по группам, объединяя в одну группу такие числа (номера столбцов), которые, будучи записаны в двоичном коде, имеют одинаковое число единиц, на­ пример, если # А = 0111 0100, то числа 1, 2 образуют одну группу, 3, 5 — другую.

Поясним на примере способ нахождения таких первых импликант булевой функции по ее изображающему числу, через сумму которых данная функция выражается. Пусть по-прежнему задано изображающее число #А (Т , В, С) =0111 0100. Разобьем числа, представляющие номера единичных разрядов # А, по группам, как

показано в верхней строке таблицы:

1

2

3

5

С

В

А

 

 

 

 

22

2'

А

 

 

 

0

0

1

116

Для представления в двоичном коде номера столбца базиса (или, что то же, повернутого столбца), соответствующего той ис­ ходной импликанте, которую мы попытаемся упростить, припишем справа столбец степенных разрядов, отмеченных элементами А, В, С. Пусть 001— представление проверяемой импликанты А - В - С в дво­ ичном коде. Запишем в столбец степенных разрядов число 001 и от­

метим знаком

Д

против 1, что это число соответствует импликанте,

изображающее

число

которой

«покрывает» единицу в 1-м разряде

Ф А

(ф Л-В-С = 0100

0000).

Теперь проверим, имеются ли

среди

номеров единичных разрядов

Ф F оба числа 0X1.

Так как (011) =3

имеется, а (001) = 1

было исходным, то в

столбце

степенных

разря­

дов

записываем

0x1

вместо 001, а против

3 ставим V в знак того,

что изображающее число импликанты. представленной как 0X1, по­ крывает единицу в 3-м разряде Ф А (фЛ • С=0101 0000):

1

2

3

5

С

в

А

А

 

V

 

0

X

1

 

А

 

 

0

1

0

Если бы среди номеров единичных рзарядов

Ф F имелись все четыре

числа

ХХІ , т . е. (111) =7, (011) =3, (101) =5 и (001) = 1, то от числа

0X1

можно было бы перейти

к

числу

XXI. Аналогично, если бы

в исходном наборе чисел (1, 2,

3,

5) имелись четыре числа 0ХХ, т. е.

(000) =0, (001) = 1, (010) =2 и

(011) = 3,

то мы могли бы перейти от

0X1

к 0ХХ. Но так как числа

7 и 0

отсутствуют,

мы переходим

к следующему номеру единичного разряда

ФА т. е. к 2—(010), и

в соответствии с этим против 2 ставим знак

Д а в

столбец степен­

ных разрядов записываем число 010.

 

 

 

Как и раньше, проверим, имеются ли среди номеров единичных

разрядов ф F два числа 01 X : (011) =3

и (010) = 2 . Число 2 является

исходным, а 3 имеется в соседней группе номеров, поэтому перей­ дем от 010 к 01X, а против 3 поставим знак V :

Дальнейшее упрощение 01 X невозможно,

так как числа

111=7

и 000 =

0

отсутствуют. «Непокрытым»

остается только

5-й

разряд

ф А Запишем в столбец степенных разрядов

число 101 и

отметим

знаком

А

число 5. Поскольку число

001 = 1

имеется

в

соседней

группе,

мы переходим от 101 к Х01 и ставим знак V

против 1:

117

1

2

3

5

 

 

 

с

 

в

 

А

 

Первые импликанты

А

 

V

 

 

 

 

0

 

X

 

1

 

 

А-С

 

 

А

V

 

 

 

 

0

 

1

 

X

 

 

в - с

 

 

V

 

 

А

 

 

 

X

 

0

 

1

 

 

А-В

 

 

Так как среди номеров единичных

разрядов

# F

отсутствуют

числа (000) =0 и (111) =7, мы не можем перейти_от х01_ни к

XXI,

ни к ХОХ. Как легко заметить, импликанты В ■С и А

В покрывают

все единичные разряды

 

 

Следовательно,

процесс построения пер­

вых

импликант

по

#.F= 0111

0100

закончен: Р=А-В+В- С.

 

Ь[А, Вг

 

Рассмотрим

еще один

 

пример

[13].

Пусть

относительно

С, D] задано

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

5

6 7

8

9

10

11

12

13

14

15

# Н (А, В, С, D) = 0 1 0 1 1 1 1 1

0 1 0 1

0

0 1

Г

Разобьем номера единичных разрядов # # на группы по количеству единиц в соответствующих колонках базиса и разместим их в рабо­ чей таблице

 

4

3 5

6

9

7

11 13 14

15 D с

В А

 

 

 

 

 

 

 

 

 

 

8

4

2

і

 

V V

 

V V V V

V X X X

1

Возьмем 1-ю колонку

базиса (отметим это

знаком

Д )

и запишем

в

столбце

степенных

разрядов

число

0001.

Так

как

среди

чисел

во

второй

группе имеется

(0011) = 3,

то 0001 заменяется

на

00X1,

а

против

3 ставится V- Далее

среди

чисел

второй

группы имеется

число (0101) =5,

отличающееся на единицу в степенном разряде 4 (С)

от

первоначального числа

(0001) = 1,

а среди чисел третьей группы

есть число

(0111) =7,

т. е. среди номеров единичных разрядов # Pf

есть все 22 = 4 числа 0ХХІ = 1,

3, 5, 7. Поэтому 00X1

можно

заме­

нить на

OX XI

и поставить против чисел 5 и 7 знак)/-

Далее мы

убедимся в том, что в соответствующих группах рабочей таблицы

имеются числа

(1001) =9,

(1011) = 11,

(1101) = 13 и

(1111) =*15 и, сле­

довательно, все

23 чисел Х Х Х І = 1,

3, 5,

7, 9, 11,

13, 15 содержатся

среди номеров

единичных

разрядов

# Я .

В

соответствии

с

этим

заменим

число OX XI на

Х Х Х І и отметим числа

9, 11, 13,

15 зна­

ком V-

Дальнейшее упрощение проверяемой импликанты невозмож­

но, так

как число 0= (0000) отсутствует в исходном наборе

чисел.

Число Х Х Х І показывает, что одной из первых импликант функ­

ции Н является А и, как

можно заметить из рабочей таблицы,

# Л

не покрывает только 4, 6

и 14-й единичные

разряды # # .

Продол­

жая вычисления, возьмем

в качестве второй

исходной импликанты

118

Соседние файлы в папке книги из ГПНТБ