Minimizacija Karnoovi Mapi

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 30

2.

7 Шенонова теорема

Една прекинувачка функција може да се претстави со повеќе од еден


израз. Два специфични изрази се сума од производи и производ од
суми формите.
Прашање кое се поставува е дали дадена функција може секогаш да
се изрази со овие специфични стандардни форми. Одговор на ова
прашање дал Клод Шенон (Claude Shannon).

Форма сума од производи

Нека f ( x1 , x2 ,..., xn ) е било која прекинувачка функција од n


променливи. Шенон покажал дека еден начин на претставување на
оваа функција е
f ( x1 , x2 ,..., xn )  x1 f (1, x2 ,..., xn )  x1 f ( 0, x2 ,..., xn ) .
Односно функцијата е претставена со сума од 2 терми, еден
релевантен кога x1 има вредност 1, а другиот кога x1 има вредност 0.
Доказот на овој израз следи од перфектната индукција. Ако
резултатот е точен за сите вредности на променливата x1 (има само
две вредности 1 и 0) тој мора да е точен.
Процесот се повторува за преостанатите функции употребувајќи
друга променлива, на пример x2 се додека не се употребат сите
променливи. Резултатот е производ од n литерали помножени со она
што станува функцијата кога секоја променлива се замени со 0 или 1
(вредноста на функцијата кога променливите ќе добијат некоја
специфична комбинација на вредности), а таа вредност е 0 или 1.
Така, крајниот резултат е сума од сите можни нередундантни
производи од 2n литерали (n променливи и нивни комплементи),
некои од кои се помножени со 1, а други со 0 (вредноста на
функцијата кога променливите ќе добијат некоја специфична
комбинација на вредности). Помножените со 0 се изоставаат од
резултатот.

Шеноновата експанзиона теорема во општ случај е


f  a0 x1 x2 ...xn  a1 x1 x2 ...xn 1 xn  a2 x1 x2 ...xn 1 xn  ...
 a2 n  2 x1 x2 ...xn  a2 n 1 x1 x2 ...xn
каде ai е константа чиј индекс е децимален еквивалент на
множителот на ai претставен како бинарен број.
На пример, a5 (5 бинарно е 101) е коефициент на x1 x2 x3 .
Шеноновата експанзиона теорема покажува дека било која
прекинувачка функција од n променливи може да се изрази како сума
од производи од n литерали, по еден за секоја променлива.

Пример 2.8: Нека f е функција од 2 променливи x1 и x2 . Нека f има


вредност 1 за комбинациите на x1 x2 : 00, 10, 11 и вредност 0 за
преостанатите комбинации. Определете го изразот кој се добива од
Шеноновата експанзиона теорема. Потоа упростете го изразот.

За бараната функција се добива:


f  x1 x2  x1 x2  x1 x2
 x2 ( x1  x1 )  x1 x2
 x2  x1 x2
 x2 (1  x1 )  x1 x2
 x2  x1 ( x2  x2 )
 x1  x2

Форма производ од суми

Шеноновата експанзиона теорема е форма сума од производи. По


дуалност може да се изведе и формата производ од суми. За да се
добие формата производ од суми се заменуваат 0 со 1 и обратно и
операциите сума и производ.

f ( x1 , x2 ,..., xn )  [ x1  f ( 0, x2 ,..., xn )][ x1  f (1, x2 ,..., xn )]


f  (b0  x1  x2  ...  xn )(b1  x1  ...  xn1  xn )...
(b2 n2  x1  x2  ...  xn )(b2 n1  x1  x2  ...  xn )
каде bi се константи 0 или 1.

Овој резултат покажува дека било која прекинувачка функција од n


променливи може да се изрази како производ од суми од n литерали,
по еден за секоја променлива.
2.8 Елементарни логички кола

Поради изоморфноста на прекинувачката алгебра и пропозиционата


логика во прекинувачката алгебра може да се воведат операциите
исклучиво ИЛИ (  ), НИ, НИЛИ и негација на исклучиво ИЛИ (  ).
Вистинитосните вредности се прикажани во табела 2.5.

Табела 2.5: Вистинитосни вредности на  , НИ и НИЛИ

И ИЛИ  НИ НИЛИ 
x y x y xy x+y xy  x y x y xy xy  x y

0 0 1 1 0 0 0 1 1 1
0 1 1 0 0 1 1 1 0 0
1 0 0 1 0 1 1 1 0 0
1 1 0 0 1 1 0 0 0 1

Негација на исклучиво ИЛИ се нарекува уште релација на


еквиваленција. Од табелата може да се забележи дека НИ, НИЛИ и
негација на исклучиво ИЛИ се добиваат со негација на И, ИЛИ и
исклучиво ИЛИ:

