Professional Documents
Culture Documents
Zoltan Hascsi
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
f 0 0 1 0 0 1 1 1
Expresia ei normal disjunctiv (FND) este: f = abc + abc + abc + abc Iar reprezentarea ei pe diagrama VK partiionat dup toate cele trei variabile ale sale (a, b i c) este urmtoarea:
b a 1 1 1 0 c 1 0 0 0
Diagrama VK partiionat dup toate variabilele unei funcii o vom numi diagram VK extins sau normal. Dac grupm termenii expresiei normal disjunctive de mai sus n funcie de variabilele a i b, vom obine: f = ab(c) + ab(c) + ab(c + c) = ab(c) + ab(c) +ab(1) Pentru claritate vom introduce i cea de-a patra combinaie a variabilelor a i b, care nu apare explicit n expresiile anterioare, ab. Aceast combinaie va fi nmulit (I) cu 0 logic astfel nct funcia f s nu fie afectat de introducerea ei: f = ab(0) + ab(c) + ab(c) +ab(1) Orice funcie logic de dou variabile, fie acestea a i b, are forma canonic disjunctiv: h = ab h (00) + ab h (01) + ab h (10) +ab h (11) Comparnd ultimele dou expresii logice observm c funcia noastr, f, poate fi egalat cu funcia h dac i numai dac: h(00) = 0, h (01) = c, h (10) = c, h (11) = 1 Era de ateptat acest lucru deoarece funcia f depinde de 3 variabile. Dac ncercm s o reprezentm ntr-o form caracteristic funciilor de dou variabile (form normal cu 4 mintermeni, tabel de adevr cu 4 rnduri, sau diagram VK cu 4 csue) valoarea funciei n punctele definite de combinaiile primelor dou variabile (a i b) poate s nu fie o constant logic (0 sau 1) ci poate depinde de o a treia variabil (c). Digrama VK a funciei f poate fi compactat ntr-o diagram caracteristic funciilor de dou variabile prin gruparea punctelor mulimii de definiie care corespund acelorai combinaii de valori ale variabilelor a i b:
Zoltan Hascsi
Funcia f(00) este restricia funciei iniiale f pe submulimea de puncte de definiie caracterizat prin a = 0 i b = 0, funcia f (01) corespunde submulimii de puncte care au a = 0 i b = 1, .a.m.d. Diagrama compact a funciei f poate fi obinut prin plierea diagramei VK extinse dup tietura variabilei care nu se regsete ntre variabilele care vor mpri diagrama VK compact (n cazul nostru, variabila c):
a 1 1
b 1 0 c 1 0 0 0
O csu de pe diagrama VK extins se va suprapune peste cealalt csu din diagrama extins care are exact aceleai valori ale variabilelor a i b. Pentru a afla ce valoare logic sau ce funcie logic se va pune ntr-o csu de pe diagrama VK compact n locul perechii de valori logice ale csuelor de pe diagrama VK extins ce au fost suprapuse prin pliere, trebuie doar s aflm relaia ntre valorile logice ale perechii i valoarea variabilei c:
b 1 a 1 c
f(11) 1 c f(01) 0
f(10)
f(00) 0 c 0
0 c
Fiecare pereche de valori poate fi imaginat ca o minidiagram VK mprit doar dup variabila c, diagram din care este foarte uor s extragem funcia logic. n final diagrama VK compactat dup variabila c, altfel spus care conine n interior funcii de variabila c, arat aa:
b a 1 c c 0
Diagramele VK cu variabile sau funcii logice n interior nu sunt aadar altceva dect diagramele VK compacte ale unor funcii logice de mai multe variabile.
Zoltan Hascsi
2. Minimizarea funciilor pe diagrame VK compacte Pasul I: separarea expresiilor logice distincte S considerm funcia f din exemplul precedent reprezentat prin diagrama VK compact obinut la finalul lui. Putem privi aceast diagram ca o suprapunere de trei diagrame VK, valoarea logic a fiecrei csue din prima diagram fiind suma logic (SAU) a valorilor din csuele suprapuse ale ultimelor trei diagrame:
b a 1 c c 0
f a
b 1 0 0 0
f1 a
b x 0 c 0
fc a
b x c 0 0
fc
Astfel valoarea logic a funciei f n csua din stnga sus, corespunztoare domeniului a = 1 i b = 1, este suma logic a valorilor funciilor f1, fc i fc n punctul (a,b) = (1,1), punct localizat de asemenea n csua din stnga sus pe diagramele lor: f (a=1, b=1) = 1 + x + x = 1 Analog pentru celelalte csue ale diagramei compuse: f (a=1, b=0) = 0 + c + 0 = c f (a=0, b=1) = 0 + 0 + c = c f (a=0, b=0) = 0 + 0 + 0 = 0 Cele trei diagrame au permis separarea expresiilor logice distincte care apar pe diagrama compact, ct i separarea lor de valorile logice de 1. Diagrama lui f1 conine numai valori logice de 1 n afara celor nule, diagrama fc conine numai instane ale variabilei c n afara valorilor nule, iar fc conine numai instane ale expresiei c n afara valorilor nule. Pasul II: Reducerea diagramelor VK ce conin variabile sau expresii logice Funcia a crei diagram conine numai valori nule i instane ale unei singure variabile poate fi exprimat ca produs logic (I) ntre acea variabil i o alt funcie care pe o asemenea diagram este reprezentat numai prin valori logice de 0 i de 1. Astfel, funcia fc poate fi rescris ca produsul logic ntre variabila c i o alt funcie, f2c :
b a x 0 c 0
fc a
b cx c1 c0 c0
fc a
b x 0 1 0
f2 c
n acelai mod o funcie a crei diagram conine numai valori nule i instane ale unei expresii logice poate fi exprimat ca produs logic (I) ntre acea expresie logic i o alt funcie care pe o asemenea diagram este reprezentat numai prin valori logice de 0 i de 1. Astfel, funcia fc poate fi rescris ca produsul logic ntre expresia logic c i o alt funcie, f2c :
b a x c 0 0
fc a
b cx c0 c1 c0
fc a
b x 1 0 0
f2 c
Zoltan Hascsi
Dnd factor comun variabila sau expresia logic din diagrama iniial, se obine astfel o diagram VK redus ce conine numai valori logice de 0 i 1, diagram ce va fi minimizat prin metoda clasic. Pasul III: minimizarea diagramelor reduse
b a f 1 0 0 0
f1 a
b x 0 1 0
f2c a
b x 1 0 0
f2c
+ c
Dup minimizare funciile corespunztoare diagramelor reduse devin: f1 = ab f2c = a f2c = b Pasul IV: suma logic a tuturor produselor corespunztoare diagramelor reduse f = f1 + f c + f c = f1 + c f 2c + c f 2c = a b + c a + c b Observaie. Dac pe ultimul desen reintroducem variabilele c i c n diagramele corespunztoare, prin I-ul logic ntre acestea i valorile logice din diagrame, vom obine:
b a f 1 0 0 0
f1 a
b x 0 c 0
fc a
b x c 0 0
fc
Cum suma logic (SAU) a funciilor booleene este echivalent n spaiul boolean multidimensional cu reuniunea mulimilor punctelor n care acele funcii au valori logice 1, putem suprapune suprafeele obinute la minimizarea separat a funciilor f1, f c i f c pe o singur diagram. Suma logic a funciilor f1, f c i f c este chiar funcia f. prin urmare suprafeele suprapuse vor reprezenta chiar acoperirea funciei f:
b a 1 c c 0
f a
b 1 0 0 0
f1 a
b x 0 c 0
fc a
b x c 0 0
fc
Zoltan Hascsi
3. Algoritm pentru minimizarea funciilor pe diagrame VK compacte Pentru ilustrare vom folosi aceeai diagram compact. Etapa I: construcia diagramei funciei f1 i minimizarea acesteia Funcia f1 se obine prin nlocuirea cu valoarea logic 0 a tuturor variabilelor i expresiilor logice ce apar n interiorul diagramei compacte:
b a 1 c c 0
f a
b 1 0 0 0
f1
Dup minimizare se obine f1 = ab . Etapa a II-a: construcia diagramelor funciilor f2 exp i minimizarea acestora Aceast etap se repet pentru fiecare variabil i expresie logic distinct din interiorul digramei compacte. Funcia f2 exp se obine prin nlocuirea cu valoarea logic 1 a expresiei logice exp, respectiv cu valoarea logic 0 a celorlaltor expresii logice din diagrama compact. n plus, csuele care pe diagrama compact aveau valoarea logic 1 vor avea o valoare nedefinit, x, ntruct ele au fost deja luate n considerare n etapa I. n diagrama compact de la care am plecat sunt prezente dou expresii logice distincte, c i c. Diagrama funciei f2c va fi:
b a 1 c c 0
f a
b X 0 1 0
f2c
Dup minimizare se obine f2c = a . Pentru cealalt expresie logic, c, diagrama obinut este:
b a 1 c c 0
f a
b X 1 0 0
f2c
Dup minimizare se obine f2c = b . Etapa a III-a: Suma logic ntre forma minim disjunctiv a funciei f1 i produsele dintre fiecare form minim disjunctiv obinut n etapa a II-a i expresia logic corespunztoare. Cum f2c a fost construit plecnd de la variabila c, iar f2c a fost construit lundu-se n considerare expresia logic c, suma logic va arta astfel: f = f1 + c f 2c + c f 2c = a b + c a + c b