4 FUNCŢII BINARE 4. Algebra booleaă Î secolul al I-lea, matematcaul eglez George Boole (85-864) formalzează logca arstotelcă, bazată pe dhotoma adevărat-fals, sub forma ue algebre cuoscută sub umele de algebră Boole sau algebră booleaă. Estă ma multe modur î care poate f prezetată sstematc logca booleaă. Pe de o parte s-a îcercat folosrea uu umăr mm de aome: s-a reuşt char dezvoltarea algebre Boole pord de la o sgură aomă (foarte compleă ş etutvă). Pe de altă parte s-a îcercat folosrea uu umăr mm de fucţ logce de bază. Toate aceste soluţ sut îsă lmtatve d puct de vedere geresc, deoarece "realzarea cocretă a structurlor umerce este be sprjtă uma de u cadru teoretc flebl, î care dverstatea formelor de reprezetare este mult ma mportată decât rgdtatea ş austertatea performaţelor pur formale" ([Ştefa, ]). Î cele ce urmează am deft o algebră booleaă folosd postulatele lu Hutgto, u grup de afrmaţ propuse petru prma dată î 94 ([Mowle, 976]). O algebră booleaă este u asamblu M, +,, format d mulţmea suport M cu u umăr ft de elemete, operaţa bară SAU otată cu smbolul +, operaţa bară ŞI otată cu smbolul. ş o relaţe de echvaleţă ître elemetele mulţm M, otată cu smbolul, dacă sut îdeplte următoarele 6 postulate: P operaţle sut îchse:, M, + M ; M P petru fecare operaţe estă u elemet eutru: P M, esta M, a.. + M, esta M, a.. operaţle sut comutatve:, M, + + ;
54 4 FUNCŢII BINARE operaţle sut dstrbutve: ( z) ( + ) ( z) ( + z) ( ) + ( z),, z M, + + P5 petru fecare elemet M estă u elemet M : M, esta M, a.. + ; P6 estă cel puţ elemete dstcte î mulţmea M:, M, a.. Se poate uşor observa că fecare propozţe este eprmată pr două echvaleţe boolee. Ua se obţe d cealaltă pr terschmbarea operaţlor bare SAU cu ŞI ş a costatelor cu. Această propretate specală se umeşte dualtate. Prcpul dualtăţ este foarte mportat petru că odată ce am demostrat că o echvaleţă booleaă este adevărată, atuc ş echvaleţa duală este adevărată. Acest lucru se poate demostra pr aplcarea postulatelor de ma sus î ordea folostă petru demostraţa echvaleţe ţale. Î geeral, dualtatea este valablă petru orce propretate booleaă. Folosd postulatele lu Hutgto vom demostra o sere de teoreme fudametale: T Legle lu ş M, ; + Demostraţe: P P5 P P5 ( ) + ( ) + ( ) ( + ) S-a port d membrul stâg ş s-a trodus operaţa SAU (postulatul ); elemetul eutru astfel trodus este îlocut de (postulatul 5) î vederea aplcăr dstrbutvtăţ (postulatul 4); se elmă elemetul eutru petru operaţa SAU (postulatul ) ş se aplcă d ou postulatul 5. Petru demostrarea eprese duale se parcurge aceeaş secveţă de postulate, dar se folosesc epresle duale: T T P P5 P P5 ( + ) ( + ) ( + ) + ( ) + + Legle complemetulu Complemetul lu este, ar ; Complemetul lu este, ar. Demostraţe: P +, dec +. Dar +, dec. A doua relaţe se poate demostra pr dualtate. Legea de uctate a complemetulu Orce elemet M are u complemet uc, otat pr Demostraţe: Presupuem că elemetul are două complemete ş P5 ( ) ( + ) ( + ) ( + ) P5 P P5 + + P5 P ( + ) ( + ) + ( ) + P5
4. Algebra booleaă 55 T4 T5 Legle de dempoteţă M, + ; Demostraţe: P P5 P5 P ( + ) ( + ) ( + ) + ( ) + + A doua relaţe se poate demostra pr dualtate. Legle de absorbţe, M, + ; + Demostraţe: ( ) ( ) P T P ( ) ( ) + ( ) ( + ) + Demostraţa este smplfcată ac pr folosrea leglor lu ş (T ). A doua relaţe se poate demostra pr dualtate. T6 Legea de voluţe M, Demostraţe: P P5 P5 P + ( ) ( + ) ( + ) ( + ) ( ) P5 P ( + ) ( ) + ( ) ( ) + ( ) + + P P5 Pr substtuţe obţem următorul rezultat: +. Pe de altă parte, coform leglor de absorbţe (T5): +. Putem reuţa la parateze, dacă admtem precedeţa operaţe ŞI asupra lu SAU. Cocluza este că. T7 Legle de asocatvtate,, z M, + + z + ( ) ( + z) ; ( ) z ( z) Demostraţe: Notăm ( + ) + z U ş + ( + z) V. Se demostrează următoarele echvaleţe: U V U ş U V V. Pr propretatea de traztvtate a relaţe de echvaleţă rezultă U V. A doua relaţe se poate demostra pr dualtate. (( + ) + z) ( + ( + z) ) ((( + ) + z) ) + ((( + ) + z) ( + z) ) ( ( + ) + z) ( + z) ) + ( ( + ) + z) ) + (( + ) + z) )) + z,t4,t5 ( + (( + ) + z) z) + ( z) + +,T4,T5,T4,T5. Dec s-a arătat că U V V. (( + ) + z) ( + ( + z) ) (( + ) ( + ( + z) )) + ( z ( + ( + z) )) ( + ) ( + ( + z )) + z ( ( + ( + z ) + ( ( + ( + z ) ) + z,t4,t5 ( ( ( + ( + z) ) + ) + z ( + ) + z,t4,t5,t4,t5. Dec s-a arătat că U V U. Calculele efectuate ac folosesc multe parateze. Estă uele coveţ care dervă d reprezetărle algebrce uzuale ş care au rolul de a smplfca screrea epreslor boolee. Se obşueşte ca operaţa ŞI să abă precedeţă asupra operaţe SAU, ar ueor să fe char omsă î reprezetare. De eemplu, epresa + z. trebue terpretată ca fd ( ) ) + z
56 4 FUNCŢII BINARE T8 Legle lu De Morga, M, + ; + Demostraţe: T7, P5, P ( + ) ( ) ( ) + ( ) T7, P5, P P5, T ( + ) + ( ) ( + ) + + + Epresle + ş sut epres boolee, dec elemete d mulţmea M, ş se supu postulatulu 5. Dec prma lege, care poartă umele lu Augustus De Morga (86-87), a fost demostrată. Echvaleţa duală este ş ea adevărată. 4. Fucţ bare O fucţe bară cu trăr este o aplcaţe a mulţm {,} elemete {,} {,} {(... ) {, }, {, },..., {, }. Cardalul mulţm {,} î mulţmea formată d. Domeul de defţe al fucţe este mulţmea cofguraţlor bare de bţ: este. Numărul mam de fucţ bare dstcte care pot f geerate cu varable se poate stabl uşor: petru fecare dtre cele cofguraţ bare posble o fucţe are valorle sau ; dacă petru cofguraţ fucţa are valoarea, atuc petru celelalte are valoarea, ar umărul de fucţ dstcte este C. Cum umărul varază de la pâă la, umărul mam de fucţ bare N este: N C Se poate observa că petru estă 6 fucţ bare dstcte, care sut reprezetate pr tabelul de adevăr 4.. Tabelul 4. f f f f f 4 f 5 f 6 f 7 f 8 f 9 f f f f f 4 f 5 Fucţle f ş f 5 sut costate ş sut de fapt cele fucţ care pot f geerate cu varable. Ele se ma umesc fucţe ulară, respectv fucţe uară. Fucţa f este fucţa dettate petru varabla, ar fucţa f 5 este egaţa varable. Setul de fucţ f, f 5, f ş f 5 repreztă umărul mam de fucţ bare geerate cu varabla. Setul de fucţ f, f 5, f 9 ş f 6 repreztă acelaş lucru petru. Toate celelalte fucţ d tabel sut fucţ de două varable, varable otate ac cu ş. Ele se mplemetează cu ajutorul uor operator logc sau porţ logce. Estă deumr cosacrate petru cele ma mportate fucţ bare, precum ş reprezetăr grafce stadard. Tabelul d fgura 4. lustrează o parte dtre ele ([Mage, 987]).
4. Fucţ bare 57 Deumrea fucţe ş relaţa booleaă cojucţa f. 4 egarea cojucţe f. Deumrea crcutulu ŞI (AND) ŞI-NU (NAND) dsjucţa f + SAU (OR) 4 egarea dsjucţe SAU-NU (NOR) f + echvaleţa COINCIDENŢA f 7 (COMPARATOR) egarea echvaleţe SAU ECLUSIV f8 (OR) egaţa INVERSOR f5 ; f6 (NOT) Reprezetăr grafce stadard MIL-STD-86B CEI f 4 f f 4 f f 8 f 5 f 7 & & > > f 4 f f 4 f f 7 f 8 f 5 dettate f ; f9 NEINVERSOR (BUFFER) f f Fg. 4. Porţ logce care mplemetează fucţ bare Nu toate fucţle d tabelul 4. sut reprezetate î fgura de ma sus. Fucţa f, de eemplu, are valoarea logcă dacă ş. Fucţa se umeşte mplcaţe drectă, ar relaţa booleaă se scre f +. Crcutul logc u are o deumre cosacrată petru că el u poate f mplemetat cu o sgură poartă logcă. Epresa algebrcă arată că sut ecesare cel puţ două porţ: u versor ş o poartă SAU cu trăr. Fucţa f este mplcaţa versă, care se scre f +. Fucţa f are aceleaş valor cu coloaa varable, cu ecepţa cazulu, motv petru care se umeşte terdcţe, î sesul terzce. Ea este de fapt egaţa mplcaţe drecte. Fucţa f este terdcţa î sesul terzce ş egaţa mplcaţe verse. Ş petru mplemetarea terdcţlor sut ecesare cel puţ două porţ logce. Estă ma multe reprezetăr grafce stadard petru porţle logce. Tabelul d fgura 4. le preztă pe cele ma uzuale. Prmul stadard folost este stadardul mltar amerca MIL-STD-86B, care este îcă preferat de majortatea utlzatorlor, petru că este smplu ş sugestv. Celălalt stadard a fost stablt de Comsa Electrotehcă Iteraţoală(Commsso Électrotechque Iteratoale-CEI) ş are recuoaştere teraţoală la ora actuală. U stadard foarte apropat de acesta d urmă este stadardul amerca ANSI/IEEE STD 9-984.
58 4 FUNCŢII BINARE 4. Modur de reprezetare Fucţle bare se repreztă de obce pr tabele de adevăr, epres boolee, forme geometrce sau dagrame Vetch-Karaugh. Reprezetarea pr tabel de adevăr, cum este de eemplu tabelul 4., este cea ma smplă formă de reprezetare. Fecare varablă bară a fucţe are câte o coloaă, ar umărul mam de combaţ bare posble stableşte umărul de l d tabel. Valorle fucţe petru fecare d aceste combaţ bare sut trecute îtr-o coloaă separată. Dacă fucţa are îsă multe varable, atuc dmesule tabelulu pot deve mult prea mar. Epresa booleaă a ue fucţ bare poate f o formă caocă, o formă elemetară sau o formă eelemetară. O formă caocă este o eprese care coţe terme caoc, adcă terme care coţ toate varablele depedete ale fucţe, sub formă drectă sau egată. U terme caoc poate f de tp produs logc, ş se otează cu P, sau de tp sumă logcă, ş se otează cu S, ude varază de la la, dacă fucţa are varable. Forma caocă dsjuctvă a ue fucţ bare este formată d dsjucţa termelor P ş se scre sub forma f ( a cd P ), ude a este sau, î fucţe de abseţa sau prezeţa termeulu P d sumă. Îate de a eemplfca reprezetarea pr această formă caocă, vom euţa o teoremă, cuoscută sub umele de teorema de epasue booleaă: Dacă f :{,} {,} este o fucţe bară, atuc petru orce (... ) { }, se poate scre: f (,,..., ) f (,,..., ) + f (,,..., ). Demostraţa este evdetă: dacă, atuc f (,,..., ) ( ) f,,...,, ar dacă, atuc f (,,..., ) ( ) f,,...,. Eemplul 4. Fucţa de varable descrsă pr tabelul de adevăr de ma jos se poate scre: f (, ) (,) (,) (,) (, ) f + f + f + f. f(, ) f (, ). +. + P + P + P Σ (,, ) Fucţa are uma două varable, dec este scrsă ca o sumă logcă de terme caoc de tp produs. Idc termelor P sut pozţle d tabel petru care valorle fucţe sut logc, pozţ umerotate de la la, adcă. Idc se pot deduce ş d epresa algebrcă a fucţe, dacă luăm fecare terme caoc ş facem coversa î zecmal a umărulu bar obţut pr îlocurea varable egate cu ş a varable drecte cu, ţâd seama de ragul fecăre varable. Ac este pe pozţa btulu cel ma semfcatv, ar pe cea a btulu cel ma puţ semfcatv.
4. Modur de reprezetare 59 termelor Forma caocă cojuctvă a ue fucţ bare este formată d cojucţa S ş se scre sub forma f ( a + S ) cc prezeţa sau abseţa termeulu S d produs. Eemplul 4. Fucţa f (, ) d eemplul 4. deve f (, ) + S ( ) P, dec f ( ) +, ude a este sau, î fucţe de. Se vede medat că f,,, coform leglor lu De Morga. Rezultatul obţut este de fapt u terme caoc de tp sumă, uma că de această dată varabla egată se îlocueşte cu ş cea drectă cu. Iată u alt eemplu: f (,, ) ( + + ) ( + + ) ( + + ) S S,,. S ( ) Forma elemetară a ue fucţ bare coţe terme care u sut caoc. Formele elemetare pot f dsjuctve sau cojuctve. O fucţe poate f reprezetată î formă eelemetară dacă estă do sau ma mulţ terme care coţ aceeaş varablă. Eemplul 4. Fucţa de varable ( ),, forme elemetare dsjuctve, f (,, ) + + + f d eemplul ateror se poate reprezeta î două, îtr-o f,, + +, sau îtr-o formă f, + +. formă elemetară cojuctvă, ( ) ( ) ( ) eelemetară, ( ) ( ), Toate aceste forme algebrce se ma umesc ş forme ormale petru că sut alcătute d terme ormal, adcă terme î care c ua dtre varable u apare decât o sgură dată. U terme care u este ormal poate f redus îtotdeaua la u terme ormal, sau la o costată, pr folosrea postulatelor ş teoremelor algebre boolee. U terme caoc de tp produs se ma umeşte ş mterme petru că poate f deft ca terme produs care are valoarea logcă, petru o sgură combaţe bară a varablelor fucţe, sau altfel spus, petru o sgură le a tabelulu de adevăr. U terme caoc de tp sumă se ma umeşte ş materme petru că poate f deft ca terme sumă care are valoarea logcă, petru o sgură combaţe bară a varablelor fucţe, sau petru o sgură le a tabelulu de adevăr. Petru toate celelalte combaţ bare matermeul are valoarea logcă, dec ocupă cu această valoare umărul mam de combaţ posble petru o fucţe dfertă de costata. O fucţe bară de varable poate f reprezetată geometrc pe u cub - dmesoal. Fecare vârf al cubulu are aumte coordoate ş corespude uu terme caoc de tp produs. Vom por de la forma caocă dsjuctvă a fucţe ş vom marca cu mc sfere vârfurle corespuzătoare termelor caoc de tp produs. Fucţa poate f reprezetată prtr-u set de subcubur de dferte dmesu care acoperă î totaltate vârfurle marcate ale cubulu. Petru a vzualza uşor cubul î spaţul trdmesoal vom eemplfca reprezetarea geometrcă folosd o fucţe de varable. Fgura 4. lustrează f, d eemplele ateroare. reprezetarea fucţe ( ),
6 4 FUNCŢII BINARE Fg. 4. Reprezetarea geometrcă a fucţe bare f (, ), Eemplul 4.4 Fucţa de varable f ( ),, d eemplele ateroare se scre sub forma caocă dsjuctvă f ( ),, P + P + 4 P + 5 P + 6 P7. Vârfurle cubulu corespuzătoare mtermelor fucţe se marchează. Termeulu P ( ) î corespude orgea de coordoate, termeulu P 4 ( ) î corespude vârful de coordoate, ş aşa ma departe. Vârfurle cubulu sut subcubur -dmesoale ş fucţa este complet acopertă de toate cele 5 subcubur de dmesue :,,, ş. Orcare două vârfur alăturate ale cubulu sut legate prtr-o muche. Aceste latur formează subcubur -dmesoale ş fucţa este complet acopertă de toate cele 5 subcubur de dmesue :,,, ş. Smbolul arată că valoarea varable respectve u ma cotează. Coectarea odurlor ş duce la formarea subcubulu -dmesoal. Valorle ule ale varablelor ş sut cele care localzează mucha respectvă. Vârfurle de coordoate,, ş aparţ aceluaş pla, care formează u subcub -dmesoal:. Cele două subcubur ş formează o acoperre completă f,. a fucţe ( ), O fucţe bară f mplcă o altă fucţe bară g, dacă petru orce combaţe de varable petru care f, atuc ş g. Dec g petru toate combaţle bare de trare petru care ş f ş poate petru îcă alte câteva. Se ma spue că g îl clude pe f, sau că g îl acoperă pe f. U mplcat prm al ue fucţ bare este u terme produs care mplcă fucţa, dar elmarea orcăre varable d epresa lu face ca ceea ce rămâe să u ma mplce fucţa. Î reprezetarea geometrcă mplcatul prm este u subcub care u este clus îtr-u subcub de dmesue ma mare. Implcaţ prm d eemplul de ma sus sut subcuburle ş. U mplcat prm eseţal este u mplcat prm care coţe cel puţ u subcub -dmesoal, care î aparţe uma lu. Î eemplul cosderat subcuburle ş sut mplcaţ prm eseţal petru că subcubul î aparţe uma subcubulu, ar subcuburle, ş aparţ uma subcubulu.
4. Modur de reprezetare 6 Dagramele Vetch-Karaugh oferă o reprezetare grafcă foarte sugestvă a fucţe bare. O dagramă Vetch-Karaugh petru o fucţe bară de varable este u tablou care coţe compartmete, câte uul petru fecare d cele combaţ bare posble ale varablelor fucţe. Î terorul acestor compartmete se trec valorle fucţe, sau, petru fecare combaţe de varable. Fecare compartmet corespude de fapt ue l d tabelul de adevăr, sau uu mterme, sau uu vârf al cubulu -dmesoal. Î fgura 4. sut reprezetate două dagrame petru o fucţe de 4 varable. Ele sut aproape detce, dferă uma modul de reprezetare a varablelor care defesc lle ş coloaele tablourlor. Dagrama d stâga este o dagramă Vetch, ar cea d dreapta o dagramă Karaugh. Î cele ce urmează preferăm reprezetarea Vetch, care, odată ce sutem obşuţ cu ea, pare ma efcetă, dar vom păstra deumrea tradţoală de dagramă Vetch-Karaugh. Varablele pot f amplasate ş altfel, u eapărat aşa cum am făcut o î fgura 4.. Sgura codţe este ca două compartmete alăturate să fe defte de combaţ bare de varable care să fe adacete, adcă să dfere prtr-u sgur bt. Petru că tabloul are 4 l ş 4 coloae, două dtre cele 4 varable vor def lle, ar celelalte două coloaele. Secveţele care caracterzează lle ş coloaele sut,, ş, adcă umărarea î cod Gra. Observăm că la trecerea de la o cofguraţe la alta se modfcă u sgur bt. Î acest fel, două compartmete vece sut adacete, clusv coloaa d stâga cu cea d dreapta ş râdul de sus cu cel de jos. Petru u umăr ma mare de varable u se ma pot vzualza î pla compartmetele adacete. O soluţe este reprezetarea î dmesu a dagramelor. Astfel, petru fucţ de 5 varable vom avea două dagrame ca cele de ma sus, dspuse î două plae adacete, î total de compartmete. Petru fucţ de 6 varable se pot maga patru plae smlare, defte de secveţele î cod Gra ale celor două varable o, dar petru u umăr ş ma mare de varable u se ma poate face reprezetarea fucţe. Fgura 4.4 eemplfcă reprezetarea fucţe de varable d eemplele ateroare. P P P P P 4 P 5 P 7 P 6 P P P 5 P 4 P 8 P 9 P P P P P P P 4 P 5 P 7 P 6 P P P 5 P 4 P 8 P 9 P P Vetch Karaugh Fg. 4. Dagrama Vetch ş dagrama Karaugh petru o fucţe de 4 varable P P P 6 P 4 P P P 7 P 5 Fg. 4.4 Dagrama Vetch petru fucţa (, ) f, +
6 4 FUNCŢII BINARE 4.4 Metode de mmzare Este ormal ca mplemetarea cu porţ logce a ue fucţ bare să se facă pord de la o epree booleaă cât ma smplă, care se umeşte forma mmă a fucţe. Estă ma multe metode de mmzare care pot f utlzate de proectat: mmzarea algebrcă, mmzarea cu dagrame Vetch-Karaugh, metoda Que-McCluske, metoda cosesurlor sau metoda ESPRESSO. Mmzarea algebrcă presupue aplcarea drectă a postulatelor ş teoremelor algebre boolee. Efceţa metode depde de abltatea ş epereţa celu care o utlzează. Nu este recomadată petru că, î lpsa ue formalzăr sufcete, mc u garatează găsrea forme mme a fucţe. Mmzarea cu dagrame Vetch-Karaugh oferă o covergeţă ma sgură către o soluţe mmală. Este optmă petru mmzarea mauală a fucţlor cu umăr redus de varable petru că permte vzualzarea grafcă a mplcaţlor prm ş găsrea medată a ue acoperr coveable. Algortmul de etragere a forme mme presupue parcurgerea următoarelor etape:. stablrea umărulu mm de suprafeţe dreptughulare de are mamă formate dtr-u umăr de compartmete egal cu o putere a lu, care coţ logc. screrea produselor logce asocate fecăre suprafeţe evdeţate la puctul. sumarea logcă a produselor. Îate de a eemplfca această metodă vom redef o sere de oţu, î cocordaţă cu reprezetarea lor pe dagrama Vetch-Karaugh. O grupare de compartmete care u poate f clusă îtr-o grupare ma mare formează u mplcat prm. U mplcat prm care coţe cel puţ u compartmet care u tră î compoeţa altu mplcat prm este u mplcat prm eseţal. Mulţmea mplcaţlor prm eseţal formează ucleul fucţe. Forma mmă a fucţe coţe ucleul ş evetual o parte d mplcaţ prm eeseţal, adcă mplcaţ prm care u sut eseţal, astfel îcât toate compartmetele care coţ valoarea logcă să fe acoperte. Eemplul 4.5 Fucţa reprezetată pe dagrama Vetch-Karaugh d fgura 4.5 are două forme mme perfect echvalete: f ( ) + + +,,, + + +. 4 4 ucleul:, mplcaţ prm eeseţal:,,, Fg. 4.5 Lsta mplcaţlor prm petru fucţa dată
4.4 Metode de mmzare 6 Petru a evalua comparatv dverse forme mme s-a trodus u crteru global de mmzare, care are î vedere atât umărul de porţ logce cât ş umărul total de trăr foloste, fără a ma lua î calcul ş versoarele. Cele două reprezetăr de ma sus folosesc 5 porţ (4 porţ ŞI ş o poartă SAU) cu u umăr total de 5 trăr. Pr complemetarea dagrame de ma sus, sau altfel spus, pr gruparea compartmetelor care coţ valoarea logcă, obţem complemetul fucţe f, adcă: f (,,, ) + + +. Epresa fucţe f deve: f (,,, ) ( + + ) ( + + ) ( + + ) ( + + ) pr folosrea de două or a leglor lu De Morga. Costul este acum de 5 porţ ş 6 trăr, dec c u avataj faţă de reprezetarea ateroară. Să cosderăm acum u alt eemplu d care vom vedea că gruparea compartmetelor care coţ valoarea logcă ar putea f ueor avatajoasă: Eemplul 4.6 Să cosderăm fucţa reprezetată pe dagrama d fgura 4.6. Forma mmă obţută pr gruparea compartmetelor care coţ logc este dată î fgură. Costul aceste reprezetăr este de 4 porţ ş trăr. Dacă evaluăm complemetul fucţe f: f (,,, ) + +, dec f (,,, ) ( + + ) ( + + ), obţem u cost de porţ ş 9 trăr, u avataj substaţal faţă de soluţa ateroară. Î fgura 4.7 sut prezetate două mplemetăr dferte ale fucţe f (,,, ). Prma soluţe foloseşte ecuaţa forme mme de ma sus, ar cealaltă foloseşte epresa (,,, ) + + + + + f +, care se obţe d precedeta, pr aplcarea leglor lu De Morga. Folosrea porţlor de acelaş fel este u avataj. f (,,, ) + + Fg. 4.6 Mmzarea fucţe reprezetate pe dagramă f f Fg. 4.7 Două soluţ de mplemetare a fucţe f (,, ), 4
64 4 FUNCŢII BINARE Fg. 4.8 Mmzarea fucţlor complet specfcate Fucţle complet specfcate sut fucţ bare ale căror valor logce sut dferete petru o parte d combaţle varablelor de trare. Astfel de stuaţ apar atuc câd sutem sgur că aumte cofguraţ bare u se aplcă codată pe trăr, sau dacă se aplcă, atuc valoarea respectvă a eşr u este cttă. Valoarea logcă a fucţe petru aceste cofguraţ bare u cotează, fd otată cu smbolul, umt "do't care". "Lbertatea dobâdtă pr esteţa uor eşr de tp do't care va trebu fructfcată petru a optmza structura crcutulu. La velul ostru de abordare, a optmza îseamă a mmza" ([Ştefa, ]). Eemplul 4.7 Să cosderăm fucţa reprezetată pe dagrama d fgura 4.8. Orce smbol d terorul orcăru compartmet poate f îlocut fe cu valoarea logcă, fe cu valoarea logcă, după cum e cove, astfel ca epresa algebrcă a fucţe să fe cât ma smplă. Dacă grupăm compartmetele care coţ logc, atuc e cove să facem grupărle ca î fgura d stâga, adcă compartmetele coloae d dreapta să coţă, ar toate celelalte să coţă logc. Epresa fucţe deve: f (,,, ) +. Dacă evaluăm complemetul e cove ca toate compartmetele să coţă valoarea f,, + + f,,. logcă ş se obţe: (, 4) 4, sau (, 4 ) 4 Dagramele codesate, umte ş dagrame cu fucţ cluse, au fost cocepute petru mmzarea uor fucţ cu umăr ma mare de varable. Compartmetele lor u vor coţe uma valorle logce, sau, c ş epres boolee. O fucţe de varable poate f reprezetată pe o dagramă de -m varable, avâd ş mterme de m varable. Eemplul 4.8 Să cosderăm fucţa f (,, ) + +, reprezetată pe dagrama d fgura 4.9. Varabla se troduce î dagramă, observâd că petru, fucţa capătă valoarea logcă complemetară varable, dec f etc. Fg. 4.9 Codesarea dagrame Vetch - Karaugh
4.4 Metode de mmzare 65... Fg. 4. Descompuerea dagrame codesate }+ Ma dfclă este descompuerea ue dagrame codesate. Deseul d fgura 4. lustrează modul î care se face descompuerea dagrame d eemplul precedet. Algortmul folost petru această operaţe presupue parcurgerea următoarelor etape:. îtr-u compartmet care coţe o varablă sau o eprese booleaă se trece, î celelalte compartmete smlare se trece, compartmetele care coţ îş păstrează valoarea, ar cele care coţ capătă valoarea (do't care). Compartmetele care coţ smbolul u se modfcă. Se mmzează fucţa reprezetată î dagramă ş varabla sau epresa booleaă se aplcă pr operatorul logc ŞI forme mme a fucţe.. se repetă puctul petru toate compartmetele care coţ varable sau epres boolee.. î toate compartmetele care coţ varable sau epres boolee se trece, ar compartmetele care coţeau sau îş păstrează valorle. Compartmetele care coţ smbolul u se modfcă. 4. se aplcă operatorul SAU epreslor termedare obţute la puctele, ş. Eemplul 4.9 Deseul d fgura 4. arată cum se face descompuerea dagrame codesate, petru fucţa de 7 varable, reprezetată pr dagrama codesată de 4 varable:. 5 5 6 7. 6. 7 f.. 5 +.. 6. 7 +.. Fg. 4. Descompuerea ue dagrame codesate
66 4 FUNCŢII BINARE Metoda Que-McCluske permte mmzarea ue fucţ cu umăr ma mare de varable ş are avatajul ue formalzăr mame, care permte o mplemetare uşoară a algortmulu de mmzare îtr-u program de calculator. Vom troduce petru îceput oţuea de podere a uu umăr bar. Poderea umărulu bar este u umăr zecmal otat cu w(), care este egal cu umărul de bţ de valoare d reprezetarea bară a umărulu. Eemplul 4. Poderea umărulu bar este w(). Se poreşte de la forma caocă dsjuctvă a fucţe bare, ar algortmul folost petru găsrea forme mme presupue parcurgerea următoarelor etape:. se face coversa d zecmal î bar a dclor mtermelor fucţe bare. se împart umerele bare care repreztă dc mtermelor î grupur, după poderea fecăru dce, î ses crescător al poderlor; grupurle se separă ître ele pr l orzotale ş rezultă tabelul. se compară fecare umăr bar d grupul de podere cu fecare umăr bar d grupul de podere +, petru toate grupurle. Două umere bare formează o ouă grupare dacă dferă prtr-u sgur bt de acelaş rag. Gruparea ouă se trece î tabelul 4. de fecare dată câd poderea de la puctul creşte cu o utate, se trage o le orzotală î tabelul. După completarea tabelulu, se repetă comparaţle de la puctul, petru elemetele d tabel ş rezultă tabelul, ş aşa ma departe 5. câd se ajuge la u tabel care coţe u sgur umăr bar, atuc termeul corespuzător este u mplcat prm al fucţe. Celalţ mplcaţ prm se găsesc căutâd î toate tabelele costrute terme care u au fost folosţ î comparaţ. Eemplul 4. Să mmzăm fucţa f (,, ) + + + + + P 7 + + P + P + P + P pr metoda Que-McCluske. Prma coloaă a tabelulu coţe dc zecmal a mtermelor fucţe, grupaţ î ordea crescătoare a poderlor acestora, coloaa d mjloc coţe reprezetărle bare ale dclor, ar cea d dreapta epresle algebrce ale mtermelor. I ( ) I 4 7 P I Tabelul Petru costrucţa tabelulu, observăm că termeul de dce poate f grupat cu termeul de dce, rezultâd reprezetarea:, o screre echvaletă a relaţe: +. Petru a reţe terme care au fost comparaţ, termeul de dce se marchează î partea stâgă, ar cel de dce î dreapta.
4.4 Metode de mmzare 67 Grupărle rezultate pr comparaţ se trec î tabelul. După completarea tabelulu se repetă comparaţle ş rezultă tabelul, u tabel cu o sgură le, dec e oprm. Forma mmă a fucţe este dsjucţa termelor produs d toate tabelele costrute, care u au f, + +. fost folosţ î comparaţ: ( ), (-) - (-) - (-4) - (-) - (-) - (-7) - Tabelul (---) --. Tabelul Toţ mplcaţ prm d epresa mmă a fucţe f sut eseţal ş fucţa are o formă mmă dsjuctvă ucă. Este posbl îsă ca o fucţe să abă ma multe reprezetăr mme. Eemplul 4. Să mmzăm fucţa f (,,, ) P5 + P + P + P9 + P8 + P7 + P6 + + P + P Putem smplfca tabelele costrute dacă reuţăm la coloaa care coţe epresle algebrce ale mtermelor. (-8) - (-4) - (8-) - 8 (8-9) - 4 (4-) - (4-6) - 9 (9-) - 6 (6-7) - (-) - (-7) - 7 (-5) - 5 Tabelul (7-5) - Tabelul (-8-) -- (-4-) (--5) -- (-7-5) Tabelul f se poate scre ca dsjucţa mplcaţlor prm: f + + + + + dar u este î formă mmă Î tabelul u se ma pot face comparaţ, dec e oprm cu costrucţa tabelelor. Căutăm î toate tabelele costrute terme care u sut marcaţ ş care sut mplcaţ prm a fucţe. Dsjucţa lor u este forma mmă a fucţe, petru că o parte d e sut eeseţal. Trebue să găsm dsjucţa umărulu mm de mplcaţ prm care să ofere o acoperre completă a fucţe, dsjucţe umtă ş sumă eredudată. Î acest scop se costrueşte u tabel al mplcaţlor prm, reprezetat î fgura 4.. Implcaţ prm defesc lle tabelulu, ar mterme fucţe defesc coloaele. Dacă u mterme este clus îtr-u mplcat prm, atuc compartmetul de la tersecţa coloae ş le respectve se marchează. Petru a determa ucleul fucţe, se parcurg coloaele tabelulu de la stâga la dreapta. Dacă estă u sgur marcaj pe coloaă, atuc mplcatul cărua î corespude marcajul este eseţal.
68 4 FUNCŢII BINARE Mterme P 5 P P P 9 P 8 P 7 P 6 P 4 P P Implcaţ prm 4 4 4 4 Fg. 4. Tabelul mplcaţlor prm Se poate observa ac că mplcaţ prm eseţal sut ş 4 4 (prmele două coloae, de eemplu). Fecare le d tabel care corespude uu mplcat prm eseţal se "tae" cu o le (lle puctate orzotale), ş fecare coloaă care coţe u marcaj ce se află pe lle "tăate", se "tae" la râdul e cu o le vertcală. Marcajele rămase "etăate" (îcercute ac) corespud mplcaţlor care formează mulţmea sumelor eredudate. O sumă eredudată trebue să coţă u sgur mplcat petru fecare coloaă rămasă "etăată". Rezultă că fucţa d eemplul cosderat are 4 forme mme echvalete: f + + + + + + + + + + + +. 4 4 4 4 4 4 4 4 Metoda cosesurlor are uele avataje faţă de metoda Que-McCluske deoarece permte reprezetarea fucţe îtr-o formă elemetară dsjuctvă, u eapărat caocă, ş asgură reducerea dmesulor lstelor de terme prelucraţ ([Pop, 986]). Cosesul a do terme produs, care coţ aceeaş varablă, varablă care este complemetată îtr-uul dtre e ş ecomplemetată î celălalt, se obţe pr îlăturarea varable respectve ş efectuarea produsulu logc al celorlalte varable rămase î ce do terme produs. Eemplul 4. Cosesul termelor ş 5 ş este. este 4 5, ar cosesul termelor Algortmul folost petru găsrea forme mme pr metoda cosesurlor presupue parcurgerea următoarelor etape:. se stablesc perechle de terme petru care estă coses ş se adaugă cosesurle termelor la forma elemetară dsjuctvă a fucţe. se elmă terme care sut acoperţ de alţ terme care se găsesc î epresa dsjuctvă a fucţe. se repetă puctele ş pâă câd u se ma pot forma cosesur, sau toate cosesurle care se pot forma sut acoperte de terme deja esteţ.
. 4.4 Metode de mmzare 69 Eemplul 4.4 Fucţa de 4 varable dată pr următoarea formă dsjuctvă se poate trasforma î felul următor: ( ) f,,, + + + + 4 4 4 4 4 4 + + + + + + două or legle de absorbţe obţem: ( ) f,,, +. Aplcâd de +. Se ma poate geera u coses ş epresa fucţe deve f + + +, sau după absorbţe: f + + + +. Aceasta este forma mmă a fucţe date. Metoda ESPRESSO este folostă ma ales î cazul fucţlor cu umăr foarte mare de varable. Ea foloseşte o stratege eurstcă bazată pe apromaţe, care evtă costrucţa lstelor de terme ş mmzează tmpul de calcul ([Hll, 99]). "Dacă tmpul î care este găstă o soluţe optmă u cotează, atuc estă îtotdeaua o cale de a o obţe. Dar, aproape îtotdeaua, tmpul cotează. Degeaba ştm să facem u lucru dacă u ajugem la soluţe î tmp utl. Acesta este motvul petru care ueor e mulţumm ş cu soluţ uma parţal optmzate" ([Ştefa, ]). Metoda ESPRESSO se aplcă repettv ş geerează de fecare dată epres boolee dsjuctve ma smple decât precedetele lor. Fără a garata forma mmă absolută, metoda oferă rezultate comparable cu cele obţute pr metoda Que-McCluske. Algortmul folost petru mmzarea fucţe F presupue parcurgerea următoarelor etape:. se aplcă procedura EPAND fucţlor F ş F, rezultatul fd epresa redusă a fucţe F, otată cu F *.. se aplcă procedura IRREDUNDANT epreslor F * ş, rezultâd o ouă eprese redusă otată tot cu F *.. Se aplcă procedura ESSENTIAL_PRIMES eprese F *, ar rezultatul este epresa E. 4. Rezultatul procedur ateroare se otează cu D ş se elmă d epresa F *, ar rezultatul este otat tot cu F *. 5. Se aplcă procedura REDUCE eprese otate cu F * ş eprese D, ar rezultatul este otat cu F *. 6. Se aplcă procedura EPAND fucţlor F * ş F, ar rezultatul se otează cu F *. 7. Se aplcă procedura IRREDUNDANT epreslor F * ş D, rezultâd o ouă eprese redusă otată cu F *. 8. Dacă epresa redusă F * este ma smplă decât cea folostă la pasul 5, atuc se rea de la pasul 5; î caz cotrar, se troduce o "perturbaţe" petru a scoate procesul dtr-u evetual mm local. Dacă se reuşeşte acest lucru, atuc se rea * de la pasul 5; î caz cotrar, forma mmă a fucţe este F F + E.
7 4 FUNCŢII BINARE Eemplul 4.5 Cosderăm fucţa de 4 varable F + + +. Procedura EPAND îlocueşte fecare terme d epresa fucţe F cu u set alcătut d toţ terme dstcţ care formează o acoperre de rag medat superor ş care u tersectează pe F. Deseul d fgura 4. eemplfcă acţuea procedur asupra prmulu terme d epresa fucţe. Sut date ş reprezetărle echvalete î dagrame Vetch-Karaugh, petru a avea o mage grafcă a termelor epadaţ. F + + + + + + + + + Complemetul ( 4) ( ) ( 4) ( 4) ( ) ( ) + + + + +. + + + + 4 4 4 4 4 Prmul terme care formează o acoperre de rag medat superor lu 4 este 4. Petru a vedea dacă acest terme îl tersectează sau u pe F facem u calcul + + + + + algebrc uşor: F ( ) ( ) 4 4 4 4 4 4 4 + 4 + + + +. Dec acest terme îl tersectează pe F ş pr urmare este marcat pe deseul d fgura 4. cu u astersc. Procedăm la fel ş cu celalţ terme ş obţem epresa redusă a fucţe F, otată cu F * : F * + + +. Procedura IRREDUNDANT îcearcă să găsească o sumă logcă eredudată, adcă să elme terme redudaţ d epresa dsjuctvă a fucţe F *. Este formată d tre subprocedur care se aplcă cosecutv: REDUNDANT, PARTIALLY_REDUNDANT ş MINIMAL_COVER. Subprocedura REDUNDANT separă toţ mplcaţ prm care ar putea f redudaţ de ce care sut relatv eseţal. U mplcat prm este relatv eseţal faţă de o aumtă eprese, dacă ş uma dacă petru acele valor ale varablelor petru care el are valoarea logcă, epresa care u coţe mplcatul respectv este dfertă de. * * * * * * * - tersectează F Fg. 4. Eemplfcarea procedur EPAND
4.4 Metode de mmzare 7 De eemplu, termeul 4 este relatv eseţal petru fucţa F * stabltă ma sus, deoarece petru, ş termeul 4, ar epresa fucţe d care se elmă termeul 4 deve:, evdet dfertă de. Se observă că toţ mplcaţ d epresa lu F * sut relatv eseţal, dec epresa lu F * u se modfcă: F * + + +. Celelate două subprocedur vor f dscutate la sfârştul acestu eemplu, dar, î acest caz, c ele u modfcă epresa lu F *. Procedura ESSENTIAL_PRIMES stableşte care sut mplcaţ prm eseţal. Î lpsa lste de mterme, u mplcat prm este eseţal dacă u este acopert î totaltate de orce alt set de mplcaţ prm a fucţe F, dferet dacă aceşta sut sau u cluş î F *. Acoperrea uu mplcat de către alţ mplcaţ prm poate f găstă d cosesul lu cu fecare d terme d F *. Petru că u îtotdeaua se pot face cosesur, vom avea î vedere u coses geeralzat. Cosesul geeralzat a do terme produs repreztă o are acopertă de fecare dtre ce do terme. De eemplu, cosesul lu 4 cu este 4, adcă mtermeul acopert de fecare dtre ce do terme. Tabelul d fgura 4.4 arată cum se face detfcarea mplcaţlor prm eseţal folosd cosesurle geeralzate. Dacă suma cosesurlor pe coloae acoperă termeul de pe la respectvă, atuc acesta u este eseţal. Compartmetele marcate dcă faptul că respectvele cosesur geeralzate sut detce cu terme respectv a eprese F * ş ele u se au î calculul sumelor cosesurlor pe coloae. Petru o ma buă îţelegere, se recomadă o vzualzare a mplcaţlor prm folosd echvaletul grafc al dagrame Vetch-Karaugh. Suma mplcaţlor prm eseţal este: E +, ar oua eprese a lu F * * * deve: F F E + 4. C Σ j C j ( Σ) Eseţal C Nu Da ( + ) ( + ) Da Nu Da Nu Nu Da Fg. 4.4 Idetfcarea mplcaţlor eseţal pr cosesur
7 4 FUNCŢII BINARE Procedura REDUCE îcearcă să mcşoreze acoperrea fecăru mplcat d F *, fără a modfca fucţa F *. Petru fecare coses otat cu c, epresa * * F F c + D acoperă F * pr alţ mplcaţ. Procedura îlocueşte cosesul () ( ) c cu c F () *, o porţue d c care este acopertă uma de c. Petru cosesul F + + + *, vom scre: ( ) ( ) * + +. ( ) * ( ) F( ) + + + + + 4 4 4 F + + + + +. 4 4 4 4 4 4 petru celălalt coses 4 ş obţem oua formă a eprese F * : F * 4 + 4. Se repetă calculele ş Procedura EPAND foloseşte tot complemetul lu F stablt la îceput ş se obţe: F * + + 4 4. Prmele două subprocedur ale procedur IRREDUNDANT folosesc fucţa "do't care" D ca parametru. De data aceasta, la epresa lu F * d subprocedura REDUNDANT se adaugă ş epresa lu D. Observăm că c uul d mplcaţ prm u este relatv eseţal, dec: F * + + 4 4. Subprocedura PARTIALLY_REDUNDANT stableşte care sut mplcaţ acoperţ de epresa D + RE petru a f declaraţ total redudaţ ş elmaţ. RE este suma mplcaţlor relatv eseţal. Implcaţ d F * care u sut c relatv eseţal ş c total redudaţ se umesc parţal redudaţ ş formează epresa R p : Rp + + Subprocedura MINIMAL_COVER caută u set mm de mplcaţ d R p care acoperă epresa eacopertă de RE ş setul D. Petru fecare mplcat c d R p va esta o sumă de mplcaţ G c, astfel îcât epresa ( Rp Gc) + D+ RE va acoper mplcatul c dacă ş uma dacă u mplcat este elmat d G c. Rezultă că F *, ş forma mmă a fucţe este: F 4 + 4 + 4 Verfcaţ cu ajutorul altor metode de mmzare ma smple că aceasta este îtr-adevăr forma mmă a fucţe de la care am port.
Probleme 7 Probleme 4. Să se demostreze pr cel puţ două metode următoarea echvaleţă booleaă: + z + z + z 4. Folosd aomele ş teoremele algebre boolee, să se verfce următoarele echvaleţe: ( + ) ( + ) + + + ( + ) ( + z) ( + z) + z + z ( + ) ( + ) ( + ) + z + z + z + z + z + z ( + ) ( + z) z + 4. Se dă fucţa de varable descrsă pr tabelul de adevăr d fgura de ma jos. Să se mmzeze algebrc ş apo folosd dagrama Vetch-Karaugh ş să se mplemeteze îtr-o varată cu tmp de propagare mm. A B C f A B C f 4.4 Să se mplemeteze fucţa SAU-ECLUSIV folosd uma porţ ŞI-NU cu trăr. Să se repete mplemetarea, folosd uma porţ ŞI-SAU-NU. Comparaţ cele două soluţ d puct de vedere al umărulu de crcute tegrate ş al tmpulu de propagare. 4.5 O compae doreşte să agajeze persoal î dferte compartmete. Petru a f admş, caddaţ trebue să îdeplească cel puţ ua d următoarele codţ: a) să fe bărbat, ecăsătort, cu stud superoare; b) să fe ecăsătort(ă), cu stud ş să abă vârsta sub a; c) să fe femee, ecăsătortă ş fără stud superoare; d) să fe bărbat, cu vârsta sub a; e) să fe ecăsătort(ă), cu vârsta peste a. Să se proecteze u crcut petru selecţa automată a caddaţlor. 4.6 Să se mmzeze următoarea fucţe bară folosd metoda Que-McCluske ş să se verfce pr metoda dagramelor Vetch-Karaugh: f P + + + + + + + + + P P P5 P7 P8 P P P P5
74 4 FUNCŢII BINARE 4.7 Folosd uma teorema cosesurlor, clusv formularea duală, să se mmzeze următoarele epres: A B C + A B D + B C D + A C D + A C D ( A + B) ( A + C) ( A + D) ( B + C) ( B + D) ( C + D) ([Wlkso, ]) 4.8 Se dă fucţa: f P + P7 + P8 + P9 +, cu terme redudaţ P, P 4, P, P ş P 5. Se cere: a) mmzare cu ajutorul dagrame Vetch-Karaugh; b) să se mplemeteze cu umăr mm de porţ ŞI-NU cu două trăr; c) să se mplemeteze cu umăr mm de porţ SAU-NU cu două trăr. ([Mureşa, 996]) 4.9 Arătaţ că o poartă AND cu trăr poate f îlocută cu - porţ AND cu câte trăr. Se poate afrma acelaş lucru ş despre porţle NAND? ([Wakerl, 99]) 4. Să se îlocuască crcutul d fgură cu u crcut echvalet ma smplu: A B C D f E ([Wlkso, ]) 4. a) Dacă f A + B, f este o poartă ŞI, ar Z A petru crcutul d fgura de ma jos, atuc este f uc determată? b) Dacă Z A atuc puteţ găs o fucţe f care depde de ambele trăr ş permte ca f să fe uc determată? A B f f f Z ([Fredma, 986]) 4. Presupuem că trasferul datelor îtr-u sstem umerc se face pe 4 bţ, prm fd bţ de date, ar ultmul, bt de partate (dcă dacă s-a trasms u umăr par de bţ de, de eemplu, petru formaţa rezultă cuvâtul ). Proectaţ u crcut NAND pe două vele care semalzează o eroare de bt. ([Fredma, 986])