xy  x  y
x  y  xy
x  y  x y  x y  x x  x y  xy  y y

Пример 2.9: Тргнувајќи од каноничната сума од производи за


исклучиво ИЛИ да се најде формата каноничен производ од суми.

x  y  xy  x y
 xy  x y  x x  y y
 x( x  y )  y ( x  y )
 ( x  y )( x  y )

Универзални множества на операции

Дефиниција 2.12: Множество на операции се нарекува универзално


ако секоја прекинувачка функција може да се изрази со помош на
операциите од ова множество.
Буловата алгебра е воведена како структура (B, +, *, -), односно е
дефинирана со 2 бинарни и една унарна операција. Секоја
прекинувачка функција може да се изрази со помош на овие
операции, па множеството операции (И, ИЛИ, НЕ) е универзално.

Множеството операции (ИЛИ, НЕ) е универзално бидејќи И може да


се изрази преку ИЛИ и НЕ операциите применувајќи го Де
Моргановиот закон:
xy  xy  x  y .

(И,НЕ) е универзално множество бидејќи ИЛИ може да се изрази


преку И и НЕ операциите:
x  y  x  y  x  y.

Исто така, (НИ) е универзално множество. Операциите И, ИЛИ и НЕ


може да се изразат преку операцијата НИ:
x  x  x  xx
xy  xy  xy xy
x  y  x  y  x y  xx  yy .

(НИЛИ) е универзално множество. Операциите И, ИЛИ и НЕ може да


се изразат преку операцијата НИЛИ:
x xx
x y x y x yx y
xy  xy  x  y  x  x  y  y .

Операцијата негација на исклучиво ИЛИ,  , е универзално


множество, додека операцијата исклучиво ИЛИ,  , не е универзално
множество бидејќи со неа не може да се реализира операцијата НЕ.
Исклучиво ИЛИ заедно со константа 1 формира универзално
множество.

Симболи за логичките порти

За логичките порти се користат следните симболи:

И порта ИЛИ порта


НИ порта НИЛИ порта

порта исклучиво ИЛИ НЕ порта

За операциите И, ИЛИ и  важи асоцијативниот закон. НИ и НИЛИ


операциите не се асоцијативни.

Дека асоцијативниот закон не важи за НИЛИ операцијата се покажува


на следниот начин:

x  y  z  x  y z  ( x  y) z  x z  y z

е различно од

x  y  z  x ( y  z )  x y  xz .

Асоцијативниот закон не важи и за НИ операцијата, бидејќи

xy z  xy  z  xy  z

е различно од

x yz  x  yz .

НИ и НИЛИ порти

Со користење на Де Моргановите закони може да се добијат


алтернативни форми на логичките порти НИ и НИЛИ. Од xy  x  y
следува дека НИ портата може да се претстави на следниот начин
Додека од x  y  x y следува дека НИЛИ портата може да се
претстави на следниот начин

И порта

Од xy  xy  x  y следува дека И портата може да се претстави

ИЛИ порта

Според формулата x y x y x y , ИЛИ портата може да се


претстави

Порти исклучиво ИЛИ

Следните еквивалентни форми ја претставуваат операцијата


исклучиво ИЛИ
x  y  x y  xy
 ( x  y )( x  y )
 xy  x y

 ( x  y )( x  y )

Според тоа, алтернативни форми на портата исклучиво ИЛИ се


следните четири претставувања
Од изразот за функцијата исклучиво ИЛИ x y  x y , со примена на
аксиомите и теоремите од Булова алгебра може да се добие
алтернативниот израз ( x  y )( x  y ) :
x y  xy  x y  xy  x x  y y
 x( x  y )  y ( x  y )
 ( x  y )( x  y ) .

Со двојно комплементирање на изразот x y  x y и примена на


аксиомите и теоремите на Булова алгебра се добива ( x  y )( x  y ) :
x y  xy  x y  xy

 ( x  y )( x  y )
 ( x  y )( x  y ) .

Исто така, со двојно комплементирање на изразот ( x  y )( x  y ) и


примена на аксиомите и теоремите на Булова алгебра може да се
добие изразот xy  x y :
( x  y )( x  y )  ( x  y )( x  y )
 x y x y
 x y  xy
 xy  x y .

Претставување на функции со НИ и НИЛИ порти

Како што е веќе кажано, НИ и НИЛИ операциите претставуваат


универзални множества и со нив може да се изразат сите операции на
Буловата алгебра. Користејќи го изразувањето на операциите И, ИЛИ
и комплемент преку операцијата НИ може да се изврши
претставување на операциите само со НИ порти.

Функцијата комплемент се изразува како x  x  x  x x и може да се


претстави преку НИ порта на следниот начин

Функцијата И може да се изрази како xy  xy  xy xy и се


