Sunteți pe pagina 1din 49

CURS 1

Sunt, n anul universitar 2013-2014, semestrul I, 16 sptmni de coal; sptmnile a 8-a i a 16-a sunt destinate lucrrilor de evaluare; Recuperri de cursuri vor fi anunate pe parcurs

INFORMAI-V LA TIMP (paginile web ale celor cu care lucrai)

DE CE LOGICA ?
Introducere; explicaii

LOGICA PENTRU INFORMATIC


Facultatea de Informatic Universitatea Al.I.Cuza Iai (http://www.info.uaic.ro)

Profesori 1
Prof. Dr. Cristian Masalagiu (curs) mcristy@info.uaic.ro http://profs.info.uaic.ro/~masalagiu

Profesori 2
Lect. Dr. tefan Ciobc (curs) stefan.ciobaca@info.uaic.ro http://profs.info.uaic.ro/~stefan.ciobaca

Profesori 3
Asist. Dr. Cosmin Vrlan (seminar) vcosmin@info.uaic.ro http://profs.info.uaic.ro/~vcosmin

Profesori 4
Asist. Dr. Vasile Alaiba (seminar) alaiba@info.uaic.ro http://profs.info.uaic.ro/~alaiba

Profesori 5
Colab. Drd. Marius Barat (seminar) marius.barat@info.uaic.ro http://students.info.uaic.ro/~marius.barat

Orar http://www.info.uaic.ro/~orar
Ore de consultaii (anunai n prealabil): C.Masalagiu, V.Alaiba, M.Barat: Vineri: 12.00, Cabinet C305 . Ciobc: Mari: 16, Cabinet C508 C.Vrlan: Miercuri: 18.00 Cabinet C211

Observaie: Orarul se poate modifica n timp; verificai sptmnal pe pagina Facultii

Cerine 1
http://www.info.uaic.ro -> Membri -> Personal Academic (pentru a cunoate i ali profesori
i a naviga ctre paginile noastre)

http://www.info.uaic.ro -> Studeni -> Regulamente


http://profs.info.uaic.ro/~masalagiu/ -> Seciunea Logic

Cerine 2
Nota final se obine n urma acumulrii unui numr de puncte (maxim 100) i n urma aplicrii unei ajustri de tip Gauss (conform regulamentului n vigoare)

Cerine 3
Cele 100 de puncte se pot obine n urma activitii din timpul semestrului:
10 p prezena la seminarii (4 verificri a prezenei, realizate aleatoriu, a cte 2,5 p) 40 p pentru rezolvarea de exerciii (ieiri la tabl) i participarea la lucrri (neanunate) 50 p pentru lucrrile de verificare a cunotinelor de la mijlocul i finalul semestrului

Cerine 4
Promovarea este asigurat de un punctaj minim total de 50 p Cumulat la lucrrile de verificare este necesar obinerea a minim 25 p A se consulta (deja menionat) mcar pagina http://profs.info.uaic.ro/~masalagiu (Logic)

Cerine 5
Bibliografie scris minimal:
Masalagiu, C. - Fundamentele logice ale Informaticii , Editura Universitii Al. I. Cuza, Iai, 2004, ISBN 973-703-015-X Masalagiu, C. - Introducere n programarea logic i limbajele de programare logic, Editura Universitii Al. I. Cuza, Iai, 1996 Cazacu, C., Slabu, V. - Logica matematica , Editura tefan Lupascu, Iai, 1999, ISBN 973-99044-0-8 M. Huth, M. Ryan - Logic in Computer Science: Modelling and Reasoning about Systems, Cambridge University Press, England, 2000, ISBN 0-521-65200-6

Cerine 6
Bibliografie principal (din nou):
Masalagiu, C. - Fundamentele logice ale Informaticii , Editura Universitatii Al. I. Cuza", Iasi, 2004, ISBN 973-703-015-X.

http://profs.info.uaic.ro/~masalagiu (n seciunea Logic - Bibliografie de baz; link-urile pot fi accesate doar din cadrul FII) Sugestie: nvai i dup carte, nu numai dup slide-uri !!!

