Inteligenta Artificiala Universitatea Politehnica Bucuresti Anul universitar

Σχετικά έγγραφα
Elemente de logicǎ matematicǎ

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Metode iterative pentru probleme neliniare - contractii

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Curs 1 Şiruri de numere reale

Sisteme diferenţiale liniare de ordinul 1

Reprezentare si rationament folosind clauze precise. Capitolul 2

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Integrala nedefinită (primitive)

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Curs 4 Serii de numere reale

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

Functii Breviar teoretic 8 ianuarie ianuarie 2011

riptografie şi Securitate

Examen AG. Student:... Grupa:... ianuarie 2011

Esalonul Redus pe Linii (ERL). Subspatii.

Curs 2 Şiruri de numere reale

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

2 Transformări liniare între spaţii finit dimensionale

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Logică și structuri discrete. Logica predicatelor. Marius Minea 10 noiembrie 2014

Examen AG. Student:... Grupa: ianuarie 2016

Metode de interpolare bazate pe diferenţe divizate

z a + c 0 + c 1 (z a)

Metode de demonstraţie pentru teorema de completitutine - studiu comparativ -

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Criptosisteme cu cheie publică III

Logică și structuri discrete. Marius Minea marius/curs/lsd/ 31 octombrie 2016

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Logică și structuri discrete. Logica predicatelor. Marius Minea 24 noiembrie 2015

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Laborator 11. Mulţimi Julia. Temă

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Capitolul 2 - HIDROCARBURI 2.5.ARENE

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

Subiecte Clasa a VII-a

3.4. Minimizarea funcţiilor booleene

Subiecte Clasa a VIII-a

Asupra unei inegalităţi date la barajul OBMJ 2006

Matrice. Determinanti. Sisteme liniare

Geometrie computationala 2. Preliminarii geometrice

1.3 Baza a unui spaţiu vectorial. Dimensiune

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Seminar 5 Analiza stabilității sistemelor liniare

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

Sisteme liniare - metode directe

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Grafuri planare Colorarea grafurilor. Curs 12. Grafuri planare. Colorarea grafurilor. Polinoame cromatice. 23 decembrie 2016.

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.

Principiul Inductiei Matematice.

3.4. Minimizarea funcţiilor booleene

5.4. MULTIPLEXOARE A 0 A 1 A 2

V O. = v I v stabilizator

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

MARCAREA REZISTOARELOR

Asupra unei metode pentru calculul unor integrale definite din functii trigonometrice

SEMINAR TRANSFORMAREA FOURIER. 1. Probleme

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

3 FUNCTII CONTINUE Noţiuni teoretice şi rezultate fundamentale Spaţiul euclidian R p. Pentru p N *, p 2 fixat, se defineşte R

VII.2. PROBLEME REZOLVATE

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

George Georgescu 1, Afrodita Iorgulescu 2 1 Universitatea din Bucureşti, Catedra de Fundamentele Informaticii 2 Academia de Studii Economice, Catedra


Probleme pentru clasa a XI-a

Ecuatii trigonometrice

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Integrale cu parametru

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

1Ecuaţii diferenţiale

Arhitectura Calculatoarelor. Fizică - Informatică an II. 2. Circuite logice. Copyright Paul GASNER 1

Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1

CURS 5 Spaţii liniare. Spaţiul liniar R n

a. 11 % b. 12 % c. 13 % d. 14 %

J F (ρ, ϕ, θ) = cos ϕ ρ sin ϕ 0. Teoremă (a diferenţiabilităţii compuse) (legea lanţului) Fie F : D deschis

IV. CUADRIPOLI SI FILTRE ELECTRICE CAP. 13. CUADRIPOLI ELECTRICI

Curs 4. RPA (2017) Curs 4 1 / 45

Transcript:

Inteligenta Artificiala Universitatea Politehnica Bucuresti Anul universitar 2010-2011 Adina Magda Florea http://turing.cs.pub.ro/ia_10 si curs.cs.pub.ro 1

Curs nr. 5 Reprezentarea cunostintelor in IA Modelul logicii simbolice Reprezentarea cunostintelor in logica simbolica Sistem formal Logica propozitiilor Logica cu predicate de ordinul I Demonstrarea teoremelor prin respingere rezolutiva Limbajul Prolog 2