претставува на следниот начин

Додека функцијата ИЛИ се изразува x  y  x  y  x y  xx  yy и се


претставува

Функцијата комплемент се изразува преку НИЛИ на следниот начин


x  x  x и се претставува само со НИЛИ порти како што следи

Функцијата ИЛИ се изразува како x  y  x  y  x  y  x  y и се


претставува со НИЛИ порти
Функцијата И се изразува како xy  xy  x  y  x  x  y  y и се
претставува

2.9 Електронски компоненти

Дигиталните кола работат со 2 вида сигнали: од 0 до 1 V кои ја


претставуваат логичката нула и од 2 до 5 V кои ја претставуваат
логичката единица. Овие кола работат со напон до 5V.
Основните елементи на дигиталните кола се логичките порти кои во
суштина се бинарни прекинувачи. Транзисторите може да се користат
како бинарни прекинувачи. На сликата 2.1 е прикажан биполарен
транзистор.

слика 2.1: Транзистор како инвертирачка порта

Тој се состои од три приклучоци кои се поврзуваат кон надворешното


коло: клектор, база и емитер. На колекторот се носи напон Vcc.
Емитерот е заземјен. Кога не е донесен напон на базата транзисторот
претставува бескраен отпор, па на влезот Vout ќе се добие напонот
Vcc, односно состојба логичка 1. Кога ќе се донесе влезен напон на
базата Vin транзисторот се однесува како проводник, па на излезот
Vout нема да има напон, односно ќе се добие состојба логичка 0. На
тој начин транзисторот се днесува како инвертирачка порта.

Со сериско или паралелно сврзување на транзисторите се добиваат


НИ и НИЛИ порта (слика 2.2).
слика 2.2: Сериско и паралелно сврзување на транзистори
за реализација на НИ и НИЛИ порта

На излезот на НИ колото има логичка 0 само ако на двата влеза се


донесе напон, а кај НИЛИ колото излезот ќе биде логичка 1 само ако
и двата влеза се поставени на 0.

Со додавање на уште еден транзистор како инвертор на излезот од


овие две кола се добиваат 2 нови кола: И и ИЛИ коло.
НИ и НИЛИ колата се користат во дигиталната електроника бидејќи
се реализираат со помал број на транзистори. Од друга страна познато
е дека било која функција може да се реализира со помош на НИ и
НИЛИ кола.

Интегрални кола

Најчесто употребувани техники за изведба на логичките порти се TTL


(transistor-transistor logic) чиј креатор е Texas Instruments, ECL
(emitter-coupled logic) од Motorola кои користат биполарни
транзистори како прекинувачи. Друга изведба е CMOS
(complementary metal-oxide semiconductor) користи MOSFET
транзистор.

Во компјутерските елементи логичките кола се интегрирани во


интегрални кола. Во зависност од бројот на интегрирани елементи
интегралните кола се поделени во неколку групи:
 Кола со ниско ниво на интеграција (SSI-Small Scale Integrated)
- содржат до 10 логички порти и најчесто портите не се
поврзани помеѓу себе, туку директно на пиновите.
 Кола со средно ниво на интеграција (MSI-Medium Scale
Integrated) - содржат меѓу 10 и 100 логички порти и се
користат за имплементација на елементарни дигитални
операции, како декодери, собирачи или мултиплексери.
 Кола со високо ниво на интеграција (LSI-Large Scale
Integrated) - содржат помеѓу 100 и неколку илјади порти, а се
користат за имплементација на процесори, мемории и
програмабилни логички направи (PLD).
 Кола со многу високо ниво на интеграција (VLSI-Very Large
Scale Integrated) - содржат повеќе илјади порти и се користат
за имплементација на сложени микропроцесори или големи
мемориски чипови.

Интегралното коло со два реда изведени ножички се нарекува чип
(слика 2.3). Како што е прикажано на сликата 2.3, 14 пин е
напојување, а 7 пин заземјување.

Поважни параметри на интегралните кола се:


1. моќност што ја троши колото при функционирање
(power dissipation)
2. време на каснење на сигналот при проаѓање низ
колото (propagation delay) и
3. маргина на шум во напонот или варирање на напонот
(noise margin).

слика 2.3: Интегрално коло 7400 во TTL технологија


Логичките кола во зависност од тоа дали имаат или немаат меморија
може да се поделат на:
1. комбинациони кола или кола без меморија и
2. секвенцијални кола или кола со меморија.
Кај комбинационите кола излезот зависи само од влезот и со задавање
на сите вредности за влезните параметри можат да се добијат
излезните вредности за секоја комбинација на влезовите. Тоа е
вистинитосна таблица на функцијата.

2.10 Задачи

