Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.07.2024
Просмотров: 89
Скачиваний: 1
§ 2. УПРОЩЕНИЕ НОРМАЛЬНЫХ ФОРМ БУЛЕВЫХ ФУНКЦИЙ
В настоящем параграфе рассматриваются примеры упрощения нормальных форм булевых функций с помощью следующих прие мов: 1 ) перегруппировка членов, 2 ) сложение соседних членов, 3) добавление членов.
Перегруппировка членов
Перегруппировка членов возможна всякий раз, когда эти члены входят в одно из трех основных выражений, которые приводятся ниже и для которых указаны эквивалентные им упрощенные вы ражения:
ху + ху = (х + х )у = у, |
(6 .2 ) |
|
х + ху = х ( 1 + у) — X- 1 = х , |
(6.3) |
|
х + ху = х (у + у) + ху = ху + ху + ху = |
|
|
= (ху + ху) + (ху + ху) = у + X. |
(6.4) |
|
Пусть булева функция задана своей нормальной формой |
|
|
/ = xzt + xyzt + xzt. |
|
|
Вынося xz за скобку в качестве общего множителя |
в первом |
и |
третьем членах, находим: |
|
|
/ = xz (t +7) + xyzt = x z■1 + xyzt — xz + xyzt = x (z + zyt) — |
|
|
—x (z + yt) = xz + xyi. |
|
|
Выражение x (z -f yt) получено согласно (6.4). |
|
|
Рассмотрим на примере, как применяются формулы (6.2) |
и |
|
(6.4), если задана функция вида: |
|
|
/ = (x+~yz) + (x + yz) (xt + z). |
|
|
Второй член суммы запишется так: |
|
|
{х + yz) (xt + z) = x-yz-(xt + z) = х ( у -f z) (xt + |
z) = |
|
= (xy + xz) (xt -f z) = xyxt + xxzt + xyz + XZ2 =
|
= 0 + 0 + |
x j /z + 0 = xyz. |
|
||
Поэтому |
_ |
_ |
_ |
_ |
_ |
f = ( x + yz) + xyz = z (y + yx) + X = zy + (zx 4 - x) =
= zy + (x + z) = (z + z y )i- x = z + x.
Сложение соседних членов
Значение функции не изменяется, когда к ее разложению при бавляется уже встречавшийся в разложении член, причем это спра ведливо, сколько бы раз ни добавляли указанный член.
132
Пусть, например, дана функция
f — xyz + xyz + xyz 4 - xyz + xyz + xyz\
группируя попарно четвертый и пятый, второй и четвертый, чет вертый и шестой и, наконец, первый и третий члены, можно напи сать:
f = (xyz + xyz) + (xyz + xyz) -f {xyz + xyz) + {xyz + xyz) =
= xy {z + 2) + xy (2 + 2) + X2 {у + у) + xz {y + y) =
= xy- 1 + xy- 1 + X2- 1 -f-XZ- 1 = xyA~xy + xz+ xz.
Можно получить и другое выражение, содержащее только три члена, группируя в разложении данной функции второй и третий, первый и пятый и, наконец, четвертый и шестой члены:
f = {xyz + xyz) + {xyz + xyz) + {xyz + xyz) = xy{z + z) + yz {x -f x) +
-\-zx{y + y) —x y -l-\-y z -l-\-z x -l= x y + yz-\-zx.
Посредством другой группировки членов первоначальной функ ции можно было бы получить еще одно выражение, также состоя щее из трех членов:
f = xy + yz + zx.
Эквивалентность нескольких упрощенных форм не всегда оче видна. Однако иногда бывает полезно, даже в случае, когда ника кое упрощение уже невозможно, пытаться отыскивать пример, в от ношении числа элементов, необходимых для образования члена, явно встречающегося в-одном случае и отсутствующего в другом.
Чтобы найти эти эквивалентные формы, удобно умножать каж
дый из членов данной функции на выражение вида {А + Л), что позволяет выявить все члены ее совершенной нормальной формы, которые затем могут быть сгруппированы попарно всеми возмож ными способами.
Пусть, например, дана функция
f = xy 4 - xyz 4- xzt.
Чтобы выявить члены совершенной дизъюнктивной нормальной формы, каждый из которых содержит четыре переменных, напишем
f = xy{z 4-z) {t + 1) 4-xyz {t+~t) + xzt {у + y) =
= {xyzt + xyzt -f xyzt 4- xyzt) + {xyzt 4- xyzt 4- xyzt 4- xyzt).
Тогда СДНФ будет иметь вид:
f = xyzt + xyzt 4- xyzt 4 - xyzt 4- xyzt -f xyzt -f- xyzt.
Группируя члены, состоящие из четырех переменных, всеми возможными способами попарно, мы получим члены из трех пере-
10 Заказ № 2437 |
133 |
менных:
xyz = xyzt + xyzt,
xyz —xyzt -f- xyzt,
xyt = xyzt -f- xyzt,
xyz = x y z t x y z t ,
xyt = xyzt + xyzt,
xzt = xyzt + xyzt,
yzt = xyzt + xyzt.
Тогда можно написать
/ = xyz + xyz + xyt + xyz + xyt + xzt + yzt —
= (xyz + xyz) + (xyt + xyt) -f- (xyt + xzt + yzt) =
= xy + xy + (xyz -f xzt + yzt) = xy + xyz + xzt + yzt.
Мы видим, что полученное выражение содержит три основных члена исходной функции, но появился еще четвертый член, который раньше отсутствовал.
Ниже показано, как можно свести в одну табл. 6-1 совершенную нормальную форму функции / и четыре основных члена, выделяя крестом те члены от четырех переменных нормальной формы, ко торые содержатся в каждом из основных членов от трех перемен ных эквивалентного выражения.
Таблица показывает, что шесть из семи первых членов совер шенной нормальной формы могут быть представлены суммой
xy + xyz, а последний, xyzt, может быть представлен либо третьим основным членом xzt первоначальной формы, либо новым основным членом yzt. Таким образом, хотя никакого упрощения функции и йе было получено, указанный метод позволил найти выражение, эквивалентное исходной функции. Этому новому выражению бу дет соответствовать иная цепь, которая может оказаться предпоч тительней, чем первая, если, например, переменную у основного члена yzt реализовать легче, чем переменную х основного члена xzt.
134
Добавление членов
Упрощение с помощью добавления членов позволяет получить более простую форму функции. В качестве примера рассмотрим функцию:
fix, у , z ) ^ x y + xyz,
в которой не встречается член xyz.
Если имеется уверенность, что никогда одновременно не встре
тится комбинация х — 1 , у = 1 , 2 = 1 , которая дает члену хг/~г значение 1 , мы можем, не изменяя значения функции, написать:
f(x, у, z) = x y Jr xyz-\-xyz = x y Jr x y( z Jr z) = x y Jrxy .
Таким образом, член от трех переменных xyz заменен более про стым членом от двух переменных ху.
§ 3. ИСПОЛЬЗОВАНИЕ ОПЕРАЦИЙ СКЛЕИВАНИЯ И ПОГЛОЩЕНИЯ
Упрощение совершенной дизъюнктивной нормальной формы чаще всего осуществляется посредством следующих преобразова ний:
1 . fx\/fx = f —склеивание,
2 . fxV / = / — поглощение,
3. [хгV fx2 = f (xiV x2) — вынос за скобки,
а упрощение совершенной конъюнктивной нормальной формы — посредством преобразований:
1. № ) А ( № ) = А
2 . i f V x ) / \ f = f ,
3- ( № i) A ( № 2)==/V(*i A*2).
носящих аналогичные названия.
Укажем один полезный критерий, позволяющий использовать операцию поглощения для упрощения дизъюнктивной нормаль ной формы: Введем для этого понятие ортогональности элементар ных конъюнкций.
О п р е д е л е н и е . Элементарные конъюнкции pt и р, назы ваются ортогональными, если р,-р,- = 0 .
Очевидно, что для ортогональности элементарных конъюнкций ненулевых рангов необходимо и достаточно, чтобы нашлась такая
переменная, |
которая |
входит в |
одну |
конъюнкцию без отрицания |
(а = 1), а в |
другую — с отрицанием |
(ст = 0). Примером ортого |
||
нальных конъюнкций являются |
|
|
||
|
|
p' = x ^ |
и p" = xxxz, |
|
их произведение р- р" |
= 0 . |
|
|
|
10* |
|
|
|
135 |
О п р е д е л е н и е . Дизъюнкция P i V P 2 V - - - V P a элемен
тарных конъюнкций pj поглощает элементарную конъюнкцию ру, если формула p^PiVP2V---VPft выражает функцию, тож
дественно равную |
единице. |
|
|
|
|
|
|
|
|
|
|
|||||
Понятие |
п о г л о щ е н и я |
важно |
по |
следующей |
причине. |
|||||||||||
Если |
известно, что Pi |
V Р 2 |
V • |
• ■VP* поглощает р, |
т. |
е. |
что |
|||||||||
Р - |
Pi |
V Рг V • |
• ■ УРк = |
1 , |
то |
р |
V Pi |
V Р 2 |
V • |
• • |
\/pk |
= |
||||
= Pi V |
Pi |
V |
• • • |
VPk (элементарная конъюнкция |
р может быть |
|||||||||||
вычеркнута). |
Введение |
понятия |
поглощения |
(/ |
поглощает |
fx, |
||||||||||
т. е. |
fx |
V / |
= |
/) |
является частным случаем |
поглощения дизъюнк |
||||||||||
цией |
элементарных конъюнкций Pi V Рг V ■• |
• Pk |
элементарной |
|||||||||||||
конъюнкции р |
(за р берется fx, |
за p 1\Jp 2\/ |
. . . р |
берется /). |
|
|||||||||||
Для того чтобы дизъюнкция P1 VP2 V • • |
• V Pk поглощала эле |
ментарную |
конъюнкцию р, не ортогональную каждой элемен |
||||
тарной |
конъюнкции из р 1 V Р 2 |
V • |
■• р , необходимо и доста |
||
точно, |
чтобы |
каждую конъюнкцию |
рг можно было представить |
||
в виде р. = |
р'. |
р'' (конъюнкции р'. |
и р". могут выражаться с соблю |
||
дением следующих условий): |
|
|
1.у р ;= 1 , t=i
2 . р ->р ; - р 2 . . . p; = i.
Здесь через р^ обозначены конъюнкции всех членов, общих для р. и р, а через p"t — конъюнкции оставшихся членов из рг
Пример 1. Пусть дана функция в дизюънктивной форме
F = Х гХ 2Х3 V *1*2*3 V Х]Х3Х4 V * 2 * 3 * 4 •
Представим данную функцию в виде дизъюнкции
PiVР2 VРз= *1*2*3 V*1*2*3V*1*3*4
и конъюнкции
р = *2Х3Х4.
Представим элементарные конъюнкции в р 4 V Р 2 V Рз в следующем виде:
p1 = p ;p i'= * 3 (*i*2)>
Р2 = P2P2= (Л'2Хз) ‘ *1’
Ръ ~ Р3Р2,= (*3*4) 'Х1‘
При этом
3 __
V Р"= *j*2V*!V*1~ 1,
1=1
Р[Р'2РЗ= Х2Х3Х4
136
и, следовательно |
|
|
Р P’lP'zP's = |
Х2Х3Х4 |
Х2Х3Х4 = 1 ; |
то очевидно, что дизъюнкция |
р ± \/ |
р 2 \] р 3 поглощает элементар |
ную конъюнкцию, в силу чего |
|
|
F= хгх2х3V хгх2х3V ххх2х3.
§4. МЕТОДЫ МИНИМИЗАЦИИ СДНФ БУЛЕВОЙ ФУНКЦИИ
Одним из широко используемых методов минимизации является метод непосредственного упрощения СДНФ.
Конъюнкции ргс и р ' ранга г называются соседними, если су ществует такая переменная xk, что
P ir = P r~ Xxl и р ' = р г~ 1 - х 0к .
Конъюнкция р ранга г называется изолированной по отноше нию к данному множеству конъюнкций r-го ранга, если в нем не существует ни одной конъюнкции, соседней с р.
Непосредственную минимизацию заданной функции алгебры логики будем проводить в следующем порядке. Выделим из СДНФ изолированные конъюнкции ранга г. Обозначим их через рги
рг2, . . . рг Оставшиеся конъюнкции не являются изолированными.
Для каждой из них выберем соседние с ней конъюнкции, и к каждой паре соседних конъюнкций применим операцию склеивания:
Pt Vрги= Рг~ 'х?VРг~ 'х? = Рг~ 1•
В результате систематического применения операции склеива ния ко всем соседним конъюнкциям получим множество конъюнк ций ранга г—1. В дизъюнктивной нормальной форме, образован ной этим множеством, выполним приведение подобных членов.
Для полученной таким образом дизъюнктивной формы повто рим описанный процесс упрощения и получим множество изоли рованных конъюнкций ранга г—1 и дизъюнктивную форму, обра зуемую конъюнкциями ранга г—2 и т. д. Этот процесс завершится после s повторений. В результате получим упрощенную дизъюнк тивную нормальную форму функции в виде
(р[VP2 V • • • V p J)V (p r1VP2-1 V • . • VPt_1)V • |
■ • |
. • •V(prsVprsV . • •\/prs)V .... |
|
... V(p[~s+1Vprs+1V • • •Vp-~s+1). |
(6.5) |
Применяя к этой форме правило поглощения, получим так на зываемую тупиковую форму, т. е. нормальную дизъюнктивную форму, эквивалентную заданной функции алгебры логики и не до пускающую дальнейших поглощений.
137