Sunteți pe pagina 1din 24

Teorie:DefAlgebraBooleana De la FIILogic Salt la: Navigare, cutare Se numete algebra booleana un 4-uplu B, B=<B,,+,->, format din orice multime

nevida B, doua operatii binare , + : B x B -> B i o operatie unara - : B->B care satisfac conditiile (legile): 1. xy=yx -comutativitatea () 2. (xy)z=x(yz) -asociativitate () 3. x(y+z)=xy+xz -distributivitatea inmultirii fata de adunare 4. (xy)+y=y -absorbtia 5. (x( ))+y=y -legea contradictiei
1. 2. 3. 4. 5.

1'. x+y=y+x -comutativitatea (+) 2'. (x+y)+z=x+(y+z) -asociativitatea (+) 3'. x+(yz)=(x+y)(x+z) -distributivitatea adunarii fata de inmultire 4'. (x+y)y=y -absorbtia 5'. (x+( ))y=y -legea tautologiei

6.

7. 8.
9.

Teorie:Fbooleeneelementare De la FIILogic Salt la: Navigare, cutare Clasa funciilor booleene elementare este:

10. Fie n N*, t un numr natural, f, h1, h2, ... , ht FB(n)si g FB(t). Spunem c f se obine din g, h1, h2, ... , ht prin superpoziie dac pentru fiecare x = <x1, x2, ... ,xn> avem: 13. f(x) = g(h1(x), h2(x), ... , ht(x)) 14. Fie M FB. Se numeste M-sir orice secven (list) finit f0, f1, ... , fr de funcii booleene n care fiecare fieste fie din E M, fie se obine prin superpoziie din alte funcii, aflate n aceeai list dar naintea lui fi. 15. Funciile inp se mai numesc i proiecii. Pentru superpoziie vom utiliza notaia f = SUP(g, h1, h2, ... , ht), iar M va denota mulimea funciilor care apar ca elemente n M-iruri. Pentru fiecare M dat, M va fi practic o mulime definit constructiv, n care E U M constituie mulimea funciilor de baz iar operatorul de superpoziie este singura modalitate de a se obine funcii noi din funcii vechi. Prin urmare, M este cea mai mic mulime care conine proieciile, elementele lui M i este nchis la superpoziie. Algebric vorbind, se mai spune c M este nchiderea prin superpoziie a mulimii E U M. M se va numi nchisdac coincide cu nchiderea sa. 16. Teorie:Dualitate
11. 12.

17. 18.

De la FIILogic Salt la: Navigare, cutare 19. Duala lui A este notat A, i se obine din A prin nlocuirea simultan (textual) a tuturor apariiilor lui + cu i a tuturor apariiilor lui cu +, a tuturor apariiilor lui 1 cu 0 si reciproc. Toate variabilele din formul vor fi aadar dualizate i dnsele, prin adugarea unei "bare", sau negarea, a acestora. 20. 1 este dualul lui 0 (evident i reciproc, relaia de dualitate fiind o relaie simetric), duala sumei este produsul, duala unei funcii oarecare se obine prin dualizarea ntregii tabele de adevr, etc. 21. Avem identitatea: (A) = A. 22. O funcie este autodual dac este egal cu duala ei: =. Teorie:Legile lui deMorgan De la FIILogic Salt la: Navigare, cutare Legile lui deMorgan:
1. 2.

= =

+
1

+ ... + ...

Teorie:DefFNDP 4. De la FIILogic 5. Salt la: Navigare, cutare 6. Fie orice n N*, orice f FB(n) i oricare nume distincte de variabile x1, x2, ..., xn. Atunci f se poate reprezenta n mod unic ca o FNDP peste X={x1, x2, ..., xn}, sub forma:
3.

7. oricare ar fi x1, x2, ..., xn B 1, 2, ..., n B, astfel nct f(1, 2, ..., n)=1. Teorie:DefFNCP 10. De la FIILogic 11. Salt la: Navigare, cutare 12. Fie orice n N*, orice f FB(n) i oricare nume distincte de variabile x1, x2, ..., xn. Atunci f se poate reprezenta n mod unic ca o FNCP peste X={x1, x2, ..., xn}, sub forma:
8. 9.

13. oricare ar fi x1, x2, ..., xn B 1, 2, ..., n B, astfel nct f(1, 2, ..., n)=0. 15. Teorie:FunctieMonotona 16. De la FIILogic 17. Salt la: Navigare, cutare
14.

O funcie f FBn este monoton n sensul relaiei de ordine naturale dac pentru fiecare , Bn, din rezult f() f().
18.

Teorie:FunctiePastreaza0 De la FIILogic Salt la: Navigare, cutare Despre o funcie boolean f:Bn B se spune c "pstreaz pe 0" dac i numai dac:
1.

f(0n) = 0

