Sunteți pe pagina 1din 82

Inteligență artificială

6. Metode de inferență în logica


propozițională și predicativă
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” din Iași
Facultatea de Automatică și Calculatoare

http://florinleon.byethost24.com/curs_ia.htm

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm


Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
1.2. Modus Tollens 2.2. Raționamentul înapoi
1.3. Rezoluția propozițională 2.3. Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 2


Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
1.2. Modus Tollens 2.2. Raționamentul înapoi
1.3. Rezoluția propozițională 2.3. Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 3


Logica și limbajul natural
 În limbajul natural, multe propoziții sunt
ambigue și pentru ele există mai multe
moduri de reprezentare
 Reprezentările simple sunt preferabile, însă pot
face imposibile unele tipuri de raționament
 Logica aduce formalizarea codării
cunoștințelor

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 4


Logica propozițională
 Formalismul logic permite derivarea de noi
cunoștințe din cunoștințe deja existente, prin
deducție logico-matematică sau inferență
 O propoziție e adevărată dacă derivă din
propoziții cunoscute ca adevărate
 Domeniu strâns legat de demonstrarea
automată a teoremelor și inteligența artificială

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 5


Formule bine formate

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 6


Propoziție

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 7


Deducție. Teoremă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 8


Tautologie

Demonstrare semantică

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 9


Teorema de completitudine a
calculului propozițional
 În calculul propozițional mulțimea teoremelor
coincide cu mulțimea tautologiilor

 Noțiunea de teoremă este de natură sintactică, în


timp ce noțiunea de tautologie are o natură
semantică
 Teorema subliniază faptul că aceste noțiuni sunt
echivalente
 Orice tautologie poate fi dedusă pe cale sintactică
 Orice propoziție adevărată în orice caz este o teoremă și
poate fi folosită ulterior pentru inferențe
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 10
Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
2.2. Raționamentul înapoi
1.2. Modus Tollens
2.3. Rezoluția predicativă
1.3. Rezoluția propozițională

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 11


Metode de inferență: MP, MT
 Modus ponendo ponens (prescurtat Modus Ponens)
 Premise: P → Q și P
 Concluzie: Q
 Lat. „ponere” = a pune, a afirma
 Modalitatea care, afirmând P, afirmă Q
 Afirmarea antecedentului
 Modus tollendo tollens (prescurtat Modus Tollens)
 Premise: P → Q și non Q
 Concluzie: non P
 Lat. „tollere” = a lua, a nega
 Modalitatea care, negând Q, neagă P
 Negarea consecventului

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 12


Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
2.2. Raționamentul înapoi
1.2. Modus Tollens
2.3. Rezoluția predicativă
1.3. Rezoluția propozițională

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 13


Reguli de transformare a
formulelor (I)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 14


Reguli de transformare a
formulelor (II)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 15


Forma normal conjunctivă
 engl. “Conjunctive Normal Form”
 O conjuncție de disjuncții
 un ȘI de SAU-uri

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 16


Transformarea în FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 17


Transformarea Țeitin (I)

G.S. Tseitin - On the complexity


of derivation in propositional
calculus, Studies in Constructive
Mathematics and Mathematical
Logic, part 2, pp. 115-125, 1968

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 18


Transformarea Țeitin (II)
 Evită expandarea exponențială
 Rezultatul este proporțional cu dimensiunea formulei
originare
 Noua formulă poate să nu fie echivalentă cu formula
originară
 De exemplu, dacă xi = fals
 Formula originară este (ne)realizabilă (engl.
“(un)satisfiable”) dacă și numai dacă formula nouă
este (ne)realizabilă
 Proprietate necesară pentru procesul de rezoluție

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 19


Rezoluția propozițională (I)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 20


Rezoluția propozițională (II)
 Ideea de bază a acestei forme de raționament este deducerea
din două propoziții, în care unul din termeni apare cu valori de
adevăr contrare, a unei noi propoziții din care este eliminat
termenul respectiv

 Demonstrarea prin rezoluție se bazează pe reducere la absurd:


se adaugă concluzia negată la baza de cunoștințe și dacă se
poate ajunge la o contradicție, concluzia se poate demonstra

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 21


Demonstrarea semantică

Termenii nu sunt echivalenți,


dar implicația este adevărată

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 22


Exemplul 1

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 23


FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 24


Procesul de rezoluție

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 25


Rezolvenți multipli

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 26


Exemplul 2

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 27


FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 28


Rezoluția

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 29


Rezoluția

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 30


Rezoluția

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 31


