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

книги из ГПНТБ / Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие

.pdf
Скачиваний:
13
Добавлен:
23.10.2023
Размер:
6.44 Mб
Скачать

дим к минимальным дизъюнктивным формам отрицания заданной функции.

3-й шаг. От минимальных ДНФ отрицания заданной функции с помощью правила де Моргана переходим к КНФ, которые и яв­ ляются минимальными КНФ заданной функции.

Пример 8. Найти минимальную КНФ функции

F t = \ / ^ при / = 3, 6, 7, 11, 15.

(6.12)

В соответствии с первым шагом имеем

К1=--\Д /

при / =

3, 6, 7, 11,

15.

(6.13)

Х,Х0

x , x D

Х,Хд

X, Х„

 

0

0

1

0

 

* з * г

 

 

 

 

0

0

1

0

 

х з хг

 

 

 

 

1

1

1

0

 

* 3 * 2

 

 

 

 

1

1

0

0

 

Х з*2

 

 

 

 

Рис. 40

Второй шаг —-минимизация формулы (6.13). Проведем миними­ зацию методом «усовершенствованного алгоритма Куайна». После первого склеивания членов выражения (6.13) и устранения элемен­ тарных поглощений получаем члены

ksk2, kgkn, kek7, k7ki5, kukig,

после склеивания которых и устранения элементарных поглощений находим два члена:

и k6k7.

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

(6.14)

является сокращенной ДНФ функции и имеет вид

F = х4хгх0V х4х3х2х4.

(6.15)

В результате выполнения 3-го шага получаем

F1 = F1 = (x4\/x 1\/x о) {x4\J x3\J х2\/ хi).

(6.16)

151

Пример 9. Найти минимальную КНФ функции при пом сщи карты Карно (рис. 40).

В данном случае необходимо накрыть совокупность всех нуле­ вых квадратов карты минимальным количеством правильных пря­ моугольников (рис. 40).

Из карты видно, что других равноценных накрытий нет. Следо­ вательно, отрицание функции имеет единственную минимальную

ДНФ

F = Х3ХхV * 1 * 0 V * 3 * 2 * 1 .

а функция — единственную минимальную КНФ

F = (* 8 V X l ) (х 1 V * о ) (* 8 V * 2 V * l ) •

Минимизирующие карты

Минимизирующие карты составляются по правилу, которое можно сформулировать, пользуясь функцией трех переменных

(табл. 6-7).

Т а б л и ц а 6-7

ч ­

но ­

Д в о и

ный мер

0 0 0

001

0 1 0

011

100

101

п о

111

X

У

Z

х + у

X + Z

X

У

г

х + у

X +

Z

X

У

г

х +

У

X +

Z

X

У

Z

Х +

У

X +

Z

X

У

Z

х +

У

X +

Z

X

У

Z

Х +

У

х +

г

X

У

Z

х +

у

X —}- Z

X

У

Z

х +

у

X +

Z

X

у

Z

х +

У

Х +

Z

У +

2

 

X +

У +

2

и

У + г -

х + У + г

/ о

У +

г

х

+

У +

z

h

У +

г

х

+

У +

г

/ 2

У +

г

х

+

У +

2

У +

г

x

+

y +

z

/4

У +

г

х

+

У +

г

У +

г

x

+

y +

z

У +

г

х +

У +

г

fi

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

Определяем значения функции Д при kx = 0. Строки таблицы

(карты), содержащие Д =

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

вуют конституентам нуля,

не входящим в минимальную форму. Ком­

бинации переменных, соответствующие Д =

1, нужно

вычеркнуть

не только "в г-й строке, но и в любой другой,

так как

они будут в

разложении лишними.

 

 

 

Незачеркнутые комбинации переменных будут встречаться толь­

ко в тех_строках, где Д =

0. В карте может оказаться несколько

152

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

ных. Такие комбинации условимся

называть с у щ е с т в е н ­

н ы м и и будем обводить их в карте

рамками. Существенные ком­