Funciile sum i produs, cu oricte variabile, sunt astfel de funcii. Teorie:DefinitiaSuperpozitiei De la FIILogic Salt la: Navigare, cutare O funcie f se obine prin superpoziie din g, h1, h2, ..., ht dac pentru fiecare x=<x1, x2, ..., xn> avem: f(x)=g(h1(x), h2(x), ..., ht(x)), unde: f, h1, h2, ..., ht FB(n), nN* i g FB(t). Se utilizeaza notatia : f = SUP (g, h1, h2, ..., ht) Teorie:Constituient al lui zero De la FIILogic Salt la: Navigare, cutare Se numete constituient al lui zero funcia elementar v1 care ia valoarea 0 ntr-un singur punct al domeniului de definiie. Expresia constituientului se va scrie ca disjuncia tuturor variabilelor negate sau nenegate. v1=x1Vx2V.....Vxn Teorie:Definitie Maxterm De la FIILogic Salt la: Navigare, cutare Un maxterm = maxtermen = constituent al lui 0 = termen maximal al unei funcii este un termen suma care include toate variabilele (negate sau ne-negate) de care depinde funcia. Teorie:Definitie Implicant De la FIILogic Salt la: Navigare, cutare Un termen P dintr-o forma booleana de tip suma de produse / produse de suma se numeste implicant deoarece, oride cate ori, pentru o combinatie a variabilelor acest termen are valoarea 1, functia are valoarea 1/0. Teorie:Definitie Implicant prim De la FIILogic Salt la: Navigare, cutare Un implicant este implicant prim, daca din acest implicant nu mai poate fi eliminata nicio variabila Teorie:Definitie Pondere

De la FIILogic Salt la: Navigare, cutare Ponderea unui numr binar x este un numr zecimal notat cu W(x), care este egal cu numrul de bii de valoare 1 din reprezentarea binar a numrului x. Exemplu: Ponderea numarului binar x=1011 este w(x)=3. Teorie:Definitie Termen De la FIILogic Salt la: Navigare, cutare Se numete termen orice produs (uneori, operatorul de produs este omis, sau supradimensionat,in cazul aceste operatorul este omis din motive tehnice): t=x1i1 x2i2...xkik, unde 0kn, 1,2,...,kB i 1i1i2...ikn. Teorie:Definitie Forma normala disjunctiva De la FIILogic Salt la: Navigare, cutare Se numete form normal disjunctiv (n-ar, nN*),sau (n-)FND pe scurt, orice sum(finit) de termeni n-ari distinci. Teorie:Definitie Forma normala conjunctiva De la FIILogic Salt la: Navigare, cutare Se numete form normal conjunctiv (n-ar, nN*),sau (n-)FNC pe scurt, orice produs de factori n-ari distinci Teorie:Constituent al unittii De la FIILogic Salt la: Navigare, cutare Se numete constituent al lui 1 ( al unitii) funcia elementar v1 care ia valoarea 1 ntr-un anume punct al domeniului de definiie. Expresia constituientului se va scrie ca o conjuncie (produs logic) a tuturor variabilelor negate sau ne-negate. v1=x1*x2*.....*xn Teorie:Definitie Minterm De la FIILogic Salt la: Navigare, cutare Un minterm = mintermen = constituent al lui 1 = factor minimal, al unei funcii este un termen produs care include toate variabilele (negate sau ne-negate) de care depinde funcia. Teorie:Legea identitaii De la FIILogic Salt la: Navigare, cutare legea identitii: orice enun (exprimare sau afirmaie) este identic sie nsui: A=A

Teorie:Legea noncontradiciei De la FIILogic Salt la: Navigare, cutare legea noncontradiciei: enunul nu poate fi simultan adevrat i fals; dac acesta este adevrat (A), atunci inversia lui (A) trebuie s fie fals. Produsul logic al enunului i inversiei lui trebuie s fie fals:

Teorie:Legea inversiei duble De la FIILogic Salt la: Navigare, cutare legea inversiei duble: dac un enun este negat de dou ori, se obine enunul iniial:

Teorie:Legea excluderii terei De la FIILogic Salt la: Navigare, cutare legea excluderii terei: enunul poate fi adevrat sau fals, fr existena unei tere variante; rezultatul adunrii logice a unui enun compus i a inversiei sale totdeauna ia valoarea adevrat :

Teorema (de descompunere n sum de termeni): Pentru fiecare n N*, f FB(n) i fiecare k [n], avem:

oricare ar fi x1, x2, ... , xn B. Teorie:TeoremaMultimeInchisa De la FIILogic Salt la: Navigare, cutare Teorema Mulime nchis: O mulime M FB este nchis dac i numai dac conine funciile elementare i orice superpoziie de funcii din M se afl n M. Demonstraie. Este imediat din definiii, demonstraia reprezintnd o aplicare direct a principiului induciei structurale. Astfel, este suficient s artm c, dat M, avem: Baza: E M i M M

Pas inductiv: Pentru fiecare n N*, fiecare t N*, fiecare g FB(t), fiecare h1,h2, ,ht FB(n), fiecare f FB(n), astfel nct f=SUP(g,h1,h2, ,ht), avem: Dac g,h1,h2, ,ht M, atunci f M. Teorie:TeoremaMultimeCompleta De la FIILogic Salt la: Navigare, cutare O mulime de funcii booleene este complet dac i numai dac nu este inclus n nici una dintre mulimile T0, T1, Aut, Mon, Lin. Teorie:DefClauzei De la FIILogic Salt la: Navigare, cutare Definiia Clauzei Se numete clauz orice disjuncie (finit) de literali. Teorie:DefClauzeiHorn De la FIILogic Salt la: Navigare, cutare Definiie: Clauz Horn Se numete clauz Horn o clauz care are cel mult un literal pozitiv Teorie:DefFormuleiHorn De la FIILogic Salt la: Navigare, cutare Definiie: Formul HORN O formul Horn este o formul aflat n FNC, clauzele componente fiind (toate) clauze Horn. Teorie:ClauzeHorn De la FIILogic Salt la: Navigare, cutare
1. 2. 3. 4. 5. 6.

