You are on page 1of 15

Dr.

eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Predavanje 2
Standardni oblici logikih izraza
Interesantno je da se svaki logiki izraz primjenom zakona iskazne algebre moe svesti na neke karakteristine oblike, koji imaju vrlo jednostavnu i pravilnu strukturu. Da bismo to pokazali, moramo prvo uvesti nekoliko pojmova. Na prvom mjestu emo uvesti pojmove literala, elementarne konjunkcije i elementarne disjunkcije. Pod literalom podrazumijevamo bilo koju logiku promjenljivu ili njenu negaciju. Izraz koji je ili literal, ili predstavlja konjunkciju vie literala u kojoj se niti jedna promjenljiva ne pojavljuje vie od jedanput (npr. ACD) naziva se elementarna kojnunkcija. Slino, izraz koji je ili literal, ili predstavlja disjunkciju vie literala u kojoj se niti jedna promjenljiva ne javlja vie od jedanput (npr. A B D) naziva se elementarna disjunkcija ili klauza. Pored toga, logika konstanta T tretira se kao elementarna konjunkcija sa 0 literala, a logika konstanta kao elementarna disjunkcija sa 0 literala. Izraz koji ima oblik disjunkcije vie prostijih izraza (npr. B AC ) naziva se disjunktivna forma. Ukoliko je svaki od tih izraza elementarna konjunkcija (npr. A BC BC) tada govorimo o disjunktivnoj normalnoj formi (DNF). Slino, izraz koji ima oblik konjunkcije vie prostijih izraza (npr. ABC(B C)) naziva se konjunktivna forma, a ukoliko je svaki od tih izraza elementarna disjunkcija (npr. A(B C)(B C)), u pitanju je konjunktivna normalna forma (KNF). Pri tome, individualne elementarne konjunkcije smatraju se specijalnim sluajem disjunktivnih normalnih formi, a individualne elementarne disjunkcije smatraju se specijalnim sluajem konjunktivnih normalnih formi. Uvoenje ovakvih degenerisanih specijalnih sluajeva bitno pojednostavljuje formulaciju nekih tvrenja koja slijede. Svaki logiki izraz uvijek je mogue svesti bilo na disjunktivnu, bilo na konjunktivnu normalnu formu. Da bismo neki logiki izraz sveli na disjunktivnu normalnu formu, prvo se trebamo osloboditi eventualng prisustva ekskluzivnih disjunkcija, implikacija i ekvivalencija, uz pomo pravila X Y = XY XY, X Y = X Y i X Y = XY XY. Dalje je potrebno osloboditi se svih negacija sloenih podizraza (ukljuujui i viestruke negacije) pomou De Morganovih pravila (redoslijed kojim se vri ovo oslobaanje ne mora biti jednoznaan), a zatim obaviti sve mogue konjunkcije koje se mogu obaviti prema pravilu distributivnosti konjunkcije prema disjunkciji. Na kraju se, pomou trivijalnih pravila (poput zakona idempotentnosti ili konzistentnosti) oslobodimo eventualnog suvinog pojavljivanja istih promjenljivih ili itavih podizraza. Postupak svoenja na DNF ilustriraemo na jednom primjeru. Primjer : Svesti logiki izraz AB (A BC) AC BC na disjunktivnu normalnu formu.
Svoenje emo provesti postupno, u skladu sa gore opisanim postupkom: AB (A BC) AC BC = AB (A BC) AC BC = AB (A BC) AC BC = = (AB (A BC)) AC BC = (A B A B C) (A C) (B C) = = (A B A (B C)) (A C) (B C) = (A B AB A C) (A B A C B C C) = = A A B B A B ABA B A C A B A A C B A C ABA C A C A C A B C B B C ABB C A C B C A C B C ABC A C C = = A B A B A B C A C A B C ABC A C A B C B C A B C A C B C ABC A C = = A B A B C A C B C ABC = A B A C B C U ovom primjeru, ve pretposljednji izraz predstavlja disjunktivnu normalnu formu. Meutim, mi smo izvrili dodatno skraenje ove forme dvostrukom primjenom pravila apsorpcije za disjunkciju:
A B A BC = A B , A C ABC = A C

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Usput, iz izloenog vidimo da neki izraz moe imati vie razliitih, meusobno ekvivalentnih DNF (isto vrijedi i za KNF). Prilikom nalaenja DNF, postupak se moe osjetno skratiti ukoliko u toku postupka vrimo primjenu pravila saimanja i apsorpcije kada se god za to ukae mogunost. Tako smo, na primjer, u prethodnom primjeru ve u drugom redu mogli uoiti da na osnovu zakona apsorpcije slijedi da je
A A BC = A

i na taj nain bitno skratiti postupak. Svoenje logikog izraza na konjunktivnu normalnu formu mogue je obaviti slinim postupkom kao i svoenje na DNF, jedino je umjesto pravila distributivnosti konjunkcije prema disjunkciji potrebno koristiti pravilo distributivnosti disjunkcije prema konjunkciji. Meutim, za razliku od prvog pravila koje glasi X (Y Z) = XY XZ i koje se primjenjuje rutinski zbog injenice da podsjea na slino pravilo X (Y + Z) = XY + XZ iz elementarne matematike, primjena drugog pravila X YZ = (X Y) (X Z) zahtijeva poveanu koncentraciju, jer slino pravilo ne postoji u elementarnoj matematici. Stoga je, pri primjeni ovog pravila, vea vjerovatnoa da emo neto previdjeti ili napraviti neku drugu greku. Da bi se uklonile ove potekoe, svoenje proizvoljnog logikog izraza na KNF najee se obavlja indirektnim putem, odnosno postupkom dvostruke negacije. Tako, da bi se neki izraz sveo na KNF, najpraktinije je prvo formirati njegovu negaciju, zatim tu negaciju svesti na DNF i na kraju negirati dobijeni rezultat koritenjem De Morganovih pravila. Sutina postupka oslanja se na injenicu da De Morganova pravila prevode disjunktivne normalne forme u konjunktivne normalne forme i obrnuto. Primjer : Svesti logiki izraz A (B C D) B (C D) na konjunktivnu normalnu formu, prvo direktno, a zatim postupkom dvojne negacije.
Direktno svoenje ovog izraza na KNF moemo obaviti viestrukom primjenom pravila distributivnosti X Y Z = (X Y) (X Z):
A ( B C D ) B (C D ) = A ( B C ) ( B D ) B (C D ) =

= (A ( B C )( B D ) B) (A ( B C )( B D ) C D ) = = (A B) (B B C ) (B B D) (A C D) (B C C D )(B C D D) = = (A B) (A C D) Postupkom dvostruke negacije prvo emo nai DNF negacije traenog izraza:

A (B C D) B (C D) = A (B C D) B (C D) = (A B C D) (B C D) = = (A B C D) (B CD) = (A B (C D)) (B C D) = (A BC B D) (B C D) = = A B BBC BBD ACD BC CD BCDD = A B AC D Traenu KNF sada dobijamo negacijom dobijenog izraza:
A ( B C D) B (C D) = A B A C D = A B A C D = (A B) (A C D)