Decidabilitatea
 Un sistem logic este decidabil dacă există o
metodă eficientă care determină dacă o
formulă arbitrară este o teoremă a sistemului
logic considerat
 Dacă se poate stabili dacă o formulă este
adevărată sau nu
 Logica propozițională este decidabilă
 Există metoda clasică a tabelei de adevăr
 Rezoluția propozițională este o metodă alternativă,
mai eficientă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 32
Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
1.2. Modus Tollens 2.2. Raționamentul înapoi
1.3. Rezoluția propozițională 2.3. Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 33


Logica predicatelor de ordin I
 Formulele depind de variabile
 Cuantificatorii se referă la variabile

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 34


Exemple

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 35


Reducerea la inferența
propozițională

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 36


Reducerea la inferența
propozițională
 Orice formulă predicativă de ordinul I poate fi propoziționalizată
 Mulțimea de termeni ar putea fi infinită
 Father(Father(Father(John)))
 Teorema lui Herbrand
 Dacă o propoziție este implicată de o bază de cunoștințe de ordin I,
demonstrația implică o submulțime finită a bazei de cunoștințe
propoziționalizate
 Ordinul termenilor crește iterativ în adâncime
 Mai întâi simbolurile constante: Richard, John
 Apoi la adâncimea 1: Father(Richard), Father(John)
 Ș.a.m.d. până când demonstrația reușește

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 37


Forma normal conjunctivă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 38


Exemplu: transformarea în FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 39


Transformarea în FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 40


Transformarea în FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 41


Transformarea în FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 42


Transformarea în FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 43


Substituția

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 44


Unificarea

 Unificarea returnează o mulțime de substituții


 Pot exista mai multe unificări posibile
 Pentru orice pereche unificabilă de expresii există
cel mai general unificator (unic)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 45


Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
1.2. Modus Tollens 2.2. Raționamentul înapoi
1.3. Rezoluția propozițională 2.3. Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 46


Raționamentul înainte
 Clauză Horn definită
 Disjuncție în FNC cu un singur termen pozitiv
 Formula este echivalentă cu o implicație

 Procedură de căutare
 Descoperirea unei căi în spațiul problemei care conduce de
la starea inițială la starea scop
 Când căutarea pornește din starea inițială către
starea scop, avem de-a face cu un raționament
înainte

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 47


Raționamentul înainte
 Dacă procesul de căutare este modelat printr-un sistem de
producție, rezolvarea problemei apare drept construirea
unui arbore al operațiilor posibile
 Rădăcina arborelui este starea inițială
 Nivelul următor al arborelui se completează prin
determinarea tuturor regulilor a căror parte stângă se
potrivește nodului rădăcină
 Noile noduri se creează prin intermediul părții drepte a
regulilor considerate
 Procedura se repetă pentru fiecare nod, până când se
generează o configurație identică stării scop

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 48


Exemplu
 “The law says that it is a crime for an American to sell
weapons to hostile nations. The country Nono, an
enemy of America, has some missiles, and all of its
missiles were sold to it by Colonel West, who is
American.”

 Trebuie demonstrat (scop): Col. West is a criminal

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 49


Exemplu
... it is a crime for an American to sell weapons to hostile nations:
1. American(x)  Weapon(y)  Sells(x,y,z)  Hostile(z)  Criminal(x)
Nono … has some missiles: x Owns(Nono,x)  Missile(x):
2. Owns(Nono,M1) and Missile(M1) M1: funcție Skolem,
… all of its missiles were sold to it by Colonel West tratată ca un simbol
3. Missile(x)  Owns(Nono,x)  Sells(West,x,Nono)
Missiles are weapons:
4. Missile(x)  Weapon(x)
An enemy of America counts as “hostile”:
5. Enemy(x,America)  Hostile(x)
West, who is American …
6. American(West)
The country Nono, an enemy of America …
7. Enemy(Nono,America)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 50


Exemplu

6 2 2 7

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 51


Exemplu

4 3 5

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 52


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 53


Probleme (I)
 Potriviri redundante de reguli
 Raționament înainte incremental
 Fiecare fapt nou dedus în iterația t trebuie derivat din cel
puțin un fapt nou dedus în iterația t – 1
 Algoritmul Rete (Clips, Jess)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 54


Probleme (II)
 Fapte irelevante
 Mulțime magică: folosirea informațiilor din scop
 Exemplu: scopul este Criminal(West)
 Regula care are drept concluzie acest predicat: American(x)
 Weapon(y)  Sells(x,y,z)  Hostile(z)  Criminal(x)
 este rescrisă: Magic(x)  American(x)  Weapon(y) 