AB AB A0 0A 1A 1A A0 A0 AB BA AB (AB) (AB)0 AB0 ABC ABC

7. 8. 9.
10.

Teorie:Satisfiabil De la FIILogic Salt la: Navigare, cutare Definiie :

O formul F LP se numete satisfiabil dac exist mcar o structur S (complet ) pentru care formula este adevrat. (S(F)=1). 12. Teorie:Contradictie 13. De la FIILogic 14. Salt la: Navigare, cutare 15. Definitie: O formula este contradictie daca orice structura este falsa pentru ea(S(F)=0, S, S:LPB). 16. Teorie:Rafinari ale rezolutiei 17. De la FIILogic 18. Salt la: Navigare, cutare 19. Rafinarile rezolutiei sunt metode prin care se urmrete obinerea clauzei vide (dac acest lucru este posibil) ntr-un numr ct mai mic de pai de rezoluie. Pornind cu formula F = {C1, C2, , Cn} (aflat n FNC i scris ca o mulime de clauze, la rndul lor clauzele fiind scrise ca mulimi de literali), se poate construi efectiv mulimea Res*(F), care poate fi reprezentat (fiind finit), dup cum deja tim, ca un graf neorientat (nodurile sunt rezolvenii succesivi, inclusiv clauzele iniiale, iar muchiile sunt introduse prin rezoluiile ntr-un pas aplicate). 20. Teorie:Rezolutie in LP 21. De la FIILogic 22. Salt la: Navigare, cutare 23. Rezoluie n LP 24. Definiie: Fie clauzele C1, C2 , R. Spunem c R este rezolventul lui C1, C2 (sau c C1, C2 se rezolv n R, sau c R se obine prin rezoluie ntr-un pas din C1, C2 ), pe scurt, R = ResL(C1, C2), dac i numai dac exist un literal L C1 astfel nct L C2 i R = (C1 \ {L}) U (C2 \ {L }). Mulimea rezolvenilor unei mulimi de clauze: Fie F: o mulime de clauze din LP (nu neaprat finit). Notm succesiv: Res(F) = F U{R | exist C1, C2 F astfel nct R = Res(C1, C2)}. Res(n+1)(F) = Res(Res(n)(F)), n N. Prin Res(0)(F) vom nelege F i atunci vom putea pune i Res(1)(F) = Res(F). Res*(F) = Res(n) Res(n)(F) se va numi mulimea rezolvenilor lui F obinui n cel mult n pai, iar Res*(F) mulimea (tuturor) rezolvenilor lui F. 25. Teorie:Consecinta semantica 26. De la FIILogic 27. Salt la: Navigare, cutare 28. Definiie: O formul FLP este consecin semantic dintr-o mulime de formule G inclus n LP dac pentru fiecare structur S, dac S satisface G, atunci S satisface F. 29. Teorie:Formule echivalente 30. De la FIILogic 31. Salt la: Navigare, cutare 32. Dou formule F1, F2 LP se numesc tare echivalente dac pentru fiecare asignare S ele au aceeai valoare de adevr, adic S(F1) = S(F2) (simbolic, vom scrie F1 F2). F1 i F2 se numesc slab echivalente dac F1 satisfiabil implic F2 satisfiabil i reciproc (vom scrie F1 s F2, ceea ce nseamn c dac exist S1
11.

astfel nct S1(F1) = 1, atunci exist S2 astfel nct S2 (F2) = 1 i reciproc). O formul F LP este consecin semantic dintr-o mulime de formule G LP, dac pentru fiecare structur corect S (aceasta nseamn aici faptul c S este definit pentru toate variabilele propoziionale care apar fie n F fie n elementele lui G), dac S satisface G (adic avem S(G) = 1 pentru fiecare G G) atunci S satisface F (simbolic, vom scrie G |= F). 33. Teorie:Lema de comutare 34. De la FIILogic 35. Salt la: Navigare, cutare 36. Daca expresia E accepta substituia a, atunci pentru orice mulime D, orice Dinterpretare i i orice D, 37. ( E a )i ( ) = E i ( a i ( ) ) 38. Teorie:Teorema rezolutiei 39. De la FIILogic 40. Salt la: Navigare, cutare 41. Fie F o mulime oarecare de clauze din calculul propoziional. Atunci F este nesatisfiabil dac i numai dac  Res*(F). Teorie:Teorema echivalenelor tari De la FIILogic Salt la: Navigare, cutare Sunt adevrate urmtoarele echivalene tari (pentru fiecare F, G, H LP:
1. 2. 3. 4. 5.

(a) F F F i (a) F F F (idempoten). (b) F G G F i (b) F G = G F (comutativitate).

(c) ( F G ) H F ( G H ) i (c) (F G) H F (G H) (asociativitate). (d) F ( G H ) (F G) (F H) i (d) F ( G H ) (F G) (F H) (distributivitate). (e) F ( F G ) F i (e) F ( F G ) F (absorbie). (f) F F (legea dublei negaii). 6.
7. 8. 9.

(g) ( F G ) F G i (g) ( F G ) F G (legile lui de Morgan). (h) F G F i (h) F G G (legile validitii, adevrate dac F este tautologie). (i) F G F i (i) F G G (legile contradiciei, adevrate dac F este o contradicie).

10. 11. 12.

Teorie:Teorema de compactitate De la FIILogic Salt la: Navigare, cutare 13. Fie M o mulime infint(numrabil) de formule din LP. M este satisfiabil dac i numai dac fiecare submulime finit a sa este satisfiabil. 14. Teorie:AlgHorn 15. De la FIILogic 16. Salt la: Navigare, cutare

17. 18.

Algoritm Horn

19. Intrare: Orice formul Horn, F, reprezentat ca mulime

de clauze, clauzele componente fiind clauze Horn diferite de clauza vid i scrise sub form implicaional . 20. Ieire: DA, n cazul n care formula F este satisfiabil (furnizndu-se i o asignare S care este model pentru F) i NU n caz contrar (F nu este satisfiabil). 21. 22. Metod (de marcare): 23. 24. Pasul 1. i := 0. 25. 26. Pasul 2. Ct_timp ((exist n F o clauz C de forma A1 A2 A3 Ak B, cu A1, A2, A3, ... , Ak marcai i B nemarcat sau 27. de forma A1 A2 A3 Ak 0, cu A1, A2, A3, ... , Ak marcai) i (i = 0)) execut: 28. Pasul 3. Alege un asemenea C ca mai sus. 29. Pasul 4. Dac ( C = A1 A2 A3 Ak B ) 30. atunci 31. Pasul 5. Marcheaz B peste tot n F. 32. altfel 33. Pasul 6. i := 1. 34. Sf_Dac 35. Sf_Ct_timp 36. 37. Pasul 7. Dac ( i = 0 ) 38. atunci 39. Pasul 8. Scrie DA. 40. Pasul 9. Scrie S, cu S(A) = 1 dac i numai dac A apare n F i este marcat. 41. altfel 42. Pasul 10. Scrie NU. 43. Sf_Dac.

Exerciii Algebr Boolean Nu uitai ca n prelabil s citii Regulamentul.

Ex1.1 (Croitoru Vlad - 15pt) S se demonstreze c <B, , +, -> este o algebr Boolean.

Ex1.2 (Cislariu Catalin - 15pt) S se demonstreze c <P(V), , , CV> este o algebr Boolean]]. Ex1.2 (Bodnar Ciprian Mihai - 15pt) S se demonstreze c <P(V), , , CV> este o algebr Boolean]]. Ex1.3 (Petraru Alexandru - 15pt) S se construiasc tabelul de adevr pentru duala funciei: f(x,y,z) = x + y (z + y) x. Este funcia autodual ? Ex1.4 (Cimpan D. Dan Alexandru - 15pt) S se gseasc FNDM (Forma normal disjunctiv minimal) - utiliznd algoritmul lui QUINE pentru urmtoarea funcie Boolean (dat tabelar): x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0