Capitolele tematice
(Unele nu vor fi prezentate chiar n aceast ordine) Logica n Informatic Algebre booleene Logica propoziional Logica cu predicate de ordinul I Sisteme deductive i Teorii logice Introducere n Programarea logic (O)BDD-uri i verificare

Realitate
Realitate: obiecte i fenomene aflate n relaii de interdependen Relaiile (legturile) se reflect, n procesul gndirii umane, prin afirmaii (judeci)

Logica (intuitiv) 1
Logica (n sens filozofic) este tiina regulilor generale ale gndirii, cu accent pe aspectele exacte i de natur structural ale acesteia Alte definiii dup cum urmeaz

Logica (intuitiv) 2
Logica studiaz modul de alctuire a raionamentelor corecte, prin care, pornind de la afirmaii iniiale (presupuse a fi adevrate) se obin (utiliznd reguli de inferen) afirmaii noi (de asemenea adevrate)

Afirmaii
O afirmaie este adevrat dac reflect n mod adecvat realitatea i fals n caz contrar Este acceptat faptul c valorile de adevr ataate unei afirmaii pot avea o natur subiectiv i, n consecin, pot fi i altceva dect cele standard (adevrat i fals); dar astan alte logici De exemplu: necunoscut, posibil adevrat, adevrat din cnd n cnd, etc.

Logica clasic
Logica clasic (aristotelic, bivalent) folosete doar afirmaii crora li se poate asocia n mod unic o valoare de adevr standard (independent de context, moment de timp, etc.) i se bazeaz n esen pe principiul tertium non datur (teriul exclus: dac o afirmaie nu este adevrat, atunci ea este cu certitudine fals i reciproc) Un alt principiu este cel al extensionalitii (adevrul unei formule) Exist i logici neclasice (exemple)

Idei suplimentare 1
Logica matematic, formal (simbolic), preia problemele logicii filozofice i le cerceteaz folosind mijloace matematice specifice, punndu-se baz pe rigurozitate i claritate n detrimentul nuanelor sau intuiiei

Idei suplimentare 2
Aplicarea acesteia n Informatic necesit ns o anumit adaptare, att a modului de prezentare a conceptelor (terminologiei) ct i a metodelor de demonstraie, accentul cznd pe constructivism (algoritmic)

Despre CURS
Structura Cursului; sugestii privind examinarea Dificulti de nvare (sunt i avantaje) Paradoxuri, greeli frecvente, exemple Sfer, coninut, gen proxim, diferen specific Silogisme, axiome, teoreme, reguli de inferen, raionamente, exemple Axiome adevrate i reguli de inferen corecte (sound) pot exista raionamente corecte, dar dac se pleac cu premize false(vezi i paradoxuri) Sintax + semantic Logica este un limbaj de programare: formul + valoare de adevr (execuie = evaluare) Nr. de pagin s-ar putea s nu coincid cu ceea ce avei voi pe site (m refer la cartea publicat/tiprit)

Mulimi 1
Clasa funciilor booleene (intuitiv) Notaii Din manualele de matematic de liceu sunt bine cunoscute cel puin dou modaliti de a prezenta o mulime: -Prin enumerarea elementelor sale: N = {0, 1, 2, ...} este mulimea numerelor naturale

Mulimi 2
-Prin specificarea unei proprieti caracteristice: A = {x R | x2 + 9x 8 = 0}, este mulimea rdcinilor reale ale unei ecuaii polinomiale de gradul al II-lea -Mai avem o posibilitate, bazat pe constructivism:

Mulimi 3 (Peano)
Baza. 0 N (zero este numr natural) Pas constructiv (structural). Dac n N, atunci s(n) N (dac n este numr natural, atunci succesorul su imediat este numr natural) Nimic altceva nu mai este numr natural

