Sunteți pe pagina 1din 5

Platformdeelearningicurriculecontent pentrunvmntulsuperiortehnic

ProiectareaLogic

05.Sintezacircuitelorcombinaionale

SINTEZA CIRCUITELOR COMBINAIONALE

Minimizarea logic exact

Minimizarea logic exact vizeaz rezolvarea gsirii unei acoperiri minimale. Este considerat o problema clasic n teoria funciilor binare de variabile discrete i primul rezultat remarcabil n gsirea unei acoperiri minime a fost formulat de Quine i McCluskey. Soluia problemei, aa cum a fost formulat de autori, se bazeaz pe teorema lui Quine, teorem care delimiteaz spaiul cutrilor soluiei optime.
Teorema Quine Exist o acoperire minim care este prim. Se consider o acoperire minim care nu este alctuit din Demonstraie implicani primi. Fiecare implicant care nu este prim poate fi nlocuit printr-un implicant prim care-l conine. Astfel, mulimea rezultat de implicani este o acoperire i are aceeai cardinalitate ca i acoperirea iniial. n consecin, exist o acoperire minim care este alctuit doar din implicani primi.

Teorema Quine permite limitarea cutrii unei acoperiri minimale la acele acoperiri care constau exclusiv din implicani primi. Se remarc faptul ca teorema se poate generaliza pentru a manevra definiii mai largi ale acoperirii minime, unde costul unui implicant este ntotdeauna mai mic sau egal cu costul unui implicant pe care-l conine. Teorema se aplic, spre exemplu, cazului de minimizare al numrului literalilor pentru funciile scalare (cu o singur ieire). E. McCluskey a formulat cutarea unei acoperiri minime ca o problema de acoperire ntr-un tabel de implicani primi. Se va aborda aceasta formulare considernd funcii scalare complet definite. Un tabel de implicani primi este, n fapt, o matrice binar A ale crei coloane sunt n coresponden biunivoc cu implicanii primi ai funciei f, iar rndurile sunt n coresponden biunivoc cu mintermii funciei. Un element ai,jA este 1 dac i numai dac cel de-al j-lea prim acoper (conine) cel de-al i-lea minterm. O acoperire minim este o mulime minim de coloane care acoper toate liniile, sau echivalent: o mulime minim de primi ce acoper (conin) toi mintermii funciei. Se poate observa c: Problema acoperirii poate fi vzut ca fiind problema gsirii unui vector binar x reprezentnd o mulime de implicani primi cu cardinalitate ( |x| ) minim astfel nct :

Ax >= 1

(1)

Matricea A poate fi privit ca matricea de inciden a unui hipergraf ale crui noduri corespund mintermilor, iar arcele corespund implicanilor primi. ntr-o astfel de modelare, problema acoperirii corespunde unei acoperiri cu arce ale hipergrafului.
Exemplul 2.6. Fie funcia scalar de trei variabile a, b i c: f(a, b, c) = abc + abc + abc + abc + abc

Se poate verifica cu uurin faptul c implicanii primi ai acestei funcii sunt acetia: (p) (q) (r) (s) 0 * 1 1 0 0 * 1 * 1 1 * |1 |1 |1 |1

innd seama de implicanii primi p, q, r i s, matricea A arat astfel: 000 001 101 111 110 p 1 1 0 0 0 q 0 1 1 0 0 r 0 0 1 1 0 s 0 0 0 1 1

Vectorul x = [1101]T reprezint o acoperire, pentru c Ax >= 1. Se poate afirma c vectorul x selecteaz implicanii primi p,q i s.

Minimizarea exact poate fi rezolvat calculnd nti tabelul de implicani primi i apoi soluionnd problema de acoperire rezultat. De remarcat faptul c problema de acoperire n acest caz este unat, deoarece toate clauzele de acoperire pot fi exprimate ca o disjuncie de implicani. Dificultatea abordrii const din intractabilitatea problemei de acoperire i din mrimea tabelului de implicani. O funcie scalar binar cu n variabile binare poate avea 3n/n primi i 2n-1 mintermi. De aceea, un algoritm exponenial al unei probleme de mrime exponenial este probabil s necesite un timp lung de calcul i un volum mare de memorie. Rezultatele actuale arat c multe probleme practice de minimizarea logic ale unor funcii dificile pot fi rezolvate exact prin algoritmi performani care exploateaz natura problemei i structuri de date eficiente. Tabelul de implicani poate fi redus. Se pot extrage coloanele eseniale corespunztoare implicanilor primi eseniali, deoarece acetia oricum trebuie s aparin oricrei soluii. Se pot nltura liniile dominante i coloanele dominate. Extracia implicanilor primi eseniali i nlturarea coloanelor dominate i a liniilor dominante se poate face iterativ. Se obine astfel, n final, tabelul redus al implicanilor primi. Dac tabelul redus se ntmpl sa fie vid, atunci s-a gsit soluia deja, prin implicanii primi eseniali anterior extrai. Altfel, tabelul redus, numit uneori i tabel ciclic, modeleaz aa-zisul miez ciclic al problemei. Metoda original propus de E. McCluskey revine la branri, adic se aleg diferite combinaii de coloane (implicani primi) i se evalueaz costul corespunztor.