Disjunktivna normalna forma u kojoj svaka elementarna konjunkcija sadri iste promjenjive (npr. ABC ABC ABC A BC ) naziva se savrena disjunktivna normalna forma (SDNF), dok se konjunktivna normalna forma u kojoj svaka elementarna disjunkcija sadri iste promjenljive (npr. (A B C)(A B C ) ) naziva se savrena konjunktivna normalna forma (SKNF). Elementarne konjunkcije koje ine SDNF nazivaju se minterme, dok se elementarne disjunkcije koje ine SKNF nazivaju maksterme.

U sluaju kada govorimo o savrenoj disjunktivnoj odnosno konjunktivnoj normalnoj formi nekog zadanog polaznog izraza, preutno podrazumijevamo da pri tome sve minterme odnosno maksterme trebaju sadravati one i samo one promjenljive koje su se javljale u polaznom izrazu. Recimo, neka

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

imamo izraz AB AB AC. Mada je lako provjeriti da je ovaj izraz ekvivalentan izrazu AC AC AC, on nije SDNF polaznog izraza, bez obzira to sve njegove elementarne konjunkcije sadre iste promjenljive A i C. Naime, ovaj izraz ne sadri promjenljivu B koja se javljala u polaznom izrazu (ispravna SDNF ovog izraza glasi ABC ABC ABC ABC ABC ABC). Svaka DNF moe se lako svesti na SDNF tako da u svakom lanu u kojem nedostaje neka od promjenljivih uvedemo nedostajuu promjenljivu pomou razvoja X = X (Y Y) = XY XY. Ukoliko u nekom lanu nedostaje vie od jedne promjenljive, ovaj razvoj po potrebi primjenjujemo vie puta sve dok ne uvedemo sve nedostajue promjenljive. Postupak ponavljamo dok se svi lanovi ne dovedu u oblik koji sadri sve promjenljive. Na kraju se oslobodimo eventualnog suvinog pojavljivanja istih lanova koji mogu nastati kao posljedica provedene ekspanzije. Primjer : Svesti izraz A B B C A C u DNF obliku na SDNF oblik. Da bi ovaj izraz dobio oblik SDNF, u prvi lan treba uvesti promjenljivu C, u drugi lan promjenljvu A, a u trei lan promjenljivu B, tako da imamo:
A B B C A C = A B C A B C B C A C = A B C A B C AB C A B C A C =

= A B C A B C A B C A B C ABC A B C = A B C A B C A B C ABC
Slino, svaka KNF se lako moe svesti na SKNF primjenom razvoja X = X YY = (X Y)(X Y). Alternativno, i ovdje se moe primijeniti postupak dvojne negacije.

Primjer : Svesti izraz (A B) ( A C D) u KNF obliku na SKNF oblik.


U ovom sluaju, u prvom faktoru nedostaju promjenljive C i D, a u drugom faktoru promjenljiva B. Radi bolje preglednosti, promjenljive emo uvoditi postupno, jednu po jednu:
(A B) (A C D) = (A B C) (A B C) (A C D) =

= ( A B C) ( A B C) ( A B C D ) ( A B C D ) = = ( A B C D ) ( A B C D ) ( A B C) ( A B C D ) ( A B C D ) = = ( A B C D ) ( A B C D ) ( A B C) ( A B C D ) = = ( A B C D) ( A B C D ) ( A B C D) ( A B C D) ( A B C D) Ovim smo formirali i traenu SKNF. Alternativno, moemo formirati negaciju ovog izraza, svesti je na SDNF, i negirati dobijeni izraz da dobijemo traenu SKNF:
(A B) (A C D) = A B A C D = A B A C D = A BC A B C A BC D A B C D =

= A BC D A BC D A B C D A B C D A B C D A B C D = = A BC D A B C D A B C D A B C D A B C D
(A B) (A C D) = A BC D A BC D A B C D A B C D A BC D =

= A BC D A BC D A B C D A B C D A BC D = = ( A B C D) ( A B C D ) ( A B C D) ( A B C D) ( A B C D) Kao to vidimo, dobili smo rezultat koji se od prethodnog rezultata razlikuje samo u poretku lanova. Ovo nije sluajnost, jer se moe dokazati da su SDNF i SKNF svakog logikog izraza jedinstvene, u smislu da se dvije razliite SDNF (ili SKNF) istog logikog izraza mogu eventualno razlikovati samo u poretku lanova. Odavde slijedi jedan sistematian metod za ispitivanje da li su dva logika izraza ekvivalentna ili ne (bez koritenja tablica istine). Naime, oba izraza treba svesti na oblik SDNF ili SKNF. Tada, ukoliko su posmatrani izrazi ekvivalentni (i samo tada), dobijene SDNF odnosno SKNF mogu se eventualno razlikovati samo u poretku pojedinih lanova. Naalost, duina postupka

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

svoenja nekog izraza na oblik SDNF ili SKNF u opem sluaju eksponencijalno raste sa porastom broja varijabli, tako da je efiksanost takvog metoda tipino loa.

Formiranje logikog izraza na osnovu poznate tablice istine


Oblici SDNF i SKNF nekog logikog izraza naroito su pogodni ukoliko je potrebno na osnovu zadane tablice istine konstruisati logiki izraz ija je tablica istine jednaka zadanoj. Ako uoimo da svaka minterma dobija vrijednost T samo za jednu kombinaciju promjenljivih (dakle, u samo jednom redu tablice istine), dok svaka maksterma dobija vrijednost samo za jednu kombinaciju promjenljivih, veoma je lako dokazati sljedea pravila (ona su, zapravo, gotovo oigledna): Da bismo formirali izraz u obliku SDNF koji odgovara zadanoj tablici istine, za svaki red tablice u kojem izraz uzima vrijednost T formiramo mintermu u kojoj one promjenljive koje u tom redu tablice imaju vrijednost ulaze sa negacijom, a one koje imaju vrijednost T ulaze bez negacije. Traena SDNF je disjunkcija svih takvih mintermi. Da bismo formirali izraz u obliku SKNF koji odgovara zadanoj tablici istine, za svaki red tablice u kojem izraz uzima vrijednost formiramo makstermu u kojoj one promjenljive koje u tom redu tablice imaju vrijednost ulaze bez negacije, a one koje imaju vrijednost T ulaze sa negacijom. Traena SKNF je konjunkcija svih takvih makstermi.

Opisani postupak je najlake ilustrirati kroz konkretan primjer. Primjer : Odrediti nepoznati izraz I u obliku SDNF i SKNF, kojem odgovara sljedea tablica istine: A
T T T T

B
T T

C
T

I
T T

T T


T T

Primjenom opisanih pravila neposredno nalazimo: I = A B C A BC A BC A B C A BC


I = (A B C) (A B C) (A B C)

/ SDNF / / SKNF /

Odavde slijedi da je za svaku tablicu istine uvijek mogue nai logiki izraz koji generira tu tablicu istine, i to koristei samo operacije negacije, konjunkcije i disjunkcije. Meutim, vrijedi napomenuti da ovaj postupak gotovo nikad ne daje najkrai izraz koji generira traenu tablicu istine. Na primjer, tablicu istine iz prethodnog primjera generiraju i izrazi BC BC AC, (B C)(A B C), BC B(A C) i (BC) AC, od kojih je prvi u DNF formi, drugi u KNF formi, a trei i etvrti izraz predstavljaju disjunktivne forme koje nisu normalne. Svi ovi izrazi znatno su krai od pronaenih izraza u SDNF odnosno SKNF formi.