Ex1.5 (Grigoruta Razvan - 15pt) S se gseasc FNCM (Forma normal conjunctiv minimal) - utiliznd o versiune dual a algoritmului lui QUINE pentru urmtoarea funcie Boolean (dat tabelar): x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1

Ex1.6 (Spulber Iosif - 10pt) S se demonstreze c indifferent de cum este aleas funcia g(y,z), funcia f(x,y,z)= g(y,z) + x g(y,z) este autodual. Ex1.7 (Manea C. Vlad - 15pt) S se stabileasc dac urmtoarea funcie boolean este monoton: f(x,y,z) = + z + x . Ex1.8 (Corduneanu Emanuel - 14pt) S se stabileasc dac urmtoarea funcie boolean este liniar: f(x,y,z) = x + + x .

Ex1.9 (Spulber Timotei - 15pt) S se gseasc FNDM (Forma normal disjunctiv minimal) - utiliznd algoritmul lui QUINE pentru urmtoarea funcie Boolean (dat tabelar): x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 0 Ex1.10 (Strungaru Anda - 13pt) S se gseasc FNCM (Forma normal disjunctiv minimal) - utiliznd o versiune dual a algoritmului lui QUINE pentru urmtoarea funcie Boolean (dat tabelar): x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 Ex1.11 (Iacob Razvan - 15pt) S se gseasc FNDP, FNCP pentru urmtoarea funcie Boolean (dat tabelar): x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 Ex1.12 (Rusu Vlad - 15pt) S se demonstreze c mulimea Lin este o mulime nchis de funcii booleene. Ex1.13 (Popa Gabriel-Alecu - 12pt) S se demonstreze c mulimea Mon este o mulime nchis de funcii booleene.

Ex1.14 (Cotilici Silviu - 12pt) S se demonstreze c mulimea Aut este o mulime nchis de funcii booleene. Ex1.15 (Iarca Romica - 10pt) S se demonstreze c mulimea T0 este o mulime nchis de funcii booleene. Ex1.16 (Popescu Angela - 4pt) Cte forme normale (FND-uri, FNC-uri, FNDP-uri, FNCP-uri) se pot forma peste o mulime cu n variabile ? Ex1.17 (Tudose Vlad Andrei - 15pt) Construii un tabel care s conin toate cele 16 funcii booleene de dou variabile. Notai-le cu cte un numr f1(x,y), f2(x,y), f16(x,y) i pentru fiecare dintre ele gsii FNDP i FNCP. Ex1.18 (Timofciuc Ana - 5pt) Construii un tabel care s conin toate cele 16 funcii booleene de dou variabile. Notai-le cu cte un numr f1(x,y), f2(x,y), f16(x,y) i gsii duala fiecreia. Care dintre cele 16 funcii sunt autoduale ? Ex1.20 (Rusu Marian - 15pt) Fie n un numr natural nenul i M = { x | x N, x n}. Doi operatori binari: : M x M M respectiv : M x M M definii astfel: (x,y) = max(x,y); (x,y) = min(x,y); ~x = n x (unde n este numrul natural iniial). Verificai dac < M, , , ~ > este o algebr Boolean. (Burciu George Ioan - 0pt) Ex1.21 (Alexandrescu Ancuta - 11pt) Fie n un numr natural nenul i M = { x | x N, x n}. Demonstrai c <M, cmmdc(x,y), cmmmc(x,y), n/x > este o algebr boolean (cmmdc = cel mai mare divizor comun, cmmmc = cel mai mic multiplu comun). Ex1.22 (Torok Istvan - 13pt - e pus cu rosu ca sa nu uit sa o trec) Artai (fr a utiliza tabele, ci numai relaii din definiia algebrei booleene) urmtoarele relaii: xx=x x+x=x dac x + y = y atunci x y = x x+xy=x x(x+y)=x x+ y=x+y