бинации обязательно должны входить в окончательное выражение. В некоторых строках, где /) — 0, могут оказаться комбинации переменных, которые не зачеркнуты и не обведены рамкой. Такие комбинации назовем с в о б о д н ы м и . Одна из свободных ком­ бинаций, содержащая наименьшее число переменных, должна, войти в окончательное выражение функции. Все сводные комбина­ ции обводим общей рамкой, внутри которой могут оказаться и за­

черкнутые, последние принимать во внимание не будем.

p l>t

Составляем

минимальную форму

функции f ,

у, z)

р 2, ■■рп,

где

рп — обведенные

рамкой различные

комбинации

переменных (конституенты).

 

 

 

 

 

Пример 10.

Пусть задана функция

 

 

 

 

 

 

 

f (х,

у,

z) = xyz-\- xyz-f-xyz,

 

 

которая принимает значения f0 /3 — f5 =

1, а / х — f 2 = U —

= /в -= U =

0. Найдем минимальную КНФ функции при помощи

минимизирующей карты (см. табл. 6-8).

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

6-8

Двоичный.

 

 

 

 

х + у

 

y + z

х + у + z

 

 

номер

 

 

 

 

 

 

 

xyz

 

 

 

 

 

 

 

 

 

 

Д М -

 

 

- у —

 

-х±у— x+z

 

X +y+-Z-

-f<r+-

 

00/

 

 

лг

Л^'У'

et+Z'

 

\ x + y + ZI

f , 0

 

0/0

 

 

Дг

 

Л+f-