Mulimi 4
Un prim avantaj este acela c se poate folosi aceeai metod pentru a introduce alte definiii, care sunt legate de mulimea respectiv n totalitatea ei Putem da astfel o definiie constructiv (recursiv) a adunrii numerelor naturale: -Baza. x + 0 = x, pentru fiecare x N (a aduna 0 la orice numr natural nseamn a-l lsa neschimbat) -Pas constructiv. x + s(y) = s(x + y), pentru fiecare x, y N (dac tim s calculm x + y i cunoatem succesorul imediat al numrului natural y, atunci tim s calculm i suma x + s(y); mai exact, aceasta coincide cu succesorul imediat al numrului care reprezint suma x + y) -Nimic altceva

Mulimi 5
Un al doilea, i cel mai important, avantaj este posibilitatea folosirii n demonstraii a Principiului induciei structurale: -Fie A o mulime definit constructiv, A A mulimea elementelor iniiale (definite prin pasul Baza al definiiei) i P o afirmaie care trebuie demonstrat pentru toate elementele lui A -Acceptm c P(a) este adevrat pentru fiecare a A dac i numai dac:

Mulimi 6
1) (Baza elemente iniiale): Artm c P(a) este adevrat pentru fiecare a A 2) (Pas inductiv elemente noi din elemente vechi): -Fie orice b A, element nou obinut din elementele deja construite a1, a2, ... , an, cu ajutorul operatorului f (vom conveni s scriem acest lucru prin b = f(a1, a2, ... , an), dei relaia dintre elementele vechi i cele noi nu este ntotdeauna de natur funcional) i presupunem c este adevrat P(ai) pentru fiecare i {1, 2, ..., n} -Artm c este adevrat P(b) Probleme suplimentare seminar (nu sunt obligatorii; v ghideaz asistenii; mai exist i o Culegere de probleme noi, n pregtire):
http://profs.info.uaic.ro/~masalagiu/pub/seminar%20logica%201-3.pdf

CURS 2
ncepem partea consistent, formal, a cursului

Algebre booleene 1
Se numete algebr boolean un 4-uplu M, M = <M, , , ~ >, format din orice mulime nevid M (suportul algebrei) dou operaii binare , : M M M i o operaie unar ~ : M M, care satisfac condiiile (legile):
1) x y = y x 2) (x y) z = x (y z) comutativitate (a lui )

asociativitate (a lui ) 3) x (y z) = (x y) (x z) distributivitate (a lui fa de ) 4) (x y) y = y absorbie 5) (x (~x)) y = y legea contradiciei

Algebre booleene 2
i respectiv 1) x y = y x comutativitate (a lui ) 2) (x y) z = x (y z) asociativitate (a lui ) 3) x (y z) = (x y) (x z) distributivitate (a lui fa de ) 4) (x y) y = y absorbie 5) (x (~x)) y = y legea tautologiei

Algebre booleene 3
Dualitate; principiul dualitii Notaii (reamintit: B, 2V; - , ; - +, U; ~ - , CV) Reprezentare (tabele de adevr, standard) Funcii importante (0, 1, 2 argumente): 0, 1, c0, c1, 1B, , +, , , | . Numrul de funcii din FB-uri Reprezentarea numeric a tabelelor standard Alte considerente algebrice (latici) Alte legi (Tabelul 1.1 pag.30 cartea tiprit)

Algebre booleene 4
Reprezentarea funciilor booleene Forme normale

Reprezentarea funciilor booleene 1


Notaii: x1 = x i x0 = x Indicii (superiori) precedeni nu se supun principiului dualitii (de exemplu, nu este adevrat c (x1 = x) coincide cu (x0 = x )) Dac xi, i B atunci, direct din notaiile de mai sus, rezult c: (x0) = (x)0 precum i (x = 1 dac i numai dac x = )

Reprezentarea funciilor booleene 2