+xy= +y x( +y)=xy (x+y)= y x+ =y+ Ex1.23 (Irvunescu Miruna - 15pt) Verificai (fr a utiliza tabele, ci numai relaii din definiia algebrei booleene) egalitile: (x + z)( + ) ( +z) = x z (( y + z)( z + y) + z)((x + z)xyz + )= y + z + yz x(xy + =x

Ex1.24 (Grigorescu Mihaela Alexandra - 15pt - e pus cu rosu ca sa nu uit sa o trec) Artai (fr a utiliza tabele, ci numai relaii din definiia algebrei booleene) c:
1. 2.

x + y + = xz + x + z + (x + y)(x + )( + )( + z) = 0 ux + yz = (u + y)(x + y)(u + z)(x + z) Ex1.25 (Grigoruta Razvan - fr punctaj) Determinai FNDP i FNCP pentru funciile:

3.

1. 2. 3.
4.

f(x,y,z) = 1 f(x,y,z) = 0 f(x,y,z) = x + y f(x,y,z) = y + xy + x Ex1.26 (Maritanu Marius-Costel - 10pt) S se determine numrul funciilor cu n variabile care: a) sunt autoduale; b) pstreaz pe 0. Nota: Nu se cere numrul funciilor care sunt n acelai timp autoduale i care totodat pstreaz pe 0 (adic a) i b) sunt dou exerciii diferite). (Puscasu Dragos - 0pt) Ex1.27 (Neacsu Gabriel) S se determine numrul funciilor cu n variabile care: a) sunt liniare;

b) pstreaz pe 0. Nota: Nu se cere numrul funciilor care sunt n acelai timp liniare i care totodat pstreaz pe 1 (adic a) i b) sunt dou exerciii diferite). (Neculaico Vlad - 0pt) Ex1.28 (HUCAIL CIPRIAN-DANIEL) Gsii funciile de 3 variabile care sunt n acelai timp liniare i monotone. Ex1.29 (Zapis Marius - 15pt) Demonstrai c duala unei funcii monotone este de asemenea monoton. Ex1.30 (Mostovoi Denis - 10 ) Demonstrai c urmtoarele funcii sunt monotone: 1. 2. x + yz vx + xyz + vy + vz Ex1.31 (Popa Iulian - 7 ) Demonstrai c urmtoarele funcii sunt monotone: 1. 2. xy + yz vx + xz + xy + yz Ex1.32 (Astefanoaie Andrada Stefana - 15pt) Demonstrai c intersecia a dou mulimi nchise de funcii booleene este o mulime nchis. Ex1.33 (Albesteanu Ionel - 15pt) Exprimai urmtoarele funcii utiliznd doar operatorul lui Sheffer: 1. 2. 3.
4.

x+y xy

y + z Ex1.34 (Abalasei Camelia - 8pt) Demonstrai c urmtoarea mulime este complet: { + y, } Ex1.35 (Mocanu Dumitru - 13pt) Demonstrai c urmtoarea mulime este complet: Ex1.36 (Ursache Aurelian - 3 ) Demonstrai c mulimea { +y, xy} este baz n T1.

Ex1.37 (Pal Alin - 4pt) Demonstrai c nici una din mulimile T0, T1, Aut, Mon, Lin nu este inclus n celelalte patru. Ex1.38 Demonstrai c reuniunea a dou mulimi nchise de funcii booleene nu este o mulime nchis. Exerciii Logica Propoziional Nu uitai ca n prelabil s citii Regulamentul.