1. Reprezentarea cunostintelor in LS Logica avantaje Puterea de reprezentare a diverselor logici simbolice Conceptualizare + exprimarea in limbaj Limbaj formal: sintaxa, semantica Reguli de inferenta 3

2. Sistem formal Un sistem formal este un cuadruplu O regula de inferenta corespondenta: n R R de aritate n este o R F F, y = y,...,y x, x,y F, i = 1,n 1 n R S =< A, F, A, R > i Fie multimea de premise Un element x din este o consecinta a multimii de premise Γ Γ = {y,..., y 1 n } E = 0 Γ A E = E U{ x y E, y R x} E = E U{ x y E, y R x} 1 0 0 n n 1 E i (i 0) 2 1 1 n n 1 4

Sistem formal - cont E 0 = Γ A x E i Daca atunci este deductibil din Γ Γ S x Secventa r.i. - deductie Daca teoreme E 0 = A ( Γ = φ) atunci elementele lui E i se numesc Fie x E i o teorema; se obtine prin aplicarea succesiva a r.i. asupra formulelor din E i Secventa de reguli - demonstratie. R x 5

3. Logica propozitiilor 3.1 Sintaxa Alfabet O formula bine formata in calculul propozitional se defineste recursiv astfel: (1)Un atom este o formula bine formata (2)Daca P este formula bine formata, atunci ~P este formula bine formata. (3)Daca P si Q sint formule bine formate atunci P Q, P Q, P Q si P Q sint formule bine formate. (4)Multimea formulelor bine formate este generata prin aplicarea repetata a regulilor (1)..(3) de un numar finit de ori. 6

3.2 Semantica Interpretare Functia de evaluare a unei formule Proprietatile fbf Valida/tautologie Realizabila Inconsistenta Formule echivalente 7

Semantica - cont O formula F este o consecinta logica a unei formule P daca F are valoarea adevarat in toate interpretarile in care P are valoarea adevarat. O formula F este consecinta logica a unei multimi de formule P 1, P n interpretarile in care P 1, P n sunt adevarate. Consecinta logica se noteaza P 1, P n F. daca formula F este adevarata in toate Teorema. Formula F este consecinta logica a unei multimi de formule P 1, P n daca formula P 1, P n F este valida. Teorema. Formula F este consecinta logica a unei multimi de formule P 1, P n daca formula P 1 P n ~F este inconsistenta. 8

Legi de echivalenta Idempotenta P P P P P P Asociativitate (P Q) R P (Q R) (P Q) R P (Q R) Comutativitate P Q Q P P Q Q P P Q Q P Distributivitate P (Q R) (P Q) (P R) P (Q R) (P Q) (P R) De Morgan ~ (P Q) ~ P ~ Q ~ (P Q) ~ P ~ Q Eliminarea implicatiei Eliminarea implicatiei duble P Q ~ P Q P Q (P Q) (Q P) 9

3.3 Obtinerea de noi cunostinte Conceptualizare Reprezentare in limbaj Teoria modelului KB = S x Teoria demonstratiei KB R x Logici monotone Logici nemonotone 10

3.4 Reguli de inferenta Modus Ponens Substitutia Regula inlantuirii P P Q Q P Q P Q R R Regula introducerii conjunctiei P Q P Q Regula transpozitiei P Q ~ Q ~ P 11

Exemplu Mihai are bani Masina este alba Masina este frumoasa Daca masina este alba sau masina este frumoasa si Mihai are bani atunci Mihai pleaca in vacanta B A F (A F) B C 12

4. Logica cu predicate de ordinul I 4.1 Sintaxa Fie D un domeniu de valori. Un termen se defineste astfel: (1) O constanta este un termen cu valoare fixa apartinand domeniului D. (2) O variabila este un termen ce poate primi valori diferite din domeniul D. (3) Daca f este o functie de n argumente termeni, atunci f(t 1,..t n ) este termen. si t 1,..t n sint (4) Toti termenii sunt generati prin aplicarea regulilor (1) (3). 13

Sintaxa LP - cont Predicat de aritate n Atom sau formula atomica. Literal O formula bine formata in logica cu predicate de ordinul I se defineste astfel: (1) Un atom este o formula bine formata (2) Daca P[x] este fbf, atunci ~P[x] este fbf. (3) Daca P[x] si Q [x] sunt fbf atunci P[x] Q[x], P[x] Q[x], P Q si P Q sunt fbf. (4) Daca P[x] este fbf atunci x P[x], x P[x] sunt fbf. (5) Multimea formulelor bine formate este generata prin aplicarea repetata a regulilor (1)..(4) de un numar finit de ori. 14