Sells(x,y,z)  Hostile(z)  Criminal(x)
 iar faptul Magic(West) este adăugat în baza de cunoștințe
 Acum în baza de cunoștințe pot exista milioane de
americani, dar inferența se poate face numai cu West

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 55


Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
1.2. Modus Tollens 2.2. Raționamentul înapoi
1.3. Rezoluția propozițională 2.3. Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 56


Raționamentul înapoi
 Spațiul problemei poate fi explorat și în direcție inversă
față de cea urmată în cazul anterior
 Când căutarea pornește din starea scop către starea
inițială, avem de-a face cu un raționament înapoi
 Aici rădăcina arborelui este starea scop
 Nivelul următor al arborelui se completează prin
determinarea tuturor regulilor a căror parte dreaptă se
potrivește nodului rădăcină
 Noile noduri se creează prin intermediul părții stângi a
regulilor considerate
 Procedura se repetă pentru fiecare nod, până când se
generează o configurație identică stării inițiale
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 57
Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 58


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 59


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 60


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 61


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 62


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 63


Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 64


Comparație
 Raționamentul înainte
 Este dirijat de date (engl. “data driven”)
 Recunoașterea obiectelor, decizii de rutină
 CLIPS
 Poate determina încercarea multor acțiuni irelevante pentru
atingerea scopului
 Raționamentul înapoi
 Este dirijat de scop (engl. “goal driven”)
 Unde sunt cheile de la mașină, cum pot găsi un serviciu bun
 Prolog
 Determină rezolvări cu o complexitate mult mai mică decât
raționamentul înainte, dar are mai multe constrângeri

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 65


Metode de inferență în logica
propozițională și predicativă
1. Logica propozițională 2. Logica predicatelor
1.1. Modus Ponens 2.1. Raționamentul înainte
1.2. Modus Tollens 2.2. Raționamentul înapoi
1.3. Rezoluția propozițională 2.3. Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 66


Rezoluția predicativă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 67


Exemplul 1

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 68


Exemplul 1

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 69


Exemplul 1
 Se poate constata că a treia ipoteză nu este necesară
pentru demonstrarea concluziei
 Dacă pe al treilea nivel al arborelui am fi utilizat-o, nu am fi
ajuns la o contradicție logică, ci am fi demonstrat că Geta nu
este tatăl lui Tudor
 În general, dacă există mai multe posibilități de
substituție și unele încercări nu dau rezultate, trebuie
încercate și celelalte pentru găsirea soluției

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 70


Exemplul 2

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 71


Exemplul 3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 72


Exemplul 3: FNC

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 73


Exemplul 3: Rezoluția

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 74


Exemplul 4

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 75


Exemplul 4: FNC (I)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 76


Exemplul 4: FNC (II)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 77


Exemplul 4: FNC (III)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 78


Exemplul 4: Rezoluția

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 79


Demonstrarea teoremelor în
logica de ordinul întâi
 Turing, Church: problema demonstrării
teoremelor în logica predicativă de ordin întâi
este semidecidabilă
 Se poate afla dacă o propoziție se poate
demonstra
 Nu se poate afla dacă o propoziție nu se poate
demonstra
 Algoritmul de rezoluție poate rula la infinit
 Problemă echivalentă cu determinarea opririi
mașinii Turing

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 80


Utilizări practice
 Demonstratoarele automate de teoreme sunt folosite
cu succes pentru:
 Automatizarea demonstrațiilor
 Algebra Robbins
 Prima demonstrație formală riguroasă pentru teorema
incompletitudinii a lui Gödel
 Verificarea și sinteza componentelor software și hardware
 Algoritmul de criptare RSA
 Algoritmul de string-matching Boyer-Moore
 Verificare CPU
 Proiectarea circuitelor
 Remote Agent (NASA Deep Space 1)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 81


Concluzii
 Procesul de rezoluție este o  Există și unele limitări; dacă
modalitate convenabilă de a există o demonstrație, metoda
deduce noi adevăruri din rezoluției garantează găsirea ei,
premise multiple însă dacă nu există o astfel de
 Un alt avantaj al său este demonstrație, algoritmul poate
posibilitatea aplicării legilor intra într-o buclă infinită
logice, care au fost studiate  În general, este imposibil de
intens stabilit dacă și când se va
 Metoda beneficiază de o întâmpla acest lucru
formalizare strictă, care asigură
consistența deducțiilor,
nelăsând prea mult loc
interpretărilor subiective

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 82

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