Ex2.1 (Pavel Gabriel - 12pt) Scriei toi rezolvenii pentru formula: F = ( A B C ) ( B C ) ( A C ) ( B C ) Ex2.2 (Corolea Danut Alexandru - 12pt) Scriei toi rezolvenii pentru formula: F = ( A B C ) ( B C ) ( B C ) A Ex2.3 (Livadariu Bogdan - 15pt) Scriei toi rezolvenii pentru formula: F = ( B C ) ( A C ) ( B ) ( A B ) ( A B C ) Ex2.4 (Nechifor Paul Rzvan - 15pt) Scriei un program care s afieze toi rezolvenii pentru o formul LP aflat n FNC. Ex2.5 (Pogurschi Nicu - 15pt) Scriei urmtoarele formule Horn sub form implicaional: a) F = (A B C) A B (D C) b) F = B D (A C D B) (D B) c) F = A B C (B D) (A B D) d) F = (C D) (A B) C e) F = C (B D) (A C D) B Ex2.6 (Holbora Bogdan - 15pt) Stabilii cu ajutorul algoritmului lui Horn dac urmtoarele formule sunt satisfiabile; n caz afirmativ precizai o structur pentru care formula gsit ca satisfiabil este adevrat: a) F = A D C ( A B) ( A B ) b) F = (A D B) A (A C) (C D) Ex2.7 (Matei Alexandru - 15pt) Stabilii cu ajutorul algoritmului lui Horn dac urmtoarele formule sunt satisfiabile; n caz afirmativ precizai o structur pentru care formula gsit ca satisfiabil este adevrat: a) F = (A D) C (C A) (C B D) B b) F = ( AB ) ( C D A ) C B Ex2.8 (Lacatusu Radu - 15pt) Stabilii cu ajutorul algoritmului lui Horn dac urmtoarele formule sunt satisfiabile; n caz afirmativ precizai o structur pentru care formula gsit ca satisfiabil este adevrat:

a) F = (A B C) C B A b) F = (B D) E C B (B D B) Ex2.9 (Emciuc Dumitru - 4pt) Stabilii cu ajutorul algoritmului lui Horn dac urmtoarele formule sunt satisfiabile; n caz afirmativ precizai o structur pentru care formula gsit ca satisfiabil este adevrat: a) F = (B C A) (B D) B C b) F = C (B D) (A C D) B Ex2.10 (Lupu Emanuel - 11pt) Scriei un program ntr-un limbaj de programare cunoscut care s transforme o formul Horn (n FNC) ntr-o formul horn sub form implicaional (se va verifica dac formula este Horn). (Cercel Alexandru-Vasile - 0pt) Ex2.11 (Tutuianu Gabriel -15 ) Gsii FND, FNC pentru formula: F = (A B C)CD Scriei un program ntr-un limbaj de programare cunoscut care s transforme o formul oarecare n FNC. Ex2.12 (Tatu Florin - 15pt) Demonstrai utiliznd algoritmul rezoluiei c formula (A B C) este consecin semantic din mulimea de formule: {(A B), (B C), (A C), (A B C)} Ex2.13 (Varvaruc Andrei - 15pt) Parantetizai corect apoi construii arborele asociat pentru fiecare din formulele urmtoare: a) F = ( A B C ) A B b) F = C ( B D ) ( C D) D Ex2.14 (Lupu Raluca - 15pt) Parantetizai corect apoi construii arborele asociat pentru fiecare din formulele urmtoare: a) F = D C B C D b) F = (C D B) (A B) (A D) Ex2.15 (Raileanu Ionut - 15pt) Parantetizai corect apoi construii arborele asociat pentru fiecare din formulele urmtoare: a) F = (A A) (A B D C) b) F = (D A C A (D B)) Ex2.16 (Lescai Ionel - 15pt) Realizai un program ntr-un limbaj de programare cunoscut care s genereze i s afieze arborele asociat unei formule. (Poama-Neagra Andreea-Monica - 15 pentru Ex2.17) Ex2.17 (Iharov Stefan - 10pt ) Care din urmtoarele formule sunt tautologii ? 1. 2.
3.

p ( q r ); ( p q ) r; ((p q) r) (p (q r));

4. 5.

(p (q r)) ((p q) r); (p r q s) ((p q)(r s));

Ex rezolvate Enun Fie gFB(2), h1, h2FB(3): h1(x1, x2, x3)=x1+x2x3 h2(x1, x2, x3)= g(x1, x2)=x1
1

x2

S se gseasc expresia funciei f=SUP(g, h1, h2) Rezolvare tim c fFB(3) Din definiia superpoziiei rezult: f(x1, x2, x3)=g(h1(x1, x2, x3), h2(x1, x2, x3)) tim din enun c h1(x1, x2, x3)=x1+x2x3 i h2(x1, x2, x3)= 1. Astfel, de aici rezult: f(x1, x2, x3)=g(x1+x2x3,
1

) x2. De aici rezult:

Tot din enun tim c g(x1, x2)=x1 g(x1+x2x3, Concluzie


1

)=(x1+x2x3)

Am gasit expresia funciei f=SUP(g, h1, h2): f(x1, x2, x3)=(x1+x2x3)


1

Studenti:Ex5 De la FIILogic Salt la: Navigare, cutare == S se realizeze tabelul de adevr,FNDP i FNCP pentru urmtoare funcie : == f(x,y,z)=(x+y Rezolvare : +yz+ )(x+ )

Vom construi tabelul aplicnd funciei ordinea de execuie a operanzilor : , +, i cu ajutorul tabelului de adevr pentru operatorii logici. x 0 0 1 1 y 0 1 0 1 0 0 0 1 0 1 1 0 + 0 1 1 1 1 1 0 1

Prin urmare tabelul de adevr pentru funcia din enun va arta in felul urmtor: x y z y x+y yz x+y +yz 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 x+y + yz+ 1 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 x+ 1 0 0 0 1 1 1 1 (x+y +yz+ )(x+ ) 1 0 1 0 1 1 1 1

0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0