Sintaxa pe scurt Constante Variabile Functii a x f(x, a) Termeni Predicate P Formule atomice negate ~P(a, x) Formule atomice P(a, x) Cuantificatori Literali Conectori logici,,,,, Formule bine formate 15

FNC, FND O formula bine formata este in forma normala conjunctiva, pe scurt FNC, daca formula are forma F 1 F n, unde este F i, i=1,n sunt formule formate dintr-o disjunctie de literali (L i1 L im ). O formula bine formata este in forma normala disjunctiva, pe scurt FND, daca formula are forma, F 1 F n, unde F i, i=1,n sunt formule formate dintr-o conjunctie de literali (L i1 L im ) 16

4.2 Semantica LP Interpretarea unei formule F in logica cu predicate de ordinul I consta in fixarea unui domeniu de valori nevid D si a unei asignari de valori pentru fiecare constanta, functie si predicat ce apar in F astfel: (1) Fiecarei constante i se asociaza un element din D. (2) Fiecarei functii f, de aritate n, i se asociaza o corespondenta D n D, unde n D = {(x,...,x ) x D,...,x D} 1 n 1 n (3) Fiecarui predicat de aritate n, i se asociaza o corespondenta P:D n { a, f} 17

Interpretare I ( x)(((a(a,x) B(f (x))) C(x)) D(x)) D={1,2} a 2 f(1) f(2) 2 1 A(2,1) A(2,2) B(1) B(2) C( 1) C( 2) D( 1) D( 2) a f a f a f f a X=1 X=2 (( a f ) a) f (( f a) f ) a 18

4.3 Proprietatile fbf in LP Valida/tautologie Realizabila Inconsistenta Echivalente F - consecinta logica a unei formule P F - consecinta logica a unei multimi de formule P 1, P n Teorema. Formula F este consecinta logica a unei multimi de formule P 1, P n daca formula P 1, P n F este valida. Teorema. Formula F este consecinta logica a unei multimi de formule P 1, P n daca formula P 1 P n ~F este inconsistenta. 19

Echivalenta cuantificatorilor (Qx)F[x] G (Qx)(F[x] G) (Qx)F[x] G (Qx)(F[x] G) ~ (( x)f[x]) ( x)(~ F[x]) ~ (( x)f[x]) ( x)(~ F[x]) ( x)f[x] ( x)h[x] ( x)(f[x] H[x]) ( x)f[x] ( x)h[x] ( x)(f[x] H[x]) (Q x)f[x] (Q x)h[x] (Q x)(q z)(f[x] H[z]) (Q x)f[x] (Q x)h[x] (Q x)(q z)(f[x] H[z]) 1 2 1 2 1 2 1 2 20

Exemple Toate merele sunt rosii Toate obiectele sunt mere rosii Exista un mar rosu Toate pachetele din camera 27 sunt mai mici decat orice pachet din camera 28 Toate ciupercile purpurii sunt otravitoare x (Purpuriu(x) Ciuperca(x)) Otravitor(x) x Purpuriu(x) (Ciuperca(x) Otravitor(x)) x Ciuperca (x) (Purpuriu (x) Otravitor(x)) ( x)( y) iubeste(x,y) ( y)( x) iubeste(x,y) 21

4.4. Reguli de inferenta in LP Modus Ponens (MP) Substitutia Regula inlantuirii Transpozitia Eliminarea conjunctiei (ElimC) Introducerea conjunctiei (IntrC) Instantierea universala (InstU) Instantierea existentiala (InstE) Rezolutia P(a) ( x)(p(x) Q(x)) Q(a) 22

Exemplu Caii sunt mai rapizi decat cainii si exista un ogar care este mai rapid decat orice iepure. Se stie ca Harry este un cal si ca Ralph este un iepure. Sa se demonstreze faptul ca Harry este mai rapid decat Ralph. Cal(x) Caine(y) MaiRapid(y,z) Ogar(y) Iepure(z) x y Cal(x) Caine(y) MaiRapid(x,y) y Ogar(y) ( z Iepure(z) MaiRapid(y,z)) Cal(Harry) Iepure(Ralph) 23 y Ogar(y) Caine(y) x y z MaiRapid(x,y) MaiRapid(y,z) MaiRapid(x,z)

