Prelegere 6 În cestă prelegere vom învăţ despre: Utilizre lgerelor Boole în definire şi funcţionre Circuitelor cominţionle cu porţi; Circuitelor cominţionle cu contcte. 6.1 Circuite cominţionle Vom defini cum elementele fundmentle de construire le circuitelor. Definiţi 6.1 Un circuit cominţionl este o reţe rorescentă cu intrări şi ieşiri, în cre ieşire l momentul (tctul) t depinde numi de intrările l momentul (tctul) t. O mşină (reţe) secvenţilă este un mecnism în cre ieşire l momentul t depinde de intrările de l momentele nteriore. În generl intrre şi ieşire sunt vlori dintr-un lfet inr {0, 1}, cee ce permite un studiu teoretic l circuitelor, zt pe lgere Boole. Un circuit este ctiv dcă ieşire s este 1; în cz contrr, circuitul este inctiv. 6.2 Porţi După cum vom vede, unui circuit i se sociză o expresie oolenă, comportmentul său (ctiv su inctiv) depinzând de o funcţie de signre socită. Modlitte prctică prin cre expresi controleză circuitul se relizeză prin intermediul unor intrări numite porţi. Cele mi simple circuite sunt circuitele constnte 0 şi 1 ; de oicei primul este mrct printr-un punct., ir l doile printr-o linie. 57
58 PRELEGEREA 6. O vriilă oolenă (logică) pote control un circuit, ctivându-l su dezctivându-l. Indiferent dcă modul de ctivre/dezctivre este de tip mecnic, electric, electromgnetic, integrt, imprimt, neurl, idee de ză este ceeşi: pentru înţelegere, vom consider circuitul su form unei linii legtă l o sursă permnentă de curent, linie întreruptă de o portă : φ() = 0 (dezctivt) φ() = 1 (ctivt) Port pote fi închisă (ctivtă) prin intermediul unui rc cre în poziţie de repos (φ() = 0) este destins. Dcă φ() = 1, cest rc este comprimt şi închide port, ctivând stfel circuitul, prin cre trece (de fpt) vlore lui. Funcţi φ este o funcţie de signre, prezenttă în Prelegere nterioră. Vom not un stfel de circuit elementr prin. Să definim modul de cominre l circuitelor elementre, folosind operţiile ooleene,, (disjuncţie, conjuncţie, negţie). Implementre cestor operţii se relizeză prin circuite cu porţi. Vom începe prin defini cestă noţiune. Port AN D: Fie, două vriile ooleene (literli). Pentru relizre lui se pote construi circuitul (1) (2) Se oservă că circuitul este ctiv (vlore de ieşire este 1) numi pentru signre φ definită φ() = 1, φ() = 1. Simolul porţii AND (figur (2)) pote fi generlizt l n intrări (vriile ooleene) 1,..., n, oţinându-se o portă AND n. Port OR: Pentru port cre relizeză circuitul, structur este figur (1), ir simolul logic figur (2): (1) (2)
6.2. PORŢI 59 Port OR este ctivă pentru trei funcţii de signre posiile: φ() = 0, φ() = 1, φ() = 1, φ() = 0, φ() = 1, φ() = 1 şi inctivă pentru φ() = 0, φ() = 0. Evident, şi cestă portă pote fi extinsă l n intrări: OR n. Port NOT ; o portă pentru relizre operţiei de negre vriilei ooleene este figur (1): (1) (2) Se oservă că circuitul este închis prin poziţi relxtă rcului (φ() = 0); l comprimre cestui (φ() = 1) circuitul se dezctiveză (deschide). Simolul logic pentru negţie este (2). Înfr cestor operţii derivte direct din operţiile unei lgere Boole mjoritte circuitelor mi folosesc lte două porţi: N AN D şi XOR. Port N AN D este un circuit cre implementeză opertorul Shffer = ( ). Figur (2) reprezintă o ltă implementre, oţinută după plicre relţiei De Morgn: ( ) =. Simolul logic l porţii NAND este figur (3). (1) (2) ( ) Port XOR este implementre operţiei = ( ) ( ) (opertorul sumă din inelul oolen socit vezi Prelegere 5). ( ) ( ) (1) (2) (3)
60 PRELEGEREA 6. Un circuit cu porţi este un circuit cominţionl formt din cominre cestor cinci porţi (AND, OR, NOT, NAND, XOR). 6.3 Algere ooleene şi circuite cu porţi Conform Definiţiei 6.1, un circuit cu porţi este o structură rorescentă construită folosind un număr finit de porţi AND, OR, NOT, XOR şi NAND. Condiţi de rorescenţă este deoseit de improtntă; de exemplu, circuitul următor nu este cominţionl: Ieşire l un moment t (les ritrr) nu v depinde numi de vlorile dte intrărilor şi de o funcţie de signre, ci şi de ieşire din circuit l momentul t 1. În generl vom consider circuitul cominţionl cu porţi c vând un număr de intrări (noduri de intrre) egl cu numărul de vriile folosit de o expresie oolenă α şi o singură ieşire (nod finl) unde se oţine vlore funcţiei ooleene f α = α, după folosire unei funcţii de signre φ. Fiind dt un circuit cu porţi, se pote determin expresi oolenă socită. Exemplul următor este ilustrtiv. Exemplul 6.1 Fie circuitul x 3 x 2 x 1 L ieşire din port OR vem expresi x 1 x 2. Prim portă AND clculeză x 2 x 3. După trecere prin complementre şi dou portă AND, se oţine expresi α = x 2 x 3 (x 1 x 2 ). Definiţi 6.2 Funcţi de trnsmisie unui circuit cominţionl cu porţi este o funcţie oolenă cre i vlore 1 dcă şi numi dcă ieşire re vlore 1. În Exemplul 6.1 funcţi de trnsmisie este α = x 2 x 3 (x 1 +x 2 ) = x 2 x 3 x 1x 2 = 0, deci e nu v lu niciodtă vlore 1, indiferent de funcţi de signre φ plictă vriilelor x 1, x 2, x 3. Propoziţi 6.1 Fiind dt un circuit cominţionl cu porţi C,cu expresi oolenă socită α C, funcţi oolenă corespunzătore lui α C este funcţi de trnsmisie f αc circuitului C.
6.4. ALGEBRE BOOLEENE ŞI CIRCUITE CU CONTACTE 61 6.4 Algere ooleene şi circuite cu contcte În fr construcţiei prezentte nterior, în cre expresiile ooleene sunt implementte folosind circuite cominţionle cu porţi AN D, OR, N OT, N AN D şi XOR, se mi pote defini o implementre ztă pe circuite cu contcte. În cest cz, circuitul re o singură intrre, ir vriilele ooleene îl controleză prin intermediul unor conectori numiţi contcte. Un contct este norml deschis dcă în stre de repos nu există nici un drum închis între intrre şi ieşire circuitului. În cz contrr, (dcă în stre de repos există cel puţin un drum) contctul este norml închis. Vom reprezent contctele norml deschise prin ir contctele norml închise prin Un contct de trnsfer este o cominţie între un contct norml deschis şi unul norml închis. Grfic, el se reprezintă prin Putem defini cum o relţie funcţionlă între o clsă de expresii ooleene şi circuite cu contcte vând o singură intrre şi o singură ieşire. Definiţi 6.3 Se defineşte o plicţie ψ de l expresiile ooleene în cre negţi se plică dor vriilelor, l circuite cu contcte vând o intrre şi o ieşire, stfel: 1. ψ(0) este. 2. ψ(1) este 3. Dcă x i este o vriilă, tunci ψ(x i ) este 4. Dcă x i este o vriilă, tunci ψ(x i) este x i x i 5. Dcă α, β sunt expresii ooleene în cre negţi pre (eventul) numi l vriile, tunci ψ(α β) este
62 PRELEGEREA 6. ψ(α) ψ(β) 6. Dcă α, β sunt expresii ooleene în cre negţi pre (eventul) numi l vriile, tunci ψ(α β) este ψ(α) ψ(β) De remrct că prin cestă definiţie, circuitul socit unei expresii ooleene este unic. Exemplul 6.2 Să considerăm expresi oolenă α = x 1 x 2 (x 3 x 4). După o primă plicre Definiţiei 6.3, se oţine ψ(x 1) ψ(x 2 ) ψ(x 3 x 4) Detliind fiecre element tot pe z Definiţiei 6.3 jungem l circuitul x 3 x 1 x 2 x 4 Exemplul 6.3 Fie expresi oolenă α = (x 1 x 2) (x 3 x 4). Deorece negţi nu se plică vriilelor, ci unei su-expresii, pentru α nu se pote construi un circuit cu contcte zt pe Definiţi 6.3. Aplicând însă regul De Morgn primei prnteze, se junge l expresi oolenă echivlentă studită în Exemplul 6.2. Propoziţi 6.2 Aplicţi ψ este surjectivă. Deci, dcă se consideră un circuit C cu o singură intrre şi o singură ieşire şi vând contctele notte cu elemente din mulţime {x 1, x 2,..., x n }, tunci există o expresie oolenă α peste {x 1, x 2,..., x n } stfel c ψ(α) = C. Demonstrţie: Se inverseză elementele din Definiţi 6.3. Exemplul 6.4 Să considerăm circuitul din figură
6.4. ALGEBRE BOOLEENE ŞI CIRCUITE CU CONTACTE 63 x 1 x 2 x 4 x 3 x 1 x 3 Lui îi corespunde expresi oolenă α C = ((x 1 x 2) x 3 ) x 4 (x 1 x 3 ). Fiind dt un circuit C cărui îi corespunde o expresie oolenă α, putem ctiv circuitul considerând o funcţie de signre φ cre sociză vlori 0 su 1 fiecărei vriile ooleene x cre pre în circuit. Evident, tunci α φ = 1 dcă şi numi dcă există cel puţin un drum închis între nodul de intrre şi cel de ieşire. Deci Definiţi 6.4 Dcă C este un circuit cu contcte notte prin vriile din mulţime {x 1, x 2,..., x n }, tunci funcţi de trnsmisie f C (x 1,..., x n ) lui C este o funcţie oolenă cre i vlore 1 dcă şi numi dcă există cel puţin un drum închis între intrre şi ieşire circuitului. Exemplul 6.5 Fie circuitul x 1 x 2 x 2 Există ptru funcţii de signre distincte pentru cele două vriile ooleene, cuprinse în telul următor: φ(x 1 ) 0 0 0 1 φ(x 2 ) 0 1 0 1 α φ 0 0 0 1 Circuitul dmite un drum închis numi pentru signre φ(x 1 ) = 1, φ(x 2 ) = 1. Funcţi de trnsmisie este deci f C (x 1, x 2 ) = x 1 x 2 (deşi expresi oolenă socită lui C este (x 1 x 2) x 2 ). Exemplul 6.6 Dcă în circuitul din Exemplul 6.4 se i signre φ(x 1 ) = φ(x 2 ) = 0, φ(x 3 ) = φ(x 4 ) = 1 vom ve evlure ((x 1 x 2) x 3 ) x 4 (x 1 x 3 ) φ = 1, deci există un drum închis prin circuit, dt de signre φ. Propoziţi 6.3 Dcă C este un circuit cu contcte vând expresi oolenă socită α C, tunci funcţi oolenă socită lui α C este funcţi de trnsmisie socită lui C. Demonstrţie: Se relizeză uşor, prin inducţie după form circuitului C. Definiţi 6.5 Două circuite C 1 şi C 2 sunt echivlente (C 1 C 2 ) dcă şi numi dcă f C1 = f C2.
64 PRELEGEREA 6. Propoziţi 6.4 Două circuite C 1 şi C 2 sunt echivlente dcă şi numi dcă expresiile ooleene socite sunt echivlente: C 1 C 1 α C1 α C2 Exemplul 6.7 Circuitul x 1 x 2 este echivlent cu cel construit în Exemplul 6.5. Exemplul 6.8 Să considerăm circuitele de mi jos: C 1 C 2 c Ele corespund expresiilor ooleene α C1 = ( ) (c ( )) respectiv α C2 = ( ) ( c). Cum α C1 α C2, v rezult că şi cele două circuite sunt echivlente. De remrct că l doile circuit este mi simplu, deci mi uşor de implementt. Un tip specil de circuit cu contcte este circuitul de tip punte. Un exemplu de stfel de circuit este următorul: Exemplul 6.9 Fie circuitul (1): x 1 x 2 c x 1 x 2 x 1 x 5 x 3 x 5 x 3 x 4 x 4 x 5 x 2 x 4 x 3 (1) (2) Ce funcţie oolenă îi corespunde cestui circuit? O idee r fi să îi sociem o expresie oolenă α şi să construim poi funcţi oolenă f α socită lui α. f α pote fi construită prcurgând tote drumurile din cest circuit şi sociind câte un produs de literli fiecărui stfel de drum; produsele stfel oţinute se însumeză (vezi Prelegere precedentă) Deci, în cest cz, f α (x 1, x 2, x 3, x 4, x 5 ) = x 1 x 2 + x 1 x 5 x 3 + x 4 x 3 + x 4 x 5 x 2. Acestă funcţie corespunde însă şi circuitului (2), mult mi complex: re 10 contcte, fţă de 5 contcte câte re circuitul echivlent (1).
6.5. EXERCIŢII 65 Pentru formliz construcţi din cest exemplu, vom d două definiţii: Definiţi 6.6 Fie C un circuit cu contcte. Se numeşte produs (conjuncţie) de drum conjuncţi tuturor mrcjelor contctelor unui drum dintre nodul de intrre şi cel de ieşire, unde mrcjele sunt definite stfel: x i este un drum mrct cu x i, x i este un drum mrct cu x i. Exemplul 6.10 Circuitul din figur de mi jos re două drumuri, mrcte prin conjuncţiile de drum x 1 x 2 respectiv x 1 x 3. x 2 x 1 x 3 Definiţi 6.7 Fie C un circuit cu contcte în cre există n drumuri (n 1) între nodul de intrre şi cel de ieşire. Fie α i conjuncţi de drum socită drumului i (1 i n). Atunci expresi oolenă socită lui C este n α C = α i. Dcă C este un circuit cu contcte şi α C este expresi oolenă socită prin Definiţi 6.7, tunci funcţi de trnsmisie lui C este funcţi oolenă corespunzătore lui α C. i=1 6.5 Exerciţii Exerciţiul 6.1 Folosind numi porţi N AN D relizţi circuite cre să efectueze celellte operţii elementre (AN D, OR, N OT, XOR). De ce este posiil cest lucru? Exerciţiul 6.2 Circuitul următor (cu o singură intrre) este deoseit de util. Ce fce el? Exerciţiul 6.3 Arătţi prin exemple că unei expresii ooleene i se pot soci mi multe circuite cu porţi.
66 PRELEGEREA 6. Exerciţiul 6.4 Să se construiscă circuite cu porţi pentru următorele expresii oolene: (( ) ( c) ) ( c ) ; c ( ( c )). Să se rte că funcţiile de trnsmisie le celor două circuite sunt egle. Exerciţiul 6.5 Se dă circuitul cominţionl c Cre este expresi oolenă socită? Se pote construi un circuit cominţionl cu mi puţine porţi, cre să iă ceeşi funcţie de trnsmisie? Exerciţiul 6.6 Demonstrţi Propoziţiile 6.2, 6.3 şi 6.4. Exerciţiul 6.7 Să se rte că pentru orice expresie oolenă α există o expresie echivlentă β (α β) pentru cre se pote construi un circuit cu contcte. Aplicţie α = (( ) ( c) ). Exerciţiul 6.8 Arătţi că expresi oolenă α C socită unui circuit C conform Definiţiei 6.7 verifică relţi ψ(α C ) = C. Exerciţiul 6.9 Să se scrie expresiile şi funcţiile ooleene socite următorelor circuite cu contcte: x 1 x 2 x 1 x 2 x 1 x 2 x 3 x 5 x 6 x 4 x 7 x 3 x 4 x 3 x 4 x 6 x 6 x 5 x 7 x 5 x 7 Se pote stili vreo legătură între ceste expresii ooleene? Exerciţiul 6.10 Plecând de l exerciţiul nterior, construiţi lgoritmi cre vând l intrre circuitul C α corespunzător unei expresii ooleene α, genereză circuite cu contcte pentru α D şi α.