injenica da neki izraz moe imati vie sutinski razliitih DNF odnosno KNF dovodi do sljedeih definicija. Za neki logiki izraz kae se da je u minimalnoj disjunktivnoj normalnoj formi (MDNF) ukoliko ne postoji drugi ekvivalentni DNF oblik istog izraza koji sadri manje literala od posmatranog izraza. Analogno se definira i minimalna konjunktivna normalna forma.

Quineov postupak nalaenja MDNF i MKNF

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Odmah na poetku, treba napomenuti da do danas nije pronaen sistematian postupak koji omoguava da se izvri potpuna minimizacija nekog logikog izraza, odnosno da se pronae apsolutno najjednostavniji logiki izraz koji je ekvivalentan zadanom logikom izrazu. S druge strane, W. V. Quine je otkrio sistematian postupak za pronalaenje MDNF odnosno MKNF oblika proizvoljnog logikog izraza. Ovaj postupak poznat je pod nazivom Quineov algoritam minimizacije logikih izraza. Mada MDNF i MKNF oblici nisu nuno i najkrai oblici logikih izraza, oni su tipino dosta blizu optimumu i esto se za neke praktine aspekte digitalne tehnike smatraju pogodnijim od potpuno minimiziranog izraza (na primjer, digitalni sklopovi zasnovani na oblicima MDNF i MKNF optimalni su po pitanju brzine rada). Stoga se, u tom smislu, smatra da je problem minimizacije logikih izraza u prilinoj mjeri danas rijeen. U sluaju potrebe, esto je mogue runo izvriti dodatnu optimizaciju dobijenih izraza u MDNF ili MKNF obliku (naravno, dobijeni izrazi vie nee imati DNF odnosno KNF oblik), i tako ostvariti jo neke utede. Quineov algoritam odvija se u dvije etape. U prvoj etapi, traeni izraz se prvo prikazuje u SDNF formi. Zatim treba uoiti sve parove mintermi koje se mogu saimati primjenom pravila XY XY = X. Polazni izraz jednak je disjunkciji svih rezultata takvih saimanja, i onih mintermi koje nisu uestvovale niti u jednom saimanju (ovu injenicu je lako dokazati). Na novodobijeni izraz ponovo primjenjujemo isti postupak, i ponavljamo ga sve dok se ne moe izvriti niti jedno novo saimanje. Ovim je prva etapa Quineovog algoritma zavrena. Ilustrirajmo ovo na primjeru logikog izraza
A B C D ABC D A B C D A BCD A BCD A B C D ABCD

Prvi lan u ovom izrazu moe se saimati samo sa treim lanom (po promjenljivoj B) i kao rezultat tog saimanja dobija se lan ACD. Drugi lan ne moe se saimati ni sa im. Trei lan moe se saimati (osim sa prvim lanom, to je ve obavljeno) sa petim (po promjenljivoj C) i estim (po promjenljivoj D) lanom, ime se kao rezultat saimanja dobijaju lanovi ABD i ABC. etvrti lan se, takoer, moe saimati sa petim i estim lanom, ime se dobijaju lanovi ABC i ABD, ali se moe saimati i sa sedmim lanom, ime se dobija lan ACD. Ovim smo iscrpili sva saimanja koja se mogu obaviti. Slijedi da je polazni izraz ekvivalentan sljedeem izrazu (drugi lan koji se nije mogao saimati ni sa im je prosto prepisan):
A C D A BC D A B D A B C A BC A BD ACD

U novodobivenom izrazu je ponovo mogue izvriti neka saimanja. Prvi i drugi lan ne mogu se saimati ni sa im, ali se zato trei lan moe saimati sa estim, ime se dobija lan AB. Isti rezultat dobija se i nakon saimanja etvrtog i petog lana, ime su iscrpljena sva mogua saimanja u ovom izrazu. Slijedi da se polazni izraz moe predstaviti i u sljedeem obliku:
A C D A BC D A B ACD

Ovim su iscrpljene sve mogunosti saimanja, ime je zavrena prva etapa Quineovog algoritma. Ova etapa je u potpunosti ablonizirana i nedvosmislena, tako da ne stvara nikakve principijelne potekoe, osim to sam postupak moe biti dugotrajan. Ipak, pri runom radu veoma je lako previdjeti neki par lanova koji se mogu saimati. Pokaimo stoga na primjeru istog polaznog izraza kako je mogue obaviti prvu etapu Quineovog algoritma na znatno sistematiniji nain, pomou kojeg se smanjuje mogunost da napravimo greku. Na poetku, prvo razvrstamo sve lanove u polaznoj SDNF u klase po broju negacija: 0 negacija: 1 negacija: 2 negacije: 3 negacije: 4 negacije: ABCD ABCD ABC D , AB C D , ABCD , AB C D AB C D nema

Razumije se da se mogu saimati samo lanovi iz klasa iji se broj negacija razlikuje za 1, recimo iz klase sa i negacija i klase sa i+1 negacija, a kao rezultat se dobija lan koji sadri i negacija. Takoer, bilo koji lan iz i-te klase moe se saimati samo sa onim lanovima iz i+1-ve klase koji sadre iste one

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

negacije kao i razmatrani lan iz i-te klase, to se lako uoava. Rezultate saimanja moemo odmah sortirati po klasama onako kako ih nalazimo (pri tome emo imati jednu klasu manje): 0 negacija: 1 negacija: 2 negacije: 3 negacije: ACD A B C , AB D A C D , AB D , AB C nema

U sljedeem koraku se ponovo mogu saimati samo parovi iz istih klasa, pod istim uvjetima kao i u prethodnom sluaju, uz dodatni uvjet da se mogu saimati samo lanovi koji se sastoje od istih promjenljivih. Rezultate saimanja ponovo razvrstavamo po klasama: 0 negacija: 1 negacija: 2 negacije: nema AB nema