1. Со примена на аксиомите и теоремите од Булова алгебра да се


претвори секој од изразите во израз кој содржи
а) И и НЕ операции
б)ИЛИ и НЕ операции
в)НИ операции
г)НИЛИ операции

E1  ab  ac  bc
E2  ( x  y )( y  z )( y  z )
E3  x y  ( y  z )( x  z )

2. Да се напише изразот за f само со И, ИЛИ и НЕ операции


3. ИМПЛЕМЕНТАЦИЈА НА
ПРЕКИНУВАЧКИ ФУНКЦИИ

При хардверска имплементација на Буловите функции важна улога


има бројот на членови во изразите сума од производи и производ од
суми, како и бројот на литерали кои го сочинуваат секој член од
изразите. Формата сума од производи, како што е веќе кажано, се
нарекува уште дисјунктивна нормална форма или ДНФ, а формата
производ од суми се нарекува конјунктивна нормална форма или
КНФ. Литерали претставуваат променливи или комплементи на
променливите.

Во оваа глава се разгледуваат начини на поедноставување на


прекинувачките функции за да се намали комплексноста на изразите
кои треба хардверски да се реализираат. Постојат неколку начини на
минимизирање на прекинувачките функции. Еден начин е алгебарски,
односно со примена на аксиомите и теоремите на Буловата алгебра.
Други методи кои ќе бидат опишани во оваа глава се методот
Карноови (Karnaugh) мапи и методот Квин-МекКласки (Quine-
McCluskey). Методот Карноови мапи е применлив само на функции
со шест или помалку променливи. Кај методот Квин-МекКласки
бројот на променливи може да биде произволен.

3.1 Алгебарска минимизација

Изразот се смета за минимизиран ако содржи минимален број на


членови и литерали, односно со понатамошно минимизирање би се
добил израз кој содржи помалку членови или литерали но веќе не ја
претставува почетната функција и не генерира иста вистинитосна
табела.

При минимизација на ДНФ најчесто се користат следните теореми:


1. xy  xy  y
2. x  xy  x  y (теорема симплификација)
3. xz  xy  yz  xz  xy
(теорема консензус).
Дуалните теореми на овие може да се користат за минимизација на
функциите во КНФ.
При минимизација на функциите последователно и наизменично се
применуваат горните теореми се додека водат до понатамошно
поедноставување на изразите.

Функцијата добиена со примена на алгебарска минимизација не е


секогаш минимална, но е блиска до минималната. Покрај горните
теореми може да се користат и други аксиоми и теореми од Булова
алгебра.

Во следниот пример за поедноставување на изразот се користи првата


теорема:
f ( a , b , c, d )  abcd  abcd  abcd  abcd  abcd  abcd  abcd  abcd
 acd (b  b )  acd (b  b )  abc ( d  d )  abc( d  d )
 acd  acd  abc  abc
 ad ( c  c)  ac (b  b )
 ad  ac

Во примерот кој е даден во продолжение се користат сите три погоре


наведени теореми:
f ( a , b , c, d )  abc  bcd  acd  abcd  abc
 ab( c  c)  bcd  acd  abcd (1)
 ab  bcd  acd  abcd
 a[b  b ( cd )]  bcd  acd (2)
 a (b  cd )  bcd  acd
 ab  acd  bcd  acd
 [ ab  a ( cd )  b ( cd )]  acd (3)
 ab  acd  acd

3.2 Импликанти и имплиценти

Кај ДНФ секој производ се нарекува импликанта (implicant) на


функцијата, додека кај КНФ секоја сума се нарекува имплицента
(implicent) на функцијата.

Кога вредноста на импликантата во ДНФ е еднаква на 1 тогаш


функцијата има вредност 1. Кога вредноста на имплицентата во КНФ
е еднаква на 0 тогаш функцијата има вредност 0.
Нека е дадена функцијата f ( a , b , c, d )  abcd  abcd  abcd  abcd .
Таа има 4 минтерми од кои секој претставува импликанта на
функцијата. Функцијата може да се поедностави со групирање на
првите два минтерма при што се добива abcd  abcd  acd (b  b )  acd
и со групирање на преостанатите два минтерма
abcd  abcd  acd (b  b )  acd , така да функцијата станува
f  acd  acd .

Овие два производи исто така претставуваат импликанти на


функцијата, бидејќи функцијата има вредност 1 кога било кој од нив е
1. Она што е предност во однос на почетниот израз со кој е
претставена функцијата е што овие производи содржат помал број на
литерали.

Со понатамошна минимизација на функција, односно групирање на


производите се добива f  cd ( a  a )  cd .

Се вели дека минтермите acd и acd го имплицираат cd , бидејќи било