Pentru aflarea FNDP se aplic teorema de descompunere n suma de termeni pentru n = 3 i k = 3: ( f(0,0,0))+( zf(0,0,1))+( y f(0,1,0))+( yzf(0,1,1))+ (x f(1,0,0))+(x zf(1,0,1))+(xy f(1,1,0))+(xyzf(1,1,1)) =( 1)+( z0)+( y 1)+( yz0)+(x 1)+(x z1)+ (xy 1)+(xyz1) deoarece produsele care au in componen valoarea 0 vor fi nule i 0 este element neutru la adunare,suma poate fi scris: ( 1)+( y 1)+(x 1)+(x z1)+ (xy 1)+(xyz1)=( )+( y )+(x )+(x z)+ (xy )+(xyz)

Pentru aflarea FNCP se aplic teorema de descompunere n produs de factori pentru n = 3 i k = 3: (x+y+z+f(0,0,0))(x+y+ +f(0,0,1))(x+ +z+f(0,1,0))(x+ + +f(0,1,1))( +y+z+f(1,0,0))( +y+ +f(1,0,1))( + +z+f(1,1,0))( + + +f(1,1,1)) =(x+y+z+1)(x+y+ +0)(x+ +z+1)(x+ + +0)( +y+z+1)( +y+ +1)( + +z+1)( + + +1) deoarece sumele care au in componen 1 vor avea valoarea 1 i 1 este element neutru la inmulire,produsul poate fi scris: (x+y+ +0)(x+ + +0)=(x+y+ )(x+ + )

Studenti:Ex18 De la FIILogic Salt la: Navigare, cutare Enun: S se determine numrul funciilor cu n variabile care: a) sunt autoduale i n acelai timp pstreaz pe 0; b) nu sunt nici autoduale i nici nu pstreaz pe 0. Rezolvare: a) Extract din rezolvarea exerciiului 1.26 a)(Vezi toat rezolvarea): Pentru ca o funcie oarecare f cu n variabile s fie autodual, este necesar i suficient ca: (x1, x2, ... xn) Bn, f(x1, x2, ... xn) = f(x1, x2, ... xn) i tim c, conform proprietilor dualitii: (Teoria dualitii) (x1, x2, ... xn) Bn, f(x1, x2, ... xn) = f( 1, 2, ... n) Aha.. ne este elene sa facem poza cu functia barata ? lasa ca si mie o sa imi fie lene sa mut degetul pe tastatura mai mai in dreapta :P Aadar deducem prin echivalen c, pentru ca o funcie f cu n variabile s fie autodual, este necesar i suficient ca: (x1, x2, ... xn) Bn, f(x1, x2, ... xn) = f( 1,
2

, ...

Extract din rezolvarea exerciiului 1.26 b)(Vezi toat rezolvarea): Despre o funcie boolean f:Bn B se spune c "pstreaz pe 0" dac i numai dac: (Teoria funciei care pastreaz pe 0) f(0n) = 0

Din ambele concluzii, se deduce c o funcie autodual i care pstreaz pe 0 este o funcie autodual pentru care f(0n) = 0 i f(1n) = 1, deoarece 1n = (0n) n construcia unei astfel de funcii f, ncepem prin a atribui f(0n) = 0 i f(1n) = 1 n continuare, rmne urmtoarea submulime n a crei puncte va trebui s atribuim valori pentru f: (Bn)' = Bn - {0n, 1n} Deoarece 0n i 1n sunt negaia una celeilalte, nseamn c (Bn)' este o mulime care pstreaz proprietatea important a mulimii Bn din rezolvarea de la 1.26 a), aceea de a se putea mpri n dou partiii de cardinal egal, a.. x din mulime, tot n mulime i acesta nu se afl n aceeai partiie cu x. Considernd rezolvarea de la 1.26 a), rmne de a atribui valori funciei f n toate punctele din (Bn)' pstrnd proprietatea de dualitate. Acelai lucru care a fost rezolvat n exerciiul 1.26 a), dar pentru mulimea Bn. Soluia gsit acolo este: N = 2|Bn| / 2 Prin nlocuire n soluia final gsit n exerciiul 1.26 a) a mulimii Bn cu mulimea (Bn)', rezult c numrul de moduri de a construi o funcie autodual pe n variabile care pstreaz pe 0 este: N' = 2|(Bn)'| / 2 = 2(|Bn|-2) / 2 = 2(2n-2) / 2 = 22n-1-1 b) Considernd rezolvate problemele de la Exerciiul 1.26, se poate urmri urmtoarea diagramare:

Pentru a gsi numrul de funcii care nu sunt autoduale i nici nu pstreaz pe 0, l putem calcula folosind rezultatele de la 1.26 i de la punctul a) precedent. Dac facem urmtoarele notaii:
1.

FA = numrul tuturor funciilor pe n variabile care sunt autoduale

2.
3.

F0 = numrul tuturor funciilor pe n variabile care pstreaz pe 0

FA0 = numrul tuturor funciilor pe n variabile care sunt autoduale i care n acelai timp pstreaz pe 0 4.
1.

FN = numrul tuturor funciilor pe n variabile FN - FA - F0 + FA0 = 22n - 22n-1 - 22n-1 + 22n-1-1 = 22n-1 - 22n-1-1 = (22n - 22n-1) / 2

i dac urmrim diagramele, concluzionm c numrul de funcii cutat este:

Studenti:Ex32 De la FIILogic Salt la: Navigare, cutare Enun: Demonstrai c funcia f(x,y,z)=xyz este autoduala (fara a folosi tabele de adevar) Rezolvare: x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1