Exemplu de demonstrare Teorema: MaiRapid(Harry, Ralph)? Demonstrare folosind reguli de inferenta 1. x y Cal(x) Caine(y) MaiRapid(x,y) 2. y Ogar(y) ( z Iepure(z) MaiRapid(y,z)) 3. y Ogar(y) Caine(y) 4. x y z MaiRapid(x,y) MaiRapid(y,z) MaiRapid(x,z) 5. Cal(Harry) 6. Iepure(Ralph) 7. Ogar(Greg) ( z Iepure(z) MaiRapid(Greg,z)) 2, InstE 8. Ogar(Greg) 7, ElimC 9. z Iepure(z) MaiRapid(Greg,z)) 7, ElimC 24

Exemplu de demonstrare - cont 10. Iepure(Ralph) MaiRapid(Greg,Ralph) 9, InstU 11. MaiRapid(Greg,Ralph) 6,10, MP 12. Ogar(Greg) Caine(Greg) 3, InstU 13. Caine(Greg) 12, 8, MP 14. Cal(Harry) Caine(Greg) MaiRapid(Harry, Greg) 1, InstU 15. Cal(Harry) Caine(Greg) 5, 13, IntrC 16. MaiRapid(Harry, Greg) 14, 15, MP 17. MaiRapid(Harry, Greg) MaiRapid(Greg, Ralph) MaiRapid(Harry,Ralph) 4, InstU 18. MaiRapid(Harry, Greg) MaiRapid(Greg, Ralph) 16, 11, IntrC 19. MaiRapid(Harry,Ralph) 17, 18, MP 25

5. Demonstrarea teoremelor prin respingere rezolutiva 5.1 Forma standard Clauza Clauza Horn Clauza Horn definita Clauza vida Transformare in forma clauzala Forme de notare Forma clauzala ~A(x) B(x) Forma clauzala multime {~A(x), B(x)} Forma consecinta (Gentzer) A(x) B(x) Forma Prolog B(x) :- A(x) 26

5.2 Unificarea expresiilor Substitutie α Unificator Cel mai general unificator β Expresie Algoritm de unificare 27

Algoritm Unifica(E1,E2): Unificarea expresiilor 1. daca E1 si E2 sunt constante atunci 1.1. daca E1=E2 atunci intoarce { } 1.2. intoarce INSUCCES 2. daca E1 este variabila atunci 2.1 daca E1 apare in E2 atunci intoarce INSUCCES altfel intoarce {E1/E2} 3. daca E2 este variabila atunci 3.1 daca E2 apare in E1 atunci intoarce INSUCCES altfel intoarce {E2/E1} 4. daca E1= { } sau E2 = { } atunci intoarce INSUCCES 28

5. daca E1=simb(t 11,,t 1n ) si E2=simb(t 21, t 2n ) atunci 5.1 X t 11, Y t 21 5.2 Rest 1 t 12,,t 1n, Rest 2 t 22, t 2n 5.3 α1 Unifica(X,Y) 5.4 daca α1= INSUCCES atunci intoarce INSUCCES 5.5 G 1 aplica(α1,rest 1 ), G 2 aplica(α1,rest 2 ) 5.6 α2 Unifica(G 1, G2 2 ) 5.7 daca α2= INSUCCES atunci intoarce INSUCCES altfel intoarce (α1, α2 ) 6. intoarce INSUCCES sfarsit. 29

5.3 Rezolutia in logica propozitiilor Rezolvent Clauze care rezolva Principiul demonstratiei Arbore de demonstrare 30

Algoritm: Respingerea prin rezolutie in logica propozitionala. 1. Converteste setul de axiome A in forma clauzala si obtine multimea de clauze S 2. Neaga teorema, transforma teorema negata in forma clauzala si adauga rezultatul la S 3. repeta 3.1. Selecteaza o pereche de clauze C 1 si C 2 din S 3.2. Determina R = Res(C 1,C 2 ) 3.3. daca R atunci adauga R la S pana R = sau nu mai exista nici o pereche de clauze care rezolva 4. daca s-a obtinut clauza vida atunci teorema este adevarata (este demonstrata) 5. altfel teorema este falsa sfarsit. 31