Chiar dac alegerea unei coloane (un prim implicant) poate conduce la simplificri bazate pe regulile de dominan i de eseniali, procesul este exponenial (n cel mai defavorabil caz) n raport cu mrimea tabelei reduse.
Exemplul 2.7. Se consider matricea A din exemplul 2.6. 000 001 101 111 110 p 1 1 0 0 0 q 0 1 1 0 0 r 0 0 1 1 0 s 0 0 0 1 1

Se remarc imediat c implicanii p i s sunt eseniali. Aceasta revine la a spune c implicanii primi p i s aparin oricrei acoperiri. Din acest motiv, coloanele corespunztoare pot fi terse la fel ca i liniile incidente lor. Dup procesul de reducere al matricei, matricea astfel obinut are o singur linie i dou coloane, artnd astfel : q r 101 1 1 n acest caz matricea ilustreaz faptul c oricare dintre cei doi implicani q i r poate fi folosit pentru a completa o acoperire minim. Matricea redus nu este ciclic i nu este necesar, n consecin, un proces de branare. n concluzie, exist dou soluii ale problemei acoperirii prime pentru aceast funcie: {p, q, s} i {p, r, s}.

O alt abordare clasic, numit, adesea metoda lui Petrick, const n scrierea clauzelor de acoperire ale tabelului (redus) de implicani n forma unui produs de sume. Fiecare clauz (sau, echivalent, fiecare sum din acest produs) corespunde unui minterm i aceasta reprezint disjuncia implicanilor primi care acoper respectivul minterm. Produsul de sume este apoi transformat ntr-o suma de produse ce este satisfcut ori de cte ori un termen al su ia valoarea 1. n acest caz, termenii produs reprezint implicanii primi care au fost alei. Costul unei acoperiri este legat de numrul de literali din produs. Ca rezultat, o acoperire minim este identificat prin orice termen produs al SDP avnd cei mai puini literali.
Exemplul 2.8. Se aplic metoda lui Petrick matricei A (tabelului cu incidena implicanilor primi, cum mai este numit) din exemplul 2.6. 000 001 101 111 110 p 1 1 0 0 0 q 0 1 1 0 0 r 0 0 1 1 0 s 0 0 0 1 1

Clauza care stabilete acoperirea primului minterm este p; clauza relativ la cel de-al doilea minterm este p +q, etc. Produsul de sume arat astfel: (p)(p + q)(q + r)(r + s)(s) = 1 Calculnd produsele se obine forma sum de produse (SDP): pqs + prs = 1 ceea ce exprim faptul c exista dou acoperiri minime avnd aceeai cardinalitate, 3. Prima acoperire este alctuit din aceast submulime {p, q, s} a implicanilor primi, iar a doua reprezint submulimea {p, r, s} a implicanilor primi. De remarcat c metoda lui Petrick s-ar fi putut aplica, nc mai eficient, tabelului redus de implicani primi i ar fi condus la o singura clauz: + =1 Astfel, ori implicantul prim q ori implicantul prim r, mpreun cu implicanii primi eseniali {p, s} determin o acoperire minim cu implicani primi ai funciei considerate.

Chiar dac exprimarea produsului de sume i alegerea termenului produs din suma de produse sunt imediate, transformarea produsului de sume ntr-o sum de produse (SDP) implic un numr exponenial de operaii. Acest fapt limiteaz metoda Petrick la tabele cu dimensiuni relativ mici. Algoritmul Quine-McCluskey poate fi extins la funcii vectoriale prin calculul implicanilor primi multi-ieire i a tabelului (matricii) implicanilor primi, n mod corespunztor. Extensii pentru ca s opereze cu funcii incomplet specificate sunt, de asemenea, relativ simplu de alctuit i de aplicat.

S-ar putea să vă placă și