кое доделување вредности кое овозможува секој од минтермите да
добие вредност 1 исто така овозможува cd да добие вредност 1.
Постапката за минимизација на функцијата всушност води до наоѓање
на множество на “најмали“ импликанти, односно примарни
импликанти (prime implicant).

Дефиниција 3.1: Примарна импликанта е импликанта која не


имплицира некоја друга импликанта на функцијата.

На пример, за претходната функција cd е примарна импликанта.

Множеството на примарни импликанти за било која прекинувачка


функција е единствено. За да се претстави функцијата во минимална
форма не мора да се користат сите примарни импликанти.
Нека е дадена функцијата f ( a , b , c )  ab  ac  bc која може да се сведе
на 4 минтерми f ( a , b , c)  abc  abc  abc  abc .
Бидејќи ниеден од производите ab , ac и bc не имплицира било кој од
другите два, тие се примарни импликанти. Производот ab ги покрива
минтермите abc и abc , а ac минтермите abc и abc .
Бидејќи сите минтерми се покриени со две примарни импликанти
функцијата f може да се изрази како f ( a , b , c)  ab  ac што всушност
следи од теоремата консензус ( ab  ac  bc  ab  ac ).
Според горните согледувања минимизацијата на функцијата се состои
во наоѓање на сите примарни импликанти и потоа, одредување
минимално множество примарни импликанти кои ги покриваат сите
минтерми на функцијата.

3.3 Минимизација со Карноови мапи

Карноова мапа на функција од n променливи претставува табела со 2 n


ќелии. Ќелиите се соседни доколку имаат заеднички страни или се
наоѓаат на спротивните страни на мапата (лева и десна, како и горна и
долна страна). Карноовата мапа може да се смета за торус кој е
пресечен така да претставува правоаголна површина. Колоните и
редовите на мапата се обележени со бинарни индекси кои се
разликуваат само за 1 бит. На слика 3.1 се претставени Карноовите
мапи за 1, 2, 3 и 4 променливи и соодветните обележувања на
колоните и редовите.

x
0 1
x2
0 1
x1 0
1

x2x3
00 01 11 10
x1 0
1

x3x4
00 01 11 10
00
x1x2 01
11
10

слика 3.1:Карноови мапи за функции со една,две,три и четири


променливи

Прво ќе биде опишана минимизација со методот Карноови мапи на


функција која е во канонична форма сума од производи (СДНФ).
Функцијата се запишува во мапата со пишување единици во ќелиите
кои одговараат на минтерми за кои функцијата има вредност 1.

Минимизација се изведува со групирање на соседни ќелии со


вредност 1 во правоаголници со големина 2 к ќелии, при што се зема
во предвид принципот на соседство. Потребно е секоја 1 да биде
покриена барем со еден правоаголник.

При минимизацијата можно е некои правоаголници да се комплетно


прекриени со поголеми правоаголници, а некои правоаголници
делумно да се преклопуваат со други. Ако правоаголниците се
покриени од поголеми тогаш во решението се земаат поголемите
правоаголници. Поголемите правоаголници овозможуваат
елиминирање на поголем број променливи од производите и на тој
начин водат до пооптимално решение.

Ако функцијата е непотполно дефинирана кај недефинираните


минтерми се пишува симболот b. Ќелиите обележани со симболот b
каде функцијата има неопределена вредност може да се сметаат за 1
или 0, во зависност од тоа дали со таа вредност ќе може да се
формира поголем правоаголник.

На сликата 3.2 се претставени некои од можните групирања кај


Карноовите мапи за функции од 4 променливи. Во минималната
дисјунктивна нормална форма на функцијата на секоја група единици,
односно на секој правоаголник, одговара еден производ. Производот
се формира така да се испуштаат променливите чии индекси ја
менуваат вредноста во дадената група, а се задржуваат променливите
кои имаат непроменливи индекси.

Големината на правоаголникот го определува бројот на литерали во


производите на минималната сума од производи форма на
функцијата.

За функција од две променливи:

 правоаголник од една ќелија е минтерм од 2 литерали


 правоаголник од две ќелии е производ од 1 литерал
 правоаголник од четири ќелии (сите ќелии се пополнети со
единици) одговара на функцијата f=1.

00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10

00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10

00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10

00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10

00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10

00 01 11 10 00 01 11 10 00 01 11 10
00 0 0
0 0
01 0 0
1 1
11 1 1
1 1
10 1 1
0 0

00 01 11 10 00 01 11 10 00 01 11 10
00 0 0
0 0
01 0 0
1 1
11 1 1
1 1
10 1 1
0 0

00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10
слика 3.2: Некои групи кај Карноови мапи за функции од 4
променливи

За функција од три променливи:

 правоаголник од една ќелија претставува минтерм од 3