Comentarii strategie decidabilitate 32

Exemplu Mihai are bani Masina este alba Masina este frumoasa Daca masina este alba sau masina este frumoasa si Mihai are bani atunci Mihai pleaca in vacanta B A F (A F) B C 33

5.4 Rezolutia in logica predicatelor Rezolvent binar Clauze care rezolva Factor al unei clauze Rezolvent 34

Algoritm: Respingerea prin rezolutie in logica predicatelor. 1. Converteste setul de axiome A in forma clauzala si obtine multimea de clauze S 2. Neaga teorema, transforma teorema negata in forma clauzala si adauga rezultatul la S 3. repeta 3.1. Selecteaza o pereche de clauze C 1 si C 2 din S 3.2. Determina R = {Res(C 1,C 2 )} 3.3. daca R atunci reuneste R cu S pana s-a obtinut sau nu mai exista nici o pereche de clauze care rezolva sau un efort a fost epuizat 4. daca s-a obtinut clauza vida atunci teorema este adevarata (este demonstrata) 5. altfel daca nu mai exista nici o pereche de clauze care rezolva atunci teorema este falsa altfel nu se stie sfarsit. 35

Comentarii strategie decidabilitate completitudine 36

Exemplu Horses are faster than dogs and there is a greyhound that is faster than every rabbit. We know that Harry is a horse and that Ralph is a rabbit. Derive that Harry is faster than Ralph. Horse(x) Dog(y) Faster(y,z)) Greyhound(y) Rabbit(z) x y Horse(x) Dog(y) Faster(x,y) y Greyhound(y) ( z Rabbit(z) Faster(y,z)) Horse(Harry) Rabbit(Ralph) y Greyhound(y) Dog(y) x y z Faster(x,y) Faster(y,z) Faster(x,z) 37

A1. x y Horse(x) Dog(y) Faster(x,y) A2. y Greyhound(y) ( z Rabbit(z) Faster(y,z)) A3. Horse(Harry) A4. Rabbit(Ralph) A5. y Greyhound(y) Dog(y) A6. x y z Faster(x,y) Faster(y,z) Faster(x,z) T Faster(Harry,Ralph) C1. ~Horse(x) ~Dog(y) Faster(x,y) C2. Greyhound(Greg) C2 ~Rabbit(z) Faster(Greg,z) C3. Horse(Harry) C4. Rabbit(Ralph) C5. ~Greyhound(y) Dog(y) C6. ~Faster(x,y) ~Faster(y,z) Faster(x,z) C7. ~Faster(Harry,Ralph) 38

5.5 Strategii rezolutive Strategia dezvoltarii pe latime Strategia multimii suport Strategia rezolutiei liniare Strategia rezolutiei liniare de intrare Strategia rezolutiei unitare Strategia eliminarii 39

Strategia dezvoltarii pe latime ~C(x) V L(x) ~D(y) V ~L(y) D(a) I(a) ~I(u) V C(u) ~C(x) V ~D(y) L(x) V ~I(x) ~L(a) C(a) ~D(a) ~C(a) ~I(a) ~D(y) V ~I(y) ~D(y) V ~I(y) 40

Strategia dezvoltarii pe latime S 0, L 0 L k+1 {Res(C i, C j ) C i L k, C j S k } S k+1 S k L k+1 k = 0,1,2, Strategia multimii suport S, T S 0 =S T, S T=φ S S {Res(C i, C j ) C i S, C j T} 41

Strategia rezolutiei liniare S, C 0 S C 1 {Res(C 0, C i ) C 0, C i S} C k+1 {Res(C k, C i ) C i {C k-1, C k-2,.. } S} k=1, 2, 3, Strategia rezolutiei liniare de intrare S, C 0 S C 1 {Res(C 0, C i ) C 0, C i S} C k+1 {Res(C k, C i ) C i S} k=1, 2, 3, Strategia rezolutiei unitare 42

Clauze subsumate O clauza C subsumeaza o clauza D daca si numai daca exista o substitutie α astfel incat Cα D. D se numeste clauza subsumata. C=P(x) D=P(a) Q(a) Strategia eliminarii 43