ЛНгХГ [y+z

z + y + z

fz 0

 

-Ш4—

 

 

 

 

 

X+Z— -y+-z—

 

 

 

100

 

 

¥

 

 

 

x + y + z

f, 0

 

дав­

 

 

 

 

- х + у -

-x+z -у+1

X+y+Z—

&■

 

но

J r

■ъ-

х + у

X + Z

y + z

z+y+z

r,0

 

ДОг

Дгг

х + у

JZ+ZT Jf+TT

x + y + z

f7 0

 

Согласно карте

и сформулированному правилу пользования ею

f(x, у

, z) = (x + y)(x + z) (y + z) ( x + y + z ) .

11 З а к а з N° 2437

153

Во второй строке свободная комбинация х у + z обведена рамкой.

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

Рассмотренные минимизирующие карты соответствуют разло­ жению функции на конституенты нуля. Пользуясь теми же прави­ лами, можно составить минимизирующую карту разложения функ­

ции на конституенты 1.

Согласно (5.27)

 

 

, 2«—1_

 

f (-^1»

» ** * » %п) ~ V

Вминимизирующей карте разложения функции на конституенты

1вычеркиваются строчки, соответствующие значениям Д = 0, по­ скольку для этих строк произведения соответствующих конституентов на Д будут равны нулю. Остальные правила пользования кар­ той остаются теми же.

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

f(x, у , z) = xyz-\-xyz-{-xyz-\-xyz.

Определим значения функции Д и составим минимизирующую карту (табл. 6-9):

Т а б л и ц а 6-9

Двоичный

Конституенты

xyz + xyz + xyz + хуг

и

 

номер

разлож ен ия

 

000

х у г

000 +

0 1 0 +

1 1 0 +

1 1 1

/о =

1

001

х у г

0 0 1 + 0 1 1 + 1 1 1 + п о

/1 = 1

0 1 0

х у г

0 1 0

+

000 +

1 00 +

1 01

/2 =

0

0 1 1

х у г

0 1 1 + 0 0 1 + 1 0 1 + 100

/з = 0

1 00

х у г

1 0 0 + 1 1 0 + 0 1 0 + 0 1 1

/4 = 0

1 0 1

х у г

1 0 1 + 1 1 1 + 0 1 1 + 0 1 0

/5 = 1

п о

х у г

1 1 0 +

100 +

000 +

001

/ . =

0

111

х у г

111 +

101 + 0 0 1

+ 0 0 0

/7 =

1

Таким

образом, /0 = /т =

h

=

/7 =

1.

/ 2

= /3 =

ft =

/в = О

(см. таблицу 6-10).

154

 

 

 

 

 

 

 

 

 

Т а б л и ц а 6 - 1 0

п

X

 

У

 

Z

Щ

Х7.

yz

xyz

 

X

 

X

 

X

т

 

ч

ж

xyz

 

X

 

ж

 

X

т

 

ч

yz

xyz

 

f--------- 1

L,

 

 

 

•, ~

-1

 

л

 

 

 

 

*S-**-----

 

------ У

1

 

--J;if-------

 

~р~

 

 

X

 

 

 

 

 

£

 

 

 

у£--------

Ъ-о

X

 

 

 

X

ч

 

 

[Ж!

xyz

'б '

 

 

У--------

 

ч

 

УН,

xyz

f?~o

X

 

X

 

X

[Ж]

н

Н а о с н о в а н и и

м и н и м и з и р у ю щ е й

к а р т ы

и п р а в и л

п о л ь з о в а н и я

е ю м о ж н о

з а п и с а т ь

/

( х ,

у,

г) —

ху - f

xz.

 

 

 

Вопросы и задачи для самопроверки

1.Возможно ли применение алгоритма Куайна к переключательной функции» заданной в ДНФ?

2.Какие трудности возникают при работе с диаграммами Вейча в случае большого числа переменных?

3.Что такое импликанта переключательной функции?

4.В чем состоит усовершенствование алгоритма Куайна, предложенное МакКласки?

5.Опишите процесс заполнения импликантной таблицы.

6. Является ли представление функции с СДНФ единственным?

7.В чем состоит трудность построения МДНФ функций большого числа пе­ ременных?

8. Каким образом заполняется диаграмма Вейча при задании исходной функ­

ции в ДНФ?

11*

Глава седьмая

ИСЧИСЛЕНИЕ П Р ЕД И КАТО В

§ 1. ОСНОВНЫЕ понятия л о г и к и ПРЕДИКАТОВ

При рассмотрении булевых функций мы имели дело с однород­ ными логическими функциями. Помимо логических функций по­ добного типа рассматриваются также и такие, в которых сама функ­ ция, как и раньше, принимает значение «1» или «О», а независимые переменные принимают значения из множества самого общего вида. Такие логические функции называют предикатами.

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

y = P( xlt

. . . , хп),

где х х = {х11г . . . , х 1р), . . . ,

хп = {хп1, . . . , xng} — предмет­

ные переменные и их алфавиты.

 

Подобный предикат представляет собой переменное высказыва­ ние, истинность или ложность которого определяется набором зна­ чений предметных переменных х х, х 2, хп. Если предикат р не яв­ ляется тождественно истинным или тождественно ложным, то на одних наборах значений предметных переменных он принимает значение «истина», а на других значение «ложно».

О п р е д е л е н и е , п-местным предикатом, определенным на множествах

М г, М 2, . . . , М п,

называется выражение, содержащее предметные переменные данных множеств и обращающееся в высказывание при замене последних лю­ быми элементами множеств М х, М 2, . . . , М п соответственно. Множества М х, М 2, . . . , М п называются базисными множествами предиката, их элементы аргументами предиката соответст­ венно первыми, вторыми, . . . , п-ми. п-местный предикат [п>- 2], все базисные множества которого совпадают, называется однород­

ным. п-местные предикаты,

определенные на

множествах

М ъ

М 2, . . . М п, содержащие предметные переменные х г, х 2, . . .

, хп,

обозначаются А (хх, х 2, . . , х„),

В {хх, х 2,

. . , хп),

С (хх, х 2 . . х) . .

Если значение предиката

А

(хх, х 2, .

. . , хп) для аргументов

156

(х1; х 2, , хп) есть «истина», то говорят, что аргументы Ху, х 2, . . .

хп удовлетворяют данному предикату, в противном случае говорят, что аргументы не удовлетворяют данному предикату.

Два «-местных предиката, определенные на одних и тех же мно­ жествах Му, М 2, . . . , М п, называются равносильными, если зна­ чения их для любых аргументов совпадают, иначе говоря, если они удовлетворяются одними и теми же аргументами. Например, если х переменное, принимающее значение в множестве действительных чисел, то одноместные предикаты х > 2 и х — 2>-0 равносильны.

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

Пример 1. Пусть мы имеем предикаты

(7.1)

Из этих предикатов, за счет применения какой-нибудь операции

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

 

R (х,, x2) = P(xy)\JQ(xz).

(7.2)

Используя предикат

(7.1)

и логические переменные, можно по­

строить сложную функцию, например

 

y = \ Q { x

2) ^ [ P

(ху)\/(х3[\ху)])=х3.

(7.3)

Наличие предметных переменных в предикате позволяет ввести ряд новых операций, специфических для исчисления предикатов. Построение указанных операций осуществляется с помощью так называемых кванторов. Применяются кванторы двух видов: кван­ тор общности и квантор существования.

Квантор общности — это оператор, приводящий в соответствие любому заданному одноместному предикату у = Р (х) такую дву­ значную логическую переменную г, которая принимает значение

«1» тогда и только тогда, когда у — 1 при всех значениях х

= (хи ,

ху2, ■. ■Хур). Символически это записывается формулой г =

у хР (х)

в которой ух является символом квантора общности. Запись эта читается так: при любом х имеет место Р (х). Здесь х указывает ту переменную, на которую действует квантор у .

Квантор существования — это оператор, приводящий в соот­ ветствие любому одноместному предикату у — Р (х) такую двузнач­ ную логическую переменную г, которая принимает значение «О»

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

тогда, когда у = 0 при всех значениях х ^ (х1Х,

х 12,

. . . ,

х 1р).

Символически это записывается формулой г =

g хр (х),

в которой дх является символом квантора существова­

ния.

Запись эта читается так:

существует такое х, что имеет место

у =

Р (х),

т. е.

для данного

х предикат Р является истинным.

157

Здесь подразумевается, что объекты, о которых идет речь, принадлежат той или иной фиксированной предметной области М.

Если область М состоит из конечного числа объектов хх, х2, .

. . ,

хп, выражение дхР (х) сводится к дизъюнкции Р (хх) V Р (х д>

■■■

Р (хп), а выражение ухР (х) — конъюнкции

 

Р (х 1)Д Р (х 2), Д . . . , / \ Р ( х п).

(7.4)

Это обстоятельство позволяет считать кванторы общности и сущест­ вования обобщенной конъюнкцией и обобщенной дизъюнкцией.

Использование операций исчисления высказываний и операций

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

и g дает воз­

можность получить систему тождеств:

 

 

3 хР (х) = ухР (х)

|

п ^

ухР (х) = 3 хР (х)

}

 

Кванторы у и з можно применять к многоместным предикатам. Однократное применение квантора к одной из п переменных «-мест­ ного предиката порождает (п— 1) местный предикат. Это позволяет рассмотреть операции кванторов у , g над многоместными преди­ катами. В этом случае с помощью кванторов для каждого предиката можно построить новые предикаты с меньшим числом свободных переменных.

§ 2. ТОЖДЕСТВЕННЫЕ ПРЕОБРАЗОВАНИЯ В ИСЧИСЛЕНИИ ПРЕДИКАТОВ

Большое значение имеет тот факт, что над формулами исчисления предикатов можно осуществлять тождественные преобразования в соответствии с простыми и обозримыми правилами; в этом заклю­ чается оперативная функция, выполняемая исчислением.

Пусть формулы их

[F,

G, . . . , Н, х х...........хт1 и и, \F, G, . . . ,

Н , х х, . . . , х т] задают один и тот же оператор,

перерабатывающий

систему предикатов F,

G,

. . . , Н в предикат от

аргументов хх, . . .

х т\ в таком случае будем говорить, что их и и2 эквивалентны и обо­ значать это так: их экв и 2.

Пример 2. Следующие формулы попарно эквивалентны:

 

(yz) Н (z)/\G(xx,

х2)/\(3 у) F (х,

у),

 

{yz) Н (z)/\[G (хх,

х2) V (Зу) F (х,

у)},

 

1(г) Н (г) Д G (хх, х 2)] V [(Vz) н (z) А (ЗУ) F (*- У)\-

С7-6)

Это легко усматривается из эквивалентности формул алгебры логики:

A i f \ A 2f \ A z, А Х/\( А2У А 3), И 1Д Л 2)У(Т11Л^з)-

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

158

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

1. Эквивалентности с отрицанием:

дхА (х) экв у х А (х),

у А (х) экв дхА (х),

на основании которых можно заменять у квантором 3 и наоборот. Эти эквивалентности являются аналогами:

A \\J А% экв. ЛХД Л 2,

ЛХД Л 2 экв. л х\ / л 2.

Применяя 1-ю эквивалентность к 3 yF (х, у), получим

(ух) Н (2 ) Д (G (xlt х2) V yyF (х, у)).

2.

Эквивалентности для операций — Д :

 

 

у х ( А х {х)[\ А 2(х))

экв ухА х (х) Д ухА 2 (х) ,

 

 

у х у у А (х,

у) экв

у у у х А

(х, у).

 

3.

Эквивалентности для

операций — V :

 

 

З х ( А 1{х)\/А 2 (х))

экв ^ xA 1 {x) \ J 2 хА 2 (х),\

 

3 х (Еу) А (х, у)

экв дудхА( х , у).

|

Эквивалентности

(7.7)

и

(7.8)

распространяются на любое

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

у х \А х (х) V Л 2 (х)],

ухА х (х) V ухА 2 (х),

ЗхА х (х) Д ЭхА 2 (*),

з х (А х (*) Д Л

2 (х)),

Ух ЗуА (х, у),

з у у х А (х, у).

 

Отсюда, если Л , (х) есть предикат «х есть четное число», а Л 2 (а:) есть предикат «х есть нечетное число», то первая из формул истинна,

вто время как вторая ложна.

Впрактике иногда требуется вынести константу из под знака квантора и наоборот.

Рассмотрим более подробно данную операцию. Пусть имеем формулу

ух {F(x)\JX(t) ^ G(x)/\x(t)}.

159

Необходимо вынести из под знака квантора относительную кон­ станту х {t). Для этого мы сначала приводим подкванторное выра­ жение к конъюнктивной нормальной форме с тем, чтобы можно было воспользоваться эквивалентностями (7.7, 7.8). После замены им­ пликации дизъюнкцией и отрицанием и применения теоремы де Моргана мы имеем:

yxlF (x)/\x(t)]\J[G(x)/\X (0],

ут 1( Щ V G (т)] Л [T(F) V X (01 Д ;

тогда

Л Й о у с ( т ) ] Л и Г ) у х ( / ) ] ) .