Teorem (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 (demonstraie) Enunai teorema dual

Reprezentarea funciilor booleene 3


Definiie. Fie n N* i x1, x2, ... , xn B variabile (booleene) distincte. Notm mulimea (lista!) acestora cu X = {x1, x2, ... , xn}. Se numete termen (n-ar, peste X) orice produs

unde 0 k n, 1, 2, ... ,k B i 1 i1<i2 < ... < ik n

Reprezentarea funciilor booleene 4


Termenul generat pentru k=0 este 1 (prin convenie). Pentru k = n obinem aa-numiii termeni maximali (maxtermeni), adic acei termeni n care fiecare dintre variabilele considerate apare o dat i numai o dat (barat sau nebarat), n ordinea precizat Exemple Numrul de termeni i maxtermeni distinci Dual: factori i maxfactori

Forme normale 1
Definiie. -Se numete form normal disjunctiv (n-ar, n N*), sau (n-)FND pe scurt, orice sum (finit) de termeni n-ari distinci -Se numete form normal disjunctiv perfect (n-ar, n N*), sau (n-)FNDP pe scurt, orice sum de maxtermeni n-ari distinci Facem abstracie de ordinea (max)termenilor dintr-o sum, mai exact, considernd oricare dou sume care difer doar prin ordinea termenilor, le vom privi ca fiind identice - Vor exista astfel forme normale disjunctive n-are avnd k termeni, 0 k 3n (prin convenie, pentru k = 0, unica form care este acceptat i este i perfect, se noteaz tot cu 0) -Care va fi numrul total al (n -)FND urilor? Dar cel al (n-)FNDPurilor ?

Forme normale 2
Teorem. Orice funcie boolean f se poate reprezenta n mod unic ca o FNDP: (demonstraie) Mai spunem c expresia din membrul drept al reprezentrii este (o) FND(P) pentru f

Forme normale 3
Prin dualizare, folosind noiunile de (n-)factor peste X i maxfactor (n-ar, peste X), putem defini noiunea de form normal conjunctiv (n-ar) ((n-)FNC, adic orice produs de factori dictinci) i respectiv form normal conjunctiv (n-ar) perfect ((n-)FNCP, adic orice produs de maxfactori distinci) Convenie: dou produse nu vor fi considerate distincte dac difer doar prin ordinea componentelor Enunai duala teoremei anterioare, pentru FNCP Care va fi numrul total al (n -)FNC urilor? Dar cel al (n-)FNCPurilor ?

Forme normale 4
Vom continua cu o modalitate general de a construi ntreaga clas a funciilor booleene

Clase speciale de funcii booleene 1


Criteriul numrul total de apariii ale variabilelor n reprezentarea unei funcii (apariia unei aceleiai variabile pe poziii diferite se numr distinct) poate genera alte forme normale Folosind aceast msur (pe care o vom nota cu n()), putem numi form normal disjunctiv minimal (FNDM) pentru f FB orice FND, , astfel nct: n() = min {n() | este FND pentru f} Dat o funcie boolean f FB, se poate pune problema determinrii tuturor FNDM pentru f, sau a uneia standard (algoritmul lui Quine)

Clase speciale de funcii booleene 2


Similar, putem reduce n anumite cazuri timpul de procesare a unor texte (expresii, formule etc.) prin gsirea unui numr minim de operaii booleene convenabile, cu ajutorul crora s se reprezinte orice funcie boolean

Clase speciale de funcii booleene 3


Definiie. -Clasa funciilor booleene elementare este: n n i E = { ip | n N*, 1 p n, p : Bn B, n ip (x1, x2, ... , xp, ... , xn) = xp} (proiecii) -Fie n N*, t un numr natural, f, h1, h2, ... , ht FB(n) i g FB(t)

Clase speciale de funcii booleene 3


Spunem c f se obine din g, h1, h2, ... , ht prin superpoziie dac pentru fiecare x = <x1, x2, ... , xn> avem: f(x) = g(<h1(x), h2(x), ... , ht(x)>) -Fie M FB. Se numete M-ir orice secven (list) finit f0, f1, ... , fr de funcii booleene n care fiecare fi este fie din E U M, fie se obine prin superpoziie din alte funcii, aflate n aceeai list dar naintea lui fi

Clase speciale de funcii booleene 4


Alte notaii Mulimi nchise; nchideri Definiii alternative Rezultate importante Exemple: T0, T1, Aut, Mon, Lin Mulimi complete, precomplete, baze Alte rezultate i exemple

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