Verificare C subsumeaza D D = L 1 L m, α = {x 1 /a 1,.. x n /a n } Dα = L 1 α L m α, ~Dα = ~L 1 α ~L m α 1. W {~L 1 α,, ~L m α} 2. k 0, U 0 {C} 3. daca U k atunci intoarce SUCCES 4. U k+1 {rez(c 1,C 2 ) C 1 U k, C 2 W} 5. daca U k+1 = φ atunci intoarce INSUCCES 6. k k+1 7. repeta de la 3 sfarsit 44

5.6 Obtinerea raspunsurilor ( x)(estela(mihai, x) EsteLa(grivei, x)) EsteLa(mihai,scoala) ( y)estela(grivei, y) C1 C2 C3 ~ EsteLa(mihai, x) EsteLa(grivei, x) EsteLa(mihai,scoala) ~ EsteLa(grivei,y) (C3) ~EsteLa(grivei,y) ~EsteLa(mihai,x) V EsteLa(grivei,x) (C1) {x/y} (C4) ~EsteLa(mihai,x) EsteLa(mihai,scoala) (C2) {scoala/x} (a) 45

(C3) ~EsteLa(grivei,y) V EsteLa(grivei,y) ~EsteLa(mihai,x) V EsteLa(grivei,x) (C1) {x/y} (C4) ~EsteLa(mihai,x) VEsteLa(grivei,x) EsteLa(mihai,scoala) (C2) EsteLa(grivei,scoala) {scoala/x} (b) 46

6. Prolog R. Kowalski, A. Colmerauer - începutul anilor '70 Corespondenta Logica cu Predicate si limbajul Prolog clauze Horn definite Structura logica vs structura de control si executie 47

6.1 Structura logica a limbajului Prolog Un scop S este adevarat intr-un program Prolog, adica poate fi satisfacut sau derivă logic din program, daca si numai daca: 1. exista o clauza C a programului; 2. exista o instanta I a clauzei C astfel incat: antetul lui I sa fie identic cu cel al lui S; toate scopurile din corpul lui I sunt adevarate, deci pot fi satisfacute 48

6.2 Structura de control si executie a limbajului Prolog Rezolutie liniara de intrare Ordinea faptelor si clauzelor Ordinea scopurilor in corpul clauzelor Backtracking 49

6.3 Prolog exemplu % parinte(individx, IndividY) % stramos(individx, IndividZ) parinte(vali, gelu). parinte(ada, gelu). parinte(ada, mia). parinte(gelu, lina). parinte(gelu, misu). parinte(misu, roco). vali gelu lina str1(x, Z) :- parinte(x, Z). str1(x, Z) :- parinte(x, Y), str1(y, Z). ada mia mişu roco 50

Prolog exemplu % Se schimba ordinea regulilor: str2(x, Z) :- parinte(x, Y), str2(y, Z). str2(x, Z) :- parinte(x, Z). % Se schimba ordinea scopurilor in prima varianta: str3(x, Z) :- parinte(x, Z). str3(x, Z) :- str3(x, Y), parinte(y, Z). % Se schimba atat ordinea regulilor, cat si ordinea scopurilor: str4(x, Z) :- str4(x, Y), parinte(y, Z). str4(x, Z) :- parinte(x,z). 51

Prolog - exemplu str1(ada, misu)?- str1(ada, misu). yes parinte(ada, misu) INSUCCES parinte(ada, Y), str1(y, misu) Y=gelu str1(gelu, misu) parinte(ada, gelu) parinte(gelu, misu) SUCCES SUCCES str3(ada, misu)?- str2(ada, misu). yes?- str3(ada, misu). yes parinte(ada, misu) INSUCCES str3(ada, Y), parinte(y, misu) Y=Y' parinte(gelu, misu) parinte(ada, Y') SUCCES Y'=gelu parinte(ada, gelu) SUCCES 52

Prolog exemplu?- str4(ada, misu). str4(ada, misu) str4(ada, Y), parinte(y, misu) str4(ada, Y'), parinte(y', Y) str4(ada, Y"), parinte(y", Y)?- str3(mia, roco).... arbore infinit str3(mia, roco) parinte(mia, roco) str3(mia, Y), parinte(y, roco) INSUCCES parinte(mia, Y) str3(mia, Y'), parinte(y', Y) INSUCCES parinte(mia, Y') str3(mia, Y"), parinte(y", Y') INSUCCES parinte(mia, Y") INSUCCES... arbore infinit 53