литерали
 правоаголник од две ќелии е производ од 2 литерали
 правоаголник од четири ќелии е производ од 1 литерал
 правоаголник од 8 ќелии е функцијата f=1.

За функција од четири променливи:

 -правоаголник од една ќелија е минтерм од 4 литерали


 -правоаголник од две ќелии е производ од 3 литерали
 -правоаголник од четири ќелии е производ од 2 литерали
 -правоаголник од осум ќелии е производ од 1 литерал
 -правоаголник од шестнаесет ќелии е функцијата f=1.

Дефиниција 3.2: Ако правоаголникот не е покриен од поголем


правоаголник тогаш производот кој одговара на тој правоаголник
претставува примарна импликанта на функцијата.

Дефиниција 3.3: Ако во Карноовата мапа некоја единица може да се


покрие само со еден правоаголник тогаш производот кој одговара на
тој правоаголник се нарекува значајна (essential) примарна
импликанта.

Значи, за да се добие минимална ДНФ на прекинувачка функција


зададена со Карноова мапа потребно е на мапата да се формираат
правоаголници на кои им одговараат примарни импликанти, така да
секоја единица биде покриена барем со еден правоаголник, а бројот
на правоаголници треба да биде минимален.

Предноста на методот Карноови мапи е во тоа што воочувајќи ги


правоаголниците, минималните форми може да се напишат без
аналитичко изведување на изразите.
Минимизацијата со Карноови мапи не функционира само во случај
кога сите ќелии се пополнети со 1 (или 0 при наоѓање на форма
минимален производ од суми). Тогаш Карноовите мапи ја
претставуваат функцијата f=1 (f=0).

Пример 3.1: Со методот Карноови мапи да се минимизира


функцијата f ( x , y , z )  x yz  xy z  x yz  xy z .

Се црта Карноова мапа за функција од 3 променливи. Бидејќи


функцијата е во форма канонична сума од производи, за секој
минтерм на функцијата се внесува единица во мапата на позицијата
соодветна на минтермот. Во останатите полиња треба да се внесат
нули, но за подобра прегледност нулите се изоставуваат. Карноовата
мапа за функцијата е дадена на слика 3.3. Поголемиот правоаголник
може да се образува бидејќи мапата формира торус, односно десниот
раб на мапата се составува со левиот.

yz
00 01 11 10
x 0 1 0 0 1
1 1 0 0 1

слика 3.3: Карноова мапа за функцијата од пример 3.1

Така, правилно формирање на правоаголници, односно испуштање на


правоаголниците кои се покриени од правоаголници од повисок ред,
за дадената Карноова мапа е прикажано на сликата 3.4.

yz
00 01 11 10
x 0 1 1
1 1 1

слика 3.4: Правилно групирање на единиците за функцијата од


пример 3.1

Следниот чекор при минимизација на функцијата е да се напишат


производите кои ги претставуваат групите единици опфатени од секој
правоаголник. Производите се формираат така да се испуштаат
променливите чии индекси ја менуваат вредноста во дадената група, а
се задржуваат променливите кои имаат непроменливи индекси.

Индексите на променливите x и y ја менуваат вредноста, додека


индексот на z останува 0. Заради тоа производот ќе се состои од еден
литерал z . Како што е претходно објаснето, кај функција од 3
променливи правоаголник кој опфаќа 4 ќелии се сведува на производ
од еден литерал.

Пример 3.2: Со методот Карноови мапи да се минимизира


функцијата
f ( x , y , z )  x yz  xyz  x yz  x yz  xy z  xyz .
Функцијата f е во канонична форма сума од производи. За секој
минтерм се внесува 1 во соодветна ќелија од Карноовата мапа (слика
3.5).
yz
00 01 11 10
x 0 1 1 1
1 1 1 1 1

слика 3.5: Карноова мапа за функцијата од пример 3.2

Околу единиците се формираат правоаголници чии страни мора да


бидат со должина степен на бројот 2. За функции со 3 променливи
правоаголниците може да имаат страни чија должина е 1, 2 и 4. На
слика 3.6 се претставени 3 правоаголници кои може да се формираат
за дадената Карноова мапа.

yz
00 01 11 10
x 0 1 1 1
1 1 1 1 1

слика 3.6: Групирање на единици на Карноовата мапа за функцијата


од пример 3.2

Потоа се формираат производите за секоја група единици заокружени


со правоаголник. Правоаголникот во долниот ред ги содржи y и z со
индекси 0 и 1. Затоа овие променливи се елиминираат од производот
и останува само променливата x.

До истиот резултат се доаѓа и со алгебарски трансформации. Долниот


правоаголник го сочинуваат минтермите x yz  x yz  xyz  xy z . Со
примена на неколку трансформации се добива
x yz  x yz  xyz  xy z  x y ( z  z )  xy ( z  z )  x ( y  y )  x .