Здесь конъюнктивный член X (/) V X (t) равен 1 и поэтому может быть вычеркнут. Применение (7.7) дает:

ут [F (т) V G (т)] Д ух l(F (т) V X (/)] Д ух [X (/) V G (т)].

Применяя (7.7) к каждому из последних двух конъюнктивных членов, имеем:

ух [F (т) V G (т)] Д [ут? (т) V* (01Л (0 V VxG (т)].

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

§ 3. ПРЕДИКАТЫ С ОГРАНИЧЕННЫМИ КВАНТОРАМИ

Наряду с обычными кванторами по предметам у и g пользуются и так называемыми ограниченными кванторами.

Рассмотрим следующие формулы:

 

 

 

1. дтХ (т) с ограниченным

сверху

т< Д

квантором

существо­

вания соответствует словесному

выражению «существует такое т,

меньшее /,

для которого справедливо X (т)»;

 

 

2. утХ

(т) с ограниченным

сверху

т< Д

квантором

общности

соответствует выражению «для всякого х, которое меньше t, спра­ ведливо х (т)».

Ограниченные кванторы выражаются обычными формулами исчисления предикатов с участием специального предиката «%<Ду». Подобные формулы имеют вид:

З т [ т < / Д Х ( т ) ] , у т [ т < / -> Х(т)].

При правилах вывода ограниченные кванторы могут обозна­

чаться:

 

ут;

ут

т < Н

Q < t <X

— двусторонний квантор.

 

160

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