Jasno je da dalja saimanja nisu mogua. Polazni izraz sada je ekvivalentan disjunkciji svih lanova koji nisu uestvovali u daljim saimanjima. Da bismo lake uvidjeli koji su lanovi uestvovali u saimanjima a koji ne, potrebno je nakon svakog obavljenog saimanja na neki nain oznaiti uesnike u saimanju, recimo podcrtavanjem uesnika u saimanju nakon svakog obavljenog saimanja. Kao rezultat prve etape Quineovog algoritma dobija se disjunktivna normalna forma koja ima osobinu da se niti iz jedne elementarne konjunkcije od kojih se ona sastoji ne moe odstraniti niti jedan literal, a da se vrijednost izraza ne promijeni. Takva disjunktivna normalna forma naziva se skraena disjunktivna normalna forma (ovo ime nije ba najsretnije odabrano, s obzirom da postoje situacije u kojima skraena disjunktivna normalna forma sadri vie literala ak i od savrene disjunktivne normalne forme). Skraena DNF je tijesno povezana sa pojmom implikante (umjesto izraza implikanta susree se i naziv preduvjet). Pod implikantom (preduvjetom) nekog izraza F podrazumijeva se svaki izraz za koji vrijedi F, odnosno svaki izraz za koji vrijedi da je izraz F njegova logika posljedica, tako da je implikacija F tautologija (lako se pokazuje da je ovaj uvjet ekvivalentan sa uvjetom F = F). U naelu, izraz je implikanta izraza F ukoliko dobija vrijednost za sve vrijednosti promjenljivih za koje i izraz F dobija vrijednost . Alternativno, je implikanta izraza F ukoliko za sve vrijednosti promjenljivih za koje uzima vrijednost T , izraz F takoer uzima vrijednost T . Iz definicije neposredno slijedi da je svaka elementarna konjunkcija neke DNF ujedno i njena implikanta. Meutim, neka DNF moe imati i kraih implikanti nego to su njene elementarne konjunkcije. Recimo, esto se deava da je neki dio neke elementarne konjunkcije i sam implikanta. Stoga se za neku implikantu nekog izraza F kae da je prosta implikanta ukoliko niti jedan njen dio nije i sam implikanta izraza F. Veoma je lako pokazati da sve elementarne konjunkcije koje ine neku MDNF moraju biti proste implikante. Naime, kada neka elementarna konjunkcija nekog izraza F u obliku MDNF ne bi bila prosta implikanta, tada bi se ona mogla apsorbovati u neku drugu krau implikantu 1, pa bi, ukoliko primijenimo jednakost F = F 1, nakon apsorpcije 1 = dobili novi izraz koji je ekvivalentan izrazu F, a krai je od njega, to je u protivrijenosti sa pretpostavkom da izraz F ima oblik MDNF. Takoer je lako pokazati da je disjunkcija svih prostih implikanti nekog izraza F ekvivalentna polaznom izrazu. Naime, svaka prosta implikanta je ili minterma ili neki njen dio, tako da e razvoj disjunkcije svih prostih implikanti u savrenu disjunktivnu formu dati upravo SDNF polaznog izraza. Quineova teorema tvrdi da skraena DNF nekog izraza nije nita drugo nego disjunkcija svih njegovih prostih implikanti. Drugim rijeima, sve elementarne konjunkcije od kojih se sastoji skraena DNF nekog izraza F su njegove proste implikante, a pored toga, izraz F nema drugih prostih implikanti osim elementarnih konjunkcija od kojih se sastoji njegova skraena DNF. Bitno je naglasiti da skraena DNF, koja se dobija kao rezultat nakon prve etape Quineovog algoritma, ne mora biti MDNF. Naime, mada sve elementarne konjunkcije od kojih se sastoji MDNF moraju biti proste implikante, MDNF se ne mora sastojati od svih prostih implikanti (a skraena DNF je disjunkcija svih prostih implikanti). Stoga se moe desiti da u skraenoj DNF nekog izraza postoje

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

lanovi koji se mogu potpuno izbaciti, a da se vrijednost izraza ne promijeni. Na primjer, primijenimo li prvu etapu Quineovog algoritma na izraz ABC ABC ABC ABC, dolazimo do izraza AB BC AC. Meutim, ovaj izraz ekvivalentan je izrazu AB AC, odnosno lan BC je suvian. Stoga, za neku DNF nekog izraza sastavljenu od njegovih prostih implikanti kaemo da je nesvodljiva ukoliko se iz nje ne moe izbaciti niti jedan lan a da se vrijednost izraza ne promijeni. Jasno je da MDNF mora biti nesvodljiva, jer u suprotnom ne bi bila minimalna. S druge strane, proizvoljna nesvodljiva DNF ne mora nuno biti minimalna, ali je jasno da najkraa od svih moguih nesvodljivih DNF nekog izraza (kojih ima konano mnogo) mora biti upravo njegova MDNF. Druga etapa Quineovog algoritma namijenjena je upravo nalaenju nesvodljivih DNF nekog izraza, meu kojima se nalazi i traena MDNF. Ovaj korak je mnogo delikatniji i nije ga lako u potpunosti formalizirati. U ovom koraku potrebno je izabrati to manji skup to kraih lanova iz dobijene skraene DNF ija je disjunkcija ekvivalentna traenom izrazu. Najpregledniji nain da se to uradi je formiranje tzv. tablice pokrivanja, iji redovi odgovaraju naenim lanovima skraene DNF nakon obavljene prve etape, a kolone mintermama polazne SDNF. U presjeku i-tog reda i j-te kolone upisuje se znak + ukoliko i-ti lan predstavlja dio j-te minterme. Na primjer, sljedea tablica predstavlja tablicu pokrivanja za prethodno naeni izraz:
ABC D
AC D ABCD AB ACD + + + + + + +
+

ABCD

AB C D +

A BCD

A BC D

A B CD

ABCD

Tablica pokrivanja omoguava da relativno lako odredimo koji se lanovi mogu izbaciti. Naime, mi moramo izabrati lanove ija disjunkcija daje izraz ekvivalentan polaznom, tj. koji je ekvivalentan disjunkciji svih mintermi. To emo uraditi tako da emo odabrati takav skup lanova kod kojeg e u svakoj koloni tablice pokrivanja biti barem jedan znak +. U sluaju kada je broj lanova veliki, ne postoji generalna sugestija kako odabrati najmanji takav skup, pa u takvim sluajevima pomae samo intuicija ili metod isprobavanja razliitih varijanti i izbor najbolje varijante. Ipak, u svakom sluaju, postupak treba zapoeti posmatranjem kolona u kojima se nalazi samo jedan znak +, kao to su prva, druga, peta, esta i sedma kolona u navedenom primjeru. Odgovarajui lanovi nazivaju se esencijalni lanovi i njih svakako moramo zadrati. Tek kada razmotrimo sve esencijalne lanove, prelazimo na razmatranje ostalih (neesencijalnih) lanova i od njih biramo minimalan skup lanova koji pokriva znacima + preostale kolone tablice pokrivanja. Ukoliko je ovo mogue uraditi na vie razliitih naina, to znai da postoji vie razliitih nesvodljivih DNF, a najkraa meu njima predstavlja traenu MDNF. Ovu injenicu nije teko dokazati, u ta se ovdje neemo uputati. U razmotrenom primjeru lako uviamo da su svi naeni lanovi esencijalni. Naime, prvi lan moramo zadrati, jer jedino on unosi znak + u prvu kolonu. Iz istog razloga moramo zadrati drugi, trei i etvrti lan, jer jedino oni unose znakove + u drugu, petu, estu i sedmu kolonu. Kao zakljuak slijedi da se niti jedan lan ne moe izbaciti, odnosno da naena skraena DNF ujedno predstavlja i traenu MDNF. Quineov algoritam moe se iskoristiti i za nalaenje minimalne konjunktivne normalne forme zadanog logikog izraza. Za tu svrhu, prvo je potrebno u savrenoj disjunktivnoj normalnoj formi predstaviti negaciju zadanog logikog izraza. To nije teko uiniti, s obzirom da se SDNF negacije nekog logikog izraza sastoji od onih i samo onih mintermi koje se ne nalaze u SDNF samog izraza. Nakon toga se na tako formiranu SDNF primjenjuje Quineov algoritam, ime dobijamo MDNF negacije logikog izraza. Na kraju, negacijom dobijene MDNF dobijamo MKNF polaznog izraza. Primijetimo da Quineov algoritam trai prethodno svoenje izraza na oblik SDNF. Ovo je naroito pogodno ukoliko je izraz iju MDNF traimo zadan tablicom istine (u suprotnom je potrebno razmatrani izraz runo svesti na SDNF). Quineov algoritam emo detaljno ilustrirati na jo jednom primjeru.

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Primjer : Quineovim algoritmom nai izraze u obliku MDNF i MKNF, a koji odgovaraju sljedeoj tablici istine: A
T T T T T T T T