Средниот правоаголник претставува производ од еден литерал z,


додека десниот правоаголник производ од еден литерал y. Така, по
минимизацијата со методот Карноови мапи прекинувачката функција
го добива обликот f ( x , y , z )  x  y  z .
Пример 3.3: Да се најде комплемент на функцијата зададена со
следната Карноова мапа:

cd
00 01 11 10
00 1 1 1
ab 01 1
11
10 1 1 1

Функцијата зададена со Карноовата мапа е



f ( a , b, c, d )  ( 0,1, 2 , 5, 8, 9 ,10)
што лесно се забележува имајќи го во предвид распоредот на
минтермите во Карноовата мапа (слика 3.7).

cd
00 01 11 10
00 0 1 3 2
ab 01 4 5 7 6
11 12 13 15 14
10 8 9 11 10
слика 3.7: Распоред на минтерми за функција со 4 променливи

Со минимизација функцијата се сведува на изразот f  bd  bc  acd .


Единиците се групирани во 3 правоаголници. Групирањето на
единиците е прикажано на слика 3.8.
cd
00 01 11 10
00 1 1 1
ab 01 1
11
10 1 1 1

слика 3.8: Минимизација на функцијата од пример 3.3

Минтермите кои не се вклучени во функцијата припаѓаат на


комплементот на функцијата. Според тоа комплементот на
функцијата може да се добие со групирање на соседните 0 за да се
формира форма сума од производи.
Местата на Карноовата мапа кои не се пополнети со 1 се пополнуваат
со 0 и се изведува минимизација на функцијата (слика 3.9).
cd
00 01 11 10
00 0
ab 01 0 0 0
11 0 0 0 0
10 0

слика 3.9: Наоѓање комплемент на функцијата од пример 3.3


За секоја група на 0 се наоѓа производот од литерали. Така, за
комплементот на функцијата се добива f ( a , b , c, d )  ab  cd  bd .
За проверка на резултатот може да се изврши комплементирање на f
и да се применат одредени алгебарски трансформации, при што се
добива функцијата f:

f  ab  cd  bd
 ( a  b )( c  d )(b  d )
 ( ac  bc  ad  bd )(b  d )
 ( abc  bc )  ( abd  bd )  acd  bcd
 (bc  bcd )  bd  acd
 bc  bd  acd

Пример 3.4: Да се најде минимална сума од производи форма за


функцијата f ( x , y , z )  y ( z  x z )  x y z .

Функцијата прво треба да се трансформира во форма сума од


производи, при што се добива f ( x , y , z )  yz  xy z  x yz .

Се забележува дека функцијата не е сведена во облик канонична сума


од производи. За канонична сума од производи форма секој минтерм
на функцијата ќе определува една 1 во Карноовата мапа. За
функцијата може да се нацрта Карноова мапа претставена на сликата
3.10.

yz
yz
00 01 11 10
x
0 1
1 1 1 1
xz

слика 3.10: Карноова мапа за функцијата од пример 3.4

Производот yz од функцијата f е претставен со две единици во


колоната означена со индекси 11. Минималната сума од производи
форма или минимална ДНФ форма на функцијата е f  yz  xz .

Пример 3.5: Да се најде минимална ДНФ и минимална КНФ за


функцијата
f ( x , y , z , w)   ( 0,1, 4 , 5, 9 ) .

Функцијата е зададена во облик производ од суми. Во тој случај се


дадени макстермите за кои функцијата има вредност 0. Во Карноовата
мапа (слика3.11) треба да се внесат 0 на позициите на зададените
макстерми: 0,1,4,5 и 9.

zw
00 01 11 10
00 0 0
xy 01 0 0
11
10 0

слика 3.11: Карноова мапа за функцијата од пример 3.5

Од Карноовата мапа може да се определи комплементот на


функцијата
f  xz  y zw .

Минималната КНФ (производ од суми) е всушност еднаква на


минималната ДНФ на f . Со примена на Де Моргановата теорема за
минималната КНФ на функцијата f се добива f  ( x  z )( y  z  w ) .

Минималната ДНФ на функцијата f може да се определи со


комплементирање на f и одредени алгебарски трансформации
f  f  xz  yzw
 ( x  z )( y  z  w )
 xy  yz  ( xz  z )  xw  zw
 xy  ( yz  z )  x w  zw
 ( z  zw)  xy  x w
 z  xy  xw

или со цртање нова Карноова мапа (слика 3.12), каде во секоја ќелија
која не е пополнета со 0 се пишува 1.

z
zw
00 01 11 10
00 1 1
xy 01 1 1
11 1 1 1 1
10 1 1 1

xy xw