Pentru aflarea FNDP se aplic teorema de descompunere n suma de termeni n sume de factori. ( f(0,0,0))+( zf(0,0,1))+ ( y f(0,1,0))+ ( yzf(0,1,1))+ (x f(1,0,0))+ (x zf(1,0,1))+ (xy f(1,1,0))+ (xyzf(1,1,1)) = ( 0)+( z1)+( y 1)+( yz0)+(x 1)+(x z0)+(xy 0)+(xyz1) Produsele care au "0" in componenta sunt nule deci suma devine: ( z1)+( y 1)+(x 1)+(xyz1) = z+ y +x +xyz Duala FNDP-ului acestei funcii este:

FNDP = ( + +z)( +y+ )(x+ + )(x+y+z) Pentru a demonstra dualitatea funciei cerute trebuie sa demonstram c FNDP=FNDP !Ideea de rezolvare este sa plecm de la FNDP i s ajungem la FNDP. FNDP = ( + +z)( +y+ )(x+ + )(x+y+z) = ( + y+ + + + z+yz)(x+xy+xz+x + z+x +y )= FNDP = z+ y + y + y + z+x +x +x + z+xyz+xyz+xyz FNDP = (z+z+z)+ (y+y+y)+xy(z+z+z)+ (x+x+x) = z+ y +x +xyz = FNDP Concluzie: Functia este autoduala ! Studenti:Ex42 De la FIILogic Salt la: Navigare, cutare Enun: S se arate c operaia "" este distributiv fa de "", dar nu i reciproc. Teorie: n scopul rezolvrii problemei, vom utiliza relaii din definiia Algebrei Booleene ,Legile lui deMorgan i de urmtoarele proprieti: 1. xy= y+x ; 2. x =0; 3. xx=x; 4. x+x=x. Rezolvare: Fie x, y i z. z(xy)=z( y+x )=z y+zx (Am folosit proprietatea 1 i apoi am desfcut parantezele aplicnd distributivitatea) Dar

(zx)(zy)=

zy+zx

=( + )zy+zx( + )= zy+ zy+zx +zx = zy+zx

(Am utilizat proprietatea 1, legile lui deMorgan, am desfcut parantezele aplicnd distributivitatea i apoi am folosit proprietatea 2.) Deci operaia "" este distributiv fa de "". Deoarece z(xy)= xy+z (Am utilizat proprietatea 1.) iar (zx)(zy)=( x+z )( y+z )= x y+ xz +z y+z z = x y+z z = xy+z (Am folosit proprietatea 1, am desfcut parantezele, am utilizat legile lui deMorgan i proprietatea 3.)

rezult c "" nu este distributiv fa de "" (

).

Precizare: proprietatea 1 n caz de nu se tie se poate verifica aici: Exemple:Exemplu1 De la FIILogic Salt la: Navigare, cutare Enunt Stabilii utiliznd Algoritmul lui HORN dac urmtoarea formul este satisfiabil i n caz afirmativ dai o structur care satisface formula: F = ( A B ) ( B C ) A C Rezolvare Dei formula este una de tip HORN, aceasta nu este scris sub form implicaional. Clauzele trebuie scrise sub form implicaional: ( A B ) ( A B ) ( B C ) ( B C ) ( ( B C )) ( ( B C ) 0) (( B C ) 0) (A) (A 0) (0 A) (1 A) (1 A) (C) (C 0) (0 C) (1 C) (1 C) Formula va devine aadar: ( A B ) ( B C 0) (1 A) (1 C)

Se aplic Algoritmul lui HORN: 1.


1.

Pas1: Variabila de test i este setat cu 0 : i = 0

Pas2(iteratia1): Se caut o clauz de tipul celor specificate n Algoritmul lui HORN (la pasul al doilea) i se gsete (1 A). 1. Pas3: Se alege clauza (1 A). 1. Pas4+5: Deoarece clauza este de tipul marcat nemarcat, literalul A (care este nemarcat) va fi marcat peste tot n formul: ( A* B ) (( B C ) 0) (1 A*) (1 C) Pas2(iteratia2): Se caut o clauz de tipul celor specificate n Algoritmul lui HORN (la pasul al doilea) i se gsete (1 C).
1.

1.

Pas3: Se alege clauza (1 C).

1. Pas4+5: Deoarece clauza este de tipul marcat nemarcat, literalul C (care este nemarcat) va fi marcat peste tot n formul: ( A* B ) (( B C* ) 0) (1 A*) (1 C*) Pas2(iteratia3): Se caut o clauz de tipul celor specificate n Algoritmul lui HORN (la pasul al doilea) i se gsete (A* B).
1.

1.

Pas3: Se alege clauza (A B).

1. Pas4+5: Deoarece clauza este de tipul marcat nemarcat, literalul B (care este nemarcat) va fi marcat peste tot n formul: ( A* B* ) (( B* C* ) 0) (1 A*) (1 C*) Pas2(iteratia4): Se caut o clauz de tipul celor specificate n Algoritmul lui HORN (la pasul al doilea) i se gsete (( B* C* ) 0).
1. 1. 1.

Pas3: Se alege clauza (( B* C* ) 0).

Pas4+6: Deoarece clauza este de tipul marcat 0, atribuim valoarea 1 variabilei i prin intermediul creia stabilim satisfiabilitatea formulei: i = 1 1. 1.
1.

Pas2(iteratia5): Nu se intra deoarece i 0; Pas7: Studiem valoarea variabilei i (care este 0); Pas10: Scriem "NU" (Formula este nesatisfiabil).