B
T T T T

C
T T

D
T

I
T


T T


T T T


T T T T


T T

T T


T T

T T

Poetni korak je formiranje SDNF za dati izraz, to nije teko uraditi:


A BC D ABC D ABCD A B C D A B C D A BCD ABC D ABCD ABCD Radi lakeg pronalaenja lanova koji se mogu saimati, sve lanove emo razvrstati u klase prema broju negacija, slino kao u prethodnom primjeru: 0 negacija: 1 negacija: 2 negacije: 3 negacije: 4 negacije: ABCD ABCD , ABCD , ABCD AB C D , ABC D ABCD , AB C D , AB C D nema

Rezultate saimanja emo ponovo razvrstavati u klase, tako da nakon prvog ciklusa saimanja imamo sljedeu situaciju, pri emu minterma ABCD nije uestvovala u saimanju: 0 negacija: 1 negacija: 2 negacije: 3 negacije: BCD , ACD , ABC ABD , ABD AB C , B C D , A C D nema

U ovom trenutku, dalja saimanja nisu mogua, tako da je prva etapa Quineovog algoritma okonana. Skraenu DNF obrazuju svi lanovi dobijeni nakon drugog ciklusa saimanja, kao i minterma ABCD koja nije uestvovala u prvom ciklusu saimanja: A BC D BCD ACD ABC A BD ABD A B C BC D A C D Sada prelazimo na drugu etapu Quineovog algoritma, odnosno na formiranje tablice pokrivanja. U naelu, nema nikakve potrebe da eksplicitno ispisujemo skraenu DNF, nego moemo odmah formirati tablicu prekrivanja na osnovu implikanti naenih u toku prve etape Quineovog algoritma. Naene proste implikante smo u tablici oznaili oznakama od I1 do I9 radi lakeg snalaenja:

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

A BCD A BC D A BCD A B C D A B CD A BCD ABC D A BCD ABCD I1 = A BCD I2 = BCD I3 = ACD I4 = ABC
I5 = A BD I6 = ABD I7 = A B C I8 = BC D I9 = A C D

+ +
+ + + + + +

+ + +

+ + +

+ + +

Prvo je potrebno nai esencijalne lanove, ako takvi postoje. Odmah vidimo da su lanovi I1, I2 i I8 esencijalni tako da ih svakako moramo zadrati, jer bi njihovim izbacivanjem prva, druga odnosno trea kolona tablice pokrivanja ostale nepokrivene. Nakon nalaenja esencijalnih lanova, potrebno je od preostalih lanova (koji nisu esencijalni) izabrati to manji skup lanova tako da budu pokrivene i preostale kolone tabele. Ovaj postupak nije uvijek jednostavan i esto trai izvjesnu dozu domiljatosti. Pri runom radu (bez pomoi raunara), najbolje je redove koji odgovaraju esencijalnim lanovima, kao i kolone koje su ve pokrivene esencijalnim lanovima (kolone 1, 2, 3, 7 i 9) precrtati da nam ne odvlae nepotrebno panju. Tako dobijamo sljedeu tablicu: A B C D A B CD A BCD I3 = ACD I4 = ABC I5 = A BD I6 = ABD I7 = A B C I9 = A C D + + + + + + + + ABCD

Da bismo dobili nesvodljivu formu, nikada ne smijemo uzeti lan koji pokriva kolone koje su ve pokrivene drugim lanovima. Postoji jedan jednostavan postupak koji uvijek garantira da emo pronai nesvodljivu formu. Naime, moemo analizirati redom jedan po jedan lan i eliminirati ga iz razmatranja ukoliko ustanovimo da on prekriva one redove koji su ve pokriveni ostalim lanovima. Na primjer, krenemo li od lana I3, vidimo da ga moemo eliminirati iz razmatranja, jer on ne pokriva niti jednu kolonu koja nije pokrivena ostalim lanovima (konkretno, lanom I5). Slino, moemo eliminirati lan I4, s obzirom da jedina kolona koju on pokriva takoer pokriva i lan I6. Nakon ovih eliminacija, lan I5 ne smijemo izbaciti, jer bi u suprotnom trea kolona ostala nepokrivena. Takoer, ne smijemo izbaciti ni lan I6, jer u suprotnom etvrta kolona ostaje nepokrivena. Sada, lan I7 moemo izbaciti, jer on ne pokriva niti jednu kolonu koja nije pokrivena preostalim lanovima I5, I6 i I9. Meutim, nakon njegovog izbacivanja, lan I9 moramo zadrati, da pokrijemo prvu kolonu. Tako smo dobili nesvodljivu formu koju ine upravo lanovi I5, I6 i I9. Izbacivanje lanova smo mogli izvriti i drugim poretkom, ime bismo mogli dobiti i druge nesvodljive forme. Za izraz iz ovog primjera mogue je pronai ak est nesvodljivih pokrivanja, koja su sva iste duine (tri lana, svaki sa po tri promjenljive). To su, redom, pokrivanja sastavljena od trojki lanova (I3, I4, I7), (I3, I6, I7), (I4, I5, I7), (I4, I5, I9), (I5, I6, I7) i (I5, I6, I9). Slijedi da su sve odgovarajue nesvodljive forme ujedno i minimalne, tako da traeni izraz ima ak 6 razliitih ekvivalentnih MDNF. Na primjer, uzmemo li lanove I3, I4 i I7, dobijamo sljedeu MDNF (ne smijemo zaboraviti ukljuiti i esencijalne lanove I1, I2 i I8): A BC D BCD BC D ACD ABC A B C

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Interesantno je napomenuti da postoji i jedan isto algebarski (mada najee izuzetno glomazan) postupak za nalaenje svih nesvodljivih pokrivanja, poznat pod nazivom Petrickov metod. Za tu svrhu, posmatramo sve lanove dobijene nakon prve etape Quineovog algoritma kao neovisne promjenljive, i formiramo pomoni izraz u vidu konjunktivne forme, u kojoj je svaka elementarna disjunkcija formirana od lanova koji pokrivaju po jedan red tablice pokrivanja. Konkretno, za prethodnu tablicu, izraz glasi ovako: = (I7 I9) (I5 I7) (I3 I5) (I4 I6) Zatim, izraz treba prevesti u DNF oblik, primjenom pravila distribucije i apsorbovanja. U konkretnom primjeru, nakon neto dueg rauna, dobija se = I3 I4 I7 I3 I6 I7 I4 I5 I7 I4 I5 I9 I5 I6 I7 I5 I6 I9 Svaka elementarna konjunkcija u dobijenoj DNF odgovara jednom nesvodljivom pokrivanju, u ta se moemo lako uvjeriti. Valjanost ovog postupka nije teko dokazati. Da bismo nali MKNF traenog izraza, prvo treba nai SDNF negacije ovog izraza, to je lako uraditi direktno iz tablice istine, zamjenom uloge simbola T i u koloni koja predstavlja vrijednosti izraza (primijetimo da se u SDNF negacije izraza nalaze one i samo one minterme koje se ne nalaze u SDNF polaznog izraza):
A B C D A B C D A BCD A BC D A BCD A BCD ABC D