слика 3.12:Определување на минимална ДНФ за функцијата од


пример 3.5

Од Карноовата мапа се добива минималната ДНФ на функцијата


f  z  xy  x w .

Карноови мапи за функции со 5 и 6 променливи

Карноовите мапи не се користат за минимизација на функции со


повеќе од шест променливи бидејќи мапите стануваат непрегледни, а
постапката комплексна.
Карноова мапа за функција со 5 променливи се формира со користење
на две подмапи за четири променливи. На сликата 3.13 е претставена
Карноова мапа за функција од 5 променливи.

yz
00 01 11 10
v=0 00 m0 m1 m3 m2
wx 01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10

yz
00 01 11 10
v=1 00 m16 m17 m19 m18
wx 01 m20 m21 m23 m22
11 m28 m29 m31 m30
10 m24 m25 m27 m26

слика 3.13: Карноова мапа за функција од 5 променливи

Првата од подмапите ги претставува редовите на комбинационата


табела за кои v=0, а втората редовите за кои v=1.

Слично, Карноова мапа за функција од 6 променливи се сосотои од


четири подмапи за четири променливи. Мапата за функција од 6
променливи е претставена на сликата 3.14. Првата од подмапите ги
претставува редовите од комбинационата табела за кои u=0 и v=0,
втората оние за кои u=0 а v=1, итн. Основните правила за групирање
важат и за мапите за 5 и 6 променливи. При формирање на
производите на минималната ДНФ се задржуваат променливите чии
индекси не се менуваат, а се испуштаат оние чии индекси се
менуваат. Ќелиите кои се наоѓаат во иста подмапа се групираат на ист
начин како што е претходно опишано. Ако две ќелии се наоѓаат во
различни подмапи може да се групираат само ако се наоѓаат на иста
позиција во нивните соодветни подмапи. На пример, минтермот m4 и
m20 може да се групираат, но минтермите m4 и m17 не може да се
групираат.

u=0 yz u=0 yz
v=0 00 01 11 10 v=1 00 01 11 10
wx 00 m0 m1 m3 m2 wx 00 m16 m17 m19 m18
01 m4 m5 m7 m6 01 m20 m21 m23 m22
11 m12 m13 m15 m14 11 m28 m29 m31 m30
10 m8 m9 m11 m10 10 m24 m25 m27 m26
yz yz
00 01 11 10 00 01 11 10
u=1 u=1
00 m32 m33 m35 m34 00 m48 m49 m51 m50
v=0 v=1
01 m36 m37 m39 m38 01 m52 m53 m55 m54
wx wx
11 m44 m45 m47 m46 11 m60 m61 m63 m62
10 m40 m41 m43 m42 10 m56 m57 m59 m58

слика 3.14: Карноова мапа за функција од 6 променливи

Кај Карноовата мапа за 6 променливи може да се групираат само


ќелии кои се наоѓаат во хоризонтално и вертикално соседни подмапи.
Не може да се комбинира ќелија од подмапата обележана со u=0 и
v=0, со подмапата обележана со u=1 и v=1, бидејќи се разликуваат во
два бита. Може да се групираат и четири ќелии кои се наоѓаат на исти
позиции во подмапите. На пример, може да се групираат m5, m21, m37 и
m53.

Пример 3.6: Да се најде минимална ДНФ за функцијата со 5


променливи

f ( v , w, x , y , z )  ( 3, 4 , 7, 9,11,12 ,15,16,18,19 , 20, 23, 24, 26, 27, 28, 31)
.

Како што е претходно кажано функцијата од 5 променливи се


претставува со Карноова мапа со две подмапи од 4 променливи.
Првата од подмапите ги претставува редовите на комбинационата
табела за кои v=0, а втората редовите за кои v=1. Во рамките на иста
подмапа единиците се групираат на ист начин како кај Карноови мапи
за помалку од 5 променливи. Ќелиите во различни подмапи може да
се групираат само ако се наоѓаат на исти позиции во соодветните
подмапи.
Дадената функција може да се претстави со двете подмапи
претставени на сликата 3.15.

p1 p4

v=0 yz v=1 yz
wx 00 01 11 10 wx 00 01 11 10
00 1 00 1 1 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 1 10 1 1 1

p3
p2
слика 3.15: Карноова мапа за функцијата со 5 променливи од пример
3.6

Прво се групираат единиците во секоја подмапа поодделно, а потоа се


споредуваат правоаголниците на двете подмапи. Бидејќи ќелиите
означени со правоаголниците p1 и p2 се наоѓаат на исти позиции во
двете подмапи можно е да се групираат.
Минималната форма сума од производи на функцијата е
f  p1  p2  p3  p4  x yz  yz  vwxz  v xz .

You might also like