150 likes | 296 Views
Inteligenta Artificiala. Universitatea Politehnica Bucuresti Anul universitar 2005-2006 Adina Magda Florea http://www.cs.pub.ro/ia_06. Curs nr. 12. Invatare bazata pe explicatii Invatarea prin generalizare explicata Invatarea utilizand macro-operatorii. 2. Invatarea bazata pe explicatii.
E N D
Inteligenta Artificiala Universitatea Politehnica BucurestiAnul universitar 2005-2006 Adina Magda Florea http://www.cs.pub.ro/ia_06
Curs nr. 12 Invatare bazata pe explicatii • Invatarea prin generalizare explicata • Invatarea utilizand macro-operatorii 2
Invatarea bazata pe explicatii Sistemul invata un concept sau o regula pornind de la un singur exemplu de invatare – sintetic /analitic Analiza motivelor – explicatie Generalizarea unui exemplu Reguli operationale 2 etape: • Explicatie • Analiza exemplu 3
1 Generalizare bazata pe explicatii • EBG • Explicatie = demonstratiile scopului de rezolvat Problema EBG • Conceptul scop • Exemplul de invatare • Teoria domeniului • Criteriul de operationalitate Cum le reprezentam 4
Generalizare bazata pe explicatii Sistemul trebuie sa reformuleze conceptul scop in termenii unei noi descrieri care satisface conditiile: • Este o generalizare a ex de invatare • Este o conditie suficienta pt caracterizarea conceptului scop • Satisface criteriul de operationalitate Metoad EGB • Explicare • Generalizare 5
Concept scop: sigurpeste(x,y) Exemplul de invatare: sigurpeste(cub1,masa1) peste(cub1,masa1) vol(cub1,10) isa(cub1,cub) isa(masa1,masa) culoare(cub1,rosie) culoare(masa1, alba) dens(cub1,10) Teoria domeniului maiusor(x,y) sigurpeste(x,y) gr(x,w1) gr(y,w2) maimic(w1,w2) maiusor(x,y) isa(x,masa) gr(x,500) vol(x,v) dens(x,d) inm(v,d,y) gr(x,y) Criteriul de operationalitate Predicate specifice domeniului vol(x,y), dens(x,y) culoare(x,y), isa(x,y) Predicate generale inm(x,y,z), maimic(x,y) 6
Exemplul de invatare: sigurpeste(cub1,masa1) • peste(cub1,masa1) • vol(cub1,10) • isa(cub1,cub) • isa(masa1,masa) • culoare(cub1,rosie) • culoare(masa1, alba) • dens(cub1,10) • Teoria domeniului • maiusor(x,y) sigurpeste(x,y) • gr(x,w1) gr(y,w2) maimic(w1,w2) maiusor(x,y) • isa(x,masa) gr(x,500) • vol(x,v) dens(x,d) inm(v,d,y) gr(x,y) 7
Exemplul de invatare peste(cub1,masa1). volum(cub1,10). isa(cub1,cub). isa(masa1,masa). culoare(cub1,rosie). culoare(masa1,alba). dens(cub1,10). Teoria domeniului sigurpeste(X,Y):-maiusor(X,Y). maiusor(X,Y):-gr(X,W1),gr(Y,W2),maimic(W1,W2). gr(X,500):-isa(X,masa). gr(X,Y):-volum(X,V),dens(X,D),inm(V,D,Y). maimic(X,Y):-X<Y. inm(X,Y,Z):-Z is X*Y. Criteriul de operationalitate operational(Scop):-member(Scop,[inm(_,_,_),maimic(_,_),peste(_,_), volum(_,_),isa(_,_),culoare(_,_),dens(_,_)]). 9
gbe (Frunza, FrGen, FrGen) :- operational (Frunza), !, call (Frunza). gbe ((Scop1, Scop2), (Scop1Gen, Scop2Gen), (Frunze1, Frunze2)) :- gbe (Scop1, Scop1Gen, Frunze1), gbe (Scop2, Scop2Gen, Frunze2). gbe (Scop, ScopGen, Frunze) :- clause (ScopGen, ClauzaGen), duplicate_term ((ScopGen :- ClauzaGen), (Scop :- Clauza)), gbe (Clauza, ClauzaGen, Frunze). ?- gbe(sigurpeste(cub1,masa1),sigurpeste(X,Y),Ref). X = _G476 Y = _G477 Ref = (volum(_G476, _G651), dens(_G476, _G654), inm(_G651, _G654, _G599)), isa(_G477, masa), maimic(_G599, 500)) 10
2 Invatarea macro-operatorilor • Sistemul de planificare automata STRIPS • macro-operator LA: ARMEMPTY LP LE LA 11
Macro1 LP LE LA LP LE LA Macro2 LP LE LA
Tabela triunghiulara - Algoritm 1 Numeroteaza liniile tabelei de la 1 la N+1 si coloanele de la 0 la N 2 pentru i=1,N executa TAVB[i,i]=P[i] 3 pentru i=1,N executa TAB[i,0]=toate faptele din Si care sunt adevarate inainte de aplicarea P[i] 4 TAB[N+1,0]=faptele din Si adevrate in Sf 5 pentru i=1,N executa pentru j=i+1 la N executa TAB[j,i]=faptele adaugate de P[i] adevarate inainte de aplicare P[j] 6 pentru i=1,N executa TAB[N+1,i]=faptele adaugate de P[i] care raman adevarate in Sf 7 pentru i=1,N executa marcheaza cu * fiecare fapt din TAB[i,_] care a fost utilizat in demonstrarea preconditiilor P[i] sfarsit 13
1. 2. ARMEMPTY 14
1. 2. • Algoritm: Generalizarea planului în sistemul STRIPS • 1. Generalizeaza tabela triunghiulara • 1.1. Înlocuieste fiecare constanta distincta din coloana 0 a tabelei TABT • cu o variabila distincta • 1.2. pentru i=1 la N executa • - Înlocuieste fiecare formula din coloana i a tabelei TABT cu • formula (neinstantiata) corespunzatoare din lista adaugarilor • operatorului i • 1.3. Redenumeste variabilele astfel încat formulele obtinute prin • aplicarea operatorilor distincti sa conþina variabile cu nume diferite • Executa din nou validarea preconditiilor utilizînd demonstratii similare cu cele • ale planului original • 2.1. Fiecare noua validare a unei precondiþii se va face pe baza formulelor • generalizate marcate cu * • 2.2. Fiecare noua demonstraþie considera aceleasi perechi de formule • în rezolutie si aceleasi perechi de literali în unificare • 2.3. Substitutiile generate în timpul unificarii sînt aplicate întregii tabele • sfîrsit. 15