Razvrstajmo sve minterme u klase prema broju negacija: 0 negacija: 1 negacija: 2 negacije: 3 negacije: 4 negacije: nema ABC D A BCD , ABCD , ABCD , A BC D A BCD A BCD

Nakon prvog ciklusa saimanja dobijamo sljedeu situaciju, pri emu se minterme ABCD i ABCD nisu saimale ni sa im: 0 negacija: 1 negacija: 2 negacije: 3 negacije: nema BC D A BD , A CD A BC

Ovim su iscrpljene sve mogunosti saimanja, tako da nakon prve etape dolazimo do sljedeeg prikaza (ovo je prikaz negacije traenog izraza): A BCD A BCD BC D A B D A C D A B C Sada prelazimo na formiranje tablice prekrivanja: A B C D A B C D A BCD I1 = A BCD I2 = A BCD I3 = BC D I4 = A BD I5 = A C D I6 = A B C + + + + + + + A BC D A BCD + + + A BC D ABC D

10

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Na osnovu tablice prekrivanja odmah vidimo da su lanovi I1, I2, I3, I4 i I6 esencijalni. Meutim, ovih 5 lanova ujedno prekrivaju sve kolone tablice prekrivanja, tako da lan I5 moemo izbaciti. Na taj nain dolazimo do jedinstvene nesvodljive disjunktivne normalne forme negacije traenog logikog izraza, koja je, prema tome, ujedno i njegova MDNF:
A BCD A BCD BC D A B D A B C Konano, MKNF traenog izraza dobijamo negacijom dobijenog izraza:
(A B C D) (A B C D) ( B C D) (A B D) (A B C)

Bitno je napomenuti da ne postoji nikakva sugestija koja apriori ukazuje kojim redoslijedom treba eliminirati suvine lanove da bi se dobila minimalna forma. Situacija moe bitno ovisiti od poretka u kojem eliminiramo lanove, a samim tim i od naina kako su lanovi sortirani. Na primjer, uzmimo da smo dobili sljedeu tablicu prekrivanja prilikom minimizacije nekog logikog izraza: A BC I1 = A C I2 = B C I3 = AB I4 = BC
I5 = A B I6 = AC

A BC
+

A BC

AB C
+

A BC

ABC

+ +

+ +
+ + +

+ +

Eliminiramo li na poetku lan I1, vidimo da moramo zadrati lanove I2 i I3. Ukoliko sada eliminiramo lan I4, vidjeemo da moemo eliminirati lan I5, a zadrati lan I6, ime dobijamo nesvodljivu formu sastavljenu od lanova I2, I3 i I6 (koja je, zapravo, i minimalna). Meutim, ukoliko nakon eliminacije lana I1 odmah eliminiramo lan I6 (jer ni on ne pokriva nita to nije pokriveno ostalim lanovima), doli bismo do zakljuka da moramo sauvati sve preostale lanove I2, I3, I4 i I5, ime bismo dobili nesvodljivu formu koja nije minimalna! Jedina garancija za dobijanje zaista minimalne forme je formiranje svih moguih nesvodljivih pokrivanja i izbor najkraeg od njih. Sva mogua nesvodljiva pokrivanja mogue je odrediti recimo pomou maloas opisane algebarske metode. Na primjer, za prethodni primjer imamo:

= (I1 I2) (I1 I3) (I3 I4) (I2 I5) (I5 I6) (I4 I6) = ... = = I1 I3 I5 I6 I1 I2 I4 I6 I2 I3 I4 I5 I1 I4 I5 I2 I3 I6
Odavde vidimo da postoji ukupno 5 nesvodljivih pokrivanja, od kojih nije teko odabrati najmanja pokrivanja u ovom sluaju to su pokrivanja (I1, I4, I5) ili (I2, I3, I6). Meutim, kako u opem sluaju takvih pokrivanja moe biti zaista veoma mnogo (pogotovo kada izraz zavisi od mnogo promjenljivih), koriste se izvjesni intuitivni postupci. Na primjer, dobra je ideja uvijek birati lanove koje emo zadrati takvim redoslijedom tako da svaki novi lan pokriva to je god mogue vie do tada nepokrivenih kolona. Recimo, u gornjem primjeru, izaberemo li prvo lan I1, sljedei lan koji bi trebalo uzeti je I4, jer on prekriva dvije nove kolone, dok lanovi I2 i I3 pokrivaju samo jednu kolonu koja ve nije prekrivena lanom I1. Nakon izbora lanova I1 i I4, izbor lana I5 koji pokriva preostale dvije kolone je oigledan, ime smo dobili minimalnu nesvodljivu formu, koju ine lanovi I1, I4 i I5. Ipak, ni takva strategija ne mora uvijek garantirati optimalnost. Ovim je zavren opis Quineovog algoritma za minimizaciju logikih izraza. Ovaj algoritam je posve jasno formuliran i stoga je pogodan za programiranje na raunaru. E. J. McCluskey je predloio modifikaciju ovog algoritma, poznatu pod nazivom QuineMcCluskeyjev algoritam, u kojem se u prvom koraku lanovi koji se saimaju na pogodan nain numeriraju binarnim brojevima, ime se znatno dobija na preglednosti i olakava implementacija algoritma prilikom programiranja na raunaru (drugi korak, tj. traenje optimalnog pokrivanja, isti je kao kod obinog Quineovog algoritma). S obzirom da ovaj algoritam u sutini ne donosi nita novo u odnosu na izvorni Quineov algoritam, osim olakanog

11

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

predstavljanja lanova u raunarskom programu i neto veoj preglednosti pri runom raunanju (u smislu da se lake uoavaju lanovi koji se mogu saimati), njegov opis neemo navoditi. Quineov odnosno QuineMcCluskyjev algoritam je, pored tzv. Rothovog algoritma, jedan od najpodesnijih algoritama za minimizaciju logikih izraza za programiranje na raunaru. Meutim, svi spomenuti algoritmi su prilino glomazni i stoga nepodesni za runi rad, tako da je ve za npr. est promjenljivih gotovo nemogue runo provesti cijeli postupak, a da se pri tome nigdje ne napravi greka. Pored toga, duina postupka koji treba provesti eksponencijalno raste sa porastom broja promjenljivih (dodavanje svake nove promjenljive moe produiti postupak i do 4 puta). Naime, izraz koji zavisi od n promjenljivih oigledno moe imati do 2n mintermi u savrenoj disjunktivnoj normalnoj formi, dok se moe pokazati da broj prostih implikanti moe ii do oko 3n/n. Slijedi da za izraz koji zavisi od 10 promjenljivih tabela pokrivanja moe biti i formata recimo 5000 1000, to je prilino mnogo i za raunar (o runom radu nema ni govora). Za sluaj izraza sa vie od 1520 promjenljivih, ak ni upotreba raunara ne dolazi u obzir. Da bi se omoguila minimizacija izraza sa jo veim brojem promjenljivih, razvijeni su i razni heuristiki algoritmi, kao to je npr. Espresso algoritam (koji ovdje neemo opisivati), koji moe uspjeno raditi i sa veim brojem promjenljivih, ali ne garantira pronalaenje optimalnog rjeenja, ve samo rjeenja koje je dovoljno dobro (tj. koje nije previe loe). S druge strane, kako se u praktinim situacijama uglavnom susree potreba za minimizacijom izraza koje ovise od malog broja promjenljivih (recimo do 6), razvijene su i metode koje su znatno prilagoenije za runi rad i koje znatno bre vode rjeenju nego Quineov algoritam (mada se, u sutini, radi samo o preruenim verzijama Quineovog algoritma). To su grafo-analitike metode, zasnovane na predstavljanju logikih izraza pomou specijalnih tablica nazvanih Karnaughove mape ili Veitchovi dijagrami. Kako se radi o vanim ininjerskim metodama, bitnim za logiko projektiranje digitalnih sistema, a koje izlaze izvan okvira ovog kursa, zainteresiranima su ove metode ponuene u prilogu koji se nalazi uz ova predavanja (nije obavezno itati).

Shefferova i Pierceova operacija


U primjenama logike iskaza u digitalnoj tehnici od velikog su znaaja dvije dodatne logike operacije, koje se oznaavaju simbolima i , a koje se respektivno nazivaju Shefferova operacija i Pierceova operacija (ili operacija Lukasiewitza). Ove operacije su respektivno definirane kao negacija konjunkcije i negacija disjunkcije, odnosno X Y = XY ,
def

XY = XY

def

Napomenimo da se u literaturi Shefferova operacija esto oznaava i simbolom | , tako da se umjesto X Y esto pie samo X | Y. Meutim, ovdje neemo koristiti tu simboliku, s obzirom da se simbol | esto koristi i za druge svrhe, tako da postoji opasnost od zabune. Na primjer, u elementarnoj teoriji brojeva (koja je takoer grana diskretne matematike) simbol | oznaava relaciju biti djelilac od, dok se isti simbol u nekim programskim jezicima koristi za operaciju disjunkcije. Pored toga, simboli i posjeduju i vizualnu slinost sa simbolima i , tako da je lako zapamtiti da su u pitanju operacije izvedene iz konjunkcije i disjunkcije. Ve smo rekli da se svaki logiki izraz moe izraziti preko operacija konjunkcije, disjunkcije i negacije. U sutini su dovoljne samo negacija i konjunkcija, jer se disjunkcija moe izraziti preko ove dvije operacije koritenjem formule
XY = XY

Na slian nain zakljuujemo da su dovoljne samo negacija i disjunkcija, jer vrijedi formula
XY = X Y

tavie, svaki logiki izraz moe se zapravo izraziti pomou jedne jedine operacije, i to bilo pomou upravo definirane Shefferove operacije, bilo pomou Pierceove operacije. Stoga se ove operacije

12

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

nazivaju univerzalne logike operacije. Da bi dokazali ovu tvrdnju, dovoljno je pokazati da se konjunkcija, disjunkcija i negacija mogu izraziti preko Shefferove ili Pierceove operacije. I zaista, vrijede sljedea pravila (zagrade su neophodne, s obzirom da ove operacije nisu asocijativne):
X = X X = X X

X Y = X Y = X Y = (X X)(Y Y) X Y = X Y = X Y = (X Y)(X Y)
X = X X = X X

X Y = X Y = X Y = (X Y) (X Y) X Y = X Y = X Y = (X X) (Y Y) Ova injenica ima naroit znaaj u digitalnoj tehnici, jer omoguava da se svaki logiki digitalni sklop moe realizirati uz pomo samo jednog tipa elementarnog logikog sklopa (tzv. logikog kola). Naime, pri proizvodnji integriranih kola (ipova), tehnoloki je povoljnije imati vei broj logikih sklopova istog tipa nego manji broj logikih sklopova razliitog tipa. Svoenje proizvoljnog izraza na oblik u kojem se javljaju samo Shefferova ili Pierceova operacija u naelu se moe obaviti direktnom primjenom gore prikazanih formula, ali na taj nain se dobijaju mnogo glomazniji izrazi nego to bi mogli biti. Stoga se za tu svrhu koriste prikladniji postupci. Da bismo neki izraz izrazili samo pomou Shefferove operacije, najbolje je krenuti od njegove MDNF i izvriti njenu dvostruku negaciju. Na unutranju negaciju tada treba primijeniti De Morganova pravila, nakon ega se traena realizacija pomou Shefferove operacije jednostavno oitava. Da bismo izrazili isti izraz samo pomou Pierceove operacije, postupamo analogno, samo polazimo od MKNF umjesto od MDNF. Postupak je najbolje ilustrirati na konkretnom primjeru.

Primjer : Predstaviti logiki izraz ABC AC BD AC D C samo pomou Shefferove operacije, i samo pomou Piercove operacije.
Za izraavanje preko Shefferove operacije, najpogodnije je poi od MDNF datog izraza. MDNF ovog izraza moemo nai, recimo pomou Quineovog algoritma (uradite to sami) i on glasi:
AD BD C

Primjenom dvostruke negacije i elementarnih transformacija dobijamo:


AD BD C = A D BD C = AD BDC = (A (D D)) (B D) (C C)

Za izraavanje preko Pierceove operacije, prvo nam je potrebna MKNF ovog izraza, koja glasi (provjerite):
( B C D) ( A C D)

Primjenom dvostruke negacije i elementarnih transformacija dobijamo:


(B C D) (A C D) = (B C D) (A C D) = B C D A C D =

= (B C (D D)) (A C D) Ponekad se deava da je MDNF mnogo kraa od MKNF za isti izraz, ili obratno. Zbog toga su razvijeni postupci da se iz MDNF dobije realizacija pomou Pierceove operacije, odnosno iz MKNF realizacija pomou Shefferove operacije. Ideja postupka je da prvo negiramo izraz, zatim da realiziramo njegovu negaciju i na kraju da negiramo rezultat.

13

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Primjer : Predstaviti logiki izraz A D BD C pomou Pierceove operacije, bez njegovog prethodnog svoenja na MKNF.
Ukoliko negiramo ovaj izraz, a zatim na dobijenu negaciju primijenimo elementarne transformacije, moemo pisati:

A D BD C = A D BD C = (A D) (B D) C = (A D) (B D) C =

= A D B D C = ((A A) D) ((B B) (D D)) C Da bismo dobili realizaciju polaznog izraza preko Pierceove operacije, dovoljno je iskoristiti relaciju X = X X, ime dobijamo izraz (((A A) D) ((B B) (D D)) C) (((A A) D) ((B B) (D D)) C) Dobijeni izraz, dodue, jeste veoma glomazan, ali postoje brojne primjene u digitalnoj tehnici u kojima se upravo ovakva forma izraza pokazuje kao veoma pogodna. Naime, iako primjena posljednjeg koraka ovog postupka u kojem se negacija izraza X izraava kao X X praktino udvostruuje duinu izraza X, ovaj korak se pri praktinoj realizaciji logikih izraza u digitalnoj tehnici realizira upotrebom samo jednog logikog kola.

Baze iskazne algebre


Vidjeli smo da se svaki izraz logike iskaza moe predstaviti koristei samo operacije negacije, konjunkcije i disjunkcije, a da se po volji jedna od operacija konjunkcije ili disjunkcije (ali ne obje) moe izostaviti, a da se zadri mogunost predstavljanja proizvoljnog izraza logike iskaza. Skupovi operacija, takvi da se pomou njih moe formirati proizvoljan izraz logike iskaza, nazivaju se baze iskazne algebre. Na primjer, jedna od baza iskazne algebre je skup {, , }. Baza iskazne algebre naziva se elementarna baza (ili prosta baza) ukoliko se niti jedna od operacija iz baze ne moe izostaviti a da se zadri mogunost predstavljanja proizvoljnog izraza logike iskaza (ponegdje se u literaturi pod pojmom baze smatraju iskljuivo elementarne baze). Tako smo, na primjer, utvrdili da su skupovi {, } i {, } dvije mogue elementarne baze iskazne algebre. Dalje, kako smo vidjeli da se samo pomou Shefferove ili samo pomou Piercove operacije takoer moe predstaviti svaki izraz logike iskaza, to su i jednolani skupovi {} i {} takoer elementarne baze iskazne algebre. Postoji veliki broj elementarnih baza iskazne algebre, a ovdje emo navesti neke najinteresantnije. Operacije konjunkcije i ekskluzivne disjunkcije dovoljne su (bez negacije) za predstavljanje proizvoljnog izraza logike iskaza, ukoliko dozvolimo i upotrebu konstante T (koju moemo posmatrati i kao operaciju sa nula argumenata). Zaista, imamo X = X T, X Y = X Y XY

Odavde slijedi da skup {, , T } takoer ini jednu elementarnu bazu iskazne algebre, koja se naziva egalkinova baza. Na ovoj bazi zasniva se tzv. egalkinova algebra, sa kojom emo se informativno upoznati neto kasnije. Interesantna je injenica da je sama operacija implikacije dovoljna za predstavljanje proizvoljnog logikog izraza, ukoliko dozvolimo i upotrebu konstante , odnosno skup {, } ini jo jednu elementarnu bazu iskazne algebre. Zaista, imamo X = X XY = (X (Y )) X Y = (X ) Y

Odavde slijedi zanimljiva posljedica da je svaki izraz logike iskaza mogue zapisati u obliku u kojem se od operacija javlja samo implikacija (po cijenu da se dobije glomazan i posve nerazumljiv izraz). Na primjer, za izraz AB BC dobijamo (((A (B )) ) ) (((B ) (C )) )

14

Dr. eljko Juri: Diskretna matematika Radna skripta za kurs Diskretna matematika na Elektrotehnikom fakultetu u Sarajevu Materijal izvaen iz udbenika Diskretna matematika za studente tehnikih nauka

Predavanje 2. (akademska godina 2012/13)

Ovakva interpretacija logikih izraza je interesantna sa aspekta prouavanja logike iskaza kao formalne teorije, s obzirom da postoje stanovita da se cijela logika iskaza u osnovi zasniva na operaciji implikacije (koja formalizira proces donoenja zakljuaka). S druge strane, posmatrano sa praktinog aspekta, moemo primijetiti da je praktino nemogue utvrditi kakvu logiku injenicu iskazuje dobijeni izraz predstavljen samo pomou operacije implikacije. Jo jednu elementarnu bazu logike iskaza ini skup {, }, odnosno operacije implikacija i negacija. Ova baza se dosta koristi pri zasnivanju logike iskaza kao formalne teorije. Za vjebu sami pronaite kako se u ovoj bazi izraavaju operacije konjunkcije i disjunkcije (dobijaju se izrazi koji su znatno prostiji nego u bazi {, }). Postoji opi rezultat koji iskazuje potrebne i dovoljne uvjete da bi izabrani skup operacija predstavljao bazu iskazne algebre, poznat kao Postova teorema o funkcionalnoj kompletnosti logikih funkcija. Za izlaganje ovog rezultata, potrebno je uvesti nekoliko novih pojmova. Svakoj operaciji iskazne algebre moemo pridruiti njenu karakteristinu funkciju, iji su argumenti i vrijednosti iz skupa {T, }. Takve funkcije nazivaju se logike funkcije (zapravo se svakom izrazu iskazne algebre moe pridruiti odgovarajua logika funkcija). Na primjer, negaciji moemo pridruiti funkciju f jednog argumenta datu pravilima f () = T i f (T) = . Konjunkciji moemo pridruiti funkciju f dva argumenta datu pravilima f (, ) = f (, T ) = f ( T , ) = i f ( T , T ) = T , itd. Sada, za neku logiku operaciju, ija je karakteristina funkcija f (x1, x2, ..., xn), kaemo: da zadrava neistinu ukoliko vrijedi f (, , ... ) = ; da zadrava istinu ukoliko vrijedi f ( T, T, ... T) = T ; da je linearna ukoliko se moe napisati u obliku f (x1, x2, ...xn) = a0 a1x1 ... anxn gdje su a0, a1, ... an neke konstante iz skupa {, T }; da je samodualna ukoliko vrijedi f (x1, x2, ...xn) = f (x1, x2, ...xn); da je neopadajua (ili monotona) ukoliko iz xi xi slijedi f (x1, ...xi, ...xn) f (x1, ...xi, ...xn) za sve indekse i od 1 do n (pri emu se smatra da vrijedi < T ).

Nakon izlaganja ovih uvodnih pojmova, Postovu teoremu o funkcionalnoj kompletnosti logikih funkcija moemo iskazati na sljedei nain: Da bi neki skup logikih operacija predstavljao bazu iskazne algebre, potrebno je i dovoljno da se meu njima nalazi barem jedna operacija koja ne zadrava neistinu, barem jedna operacija koja ne zadrava istinu, barem jedna operacija koja nije linearna, barem jedna operacija koja nije samodualna i barem jedna operacija koja nije neopadajua. Na primjer, za sluaj klasinog skupa logikih operacija {, , }, konjunkcija zadrava neistinu i istinu i neopadajua je, ali nije linearna i nije samodualna, dok je negacija linearna i samodualna, ali ne zadrava niti neistinu niti istinu i nije neopadajua. Stoga su po Postovoj teoremi, konjunkcija i negacija dovoljne za predstavljanje proizvoljnog logikog izraza. U sluaju egalkinove baze imamo konjunkciju (koja nije linearna niti samodualna, ali je neopadajua i zadrava neistinu i istinu), kao i ekskluzivnu disjunkciju koja zadrava neistinu i linearna je, ali ne zadrava istinu, nije samodualna i nije neopadajua. Oigledno nam za ispunjenje uvjeta Postove teoreme nedostaje operacija koja ne zadrava neistinu. Takva je oigledno operacija konstanta T (operacija sa nula argumenata), koja oigledno ne zadrava neistinu (mada je linearna, samodualna, neopadajua i zadrava istinu). U sluaju Shefferove odnosno Pierceove operacije, svaka od njih ne zadrava niti neistinu niti istinu, nije linearna, nije samodualna i nije neopadajua, tako da je po Postovoj teoremi svaka od njih sama za sebe dovoljna za prikaz proizvoljnog logikog izraza. to se tie implikacije, ona ne zadrava neistinu, nije linearna, niti samodualna, niti neopadajua, ali zadrava istinu, tako da nam je potrebna jo neka operacija koja ne zadrava istinu. Za takvu operaciju moemo upotrijebiti recimo negaciju, ili trivijalnu operaciju izraenu konstantom .

15

You might also like