inteligenta artificiala
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Inteligenta ArtificialaInteligenta 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 reprezentam4
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 operationalitateMetoad 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 domeniuluimaiusor(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 operationalitatePredicate specifice domeniului
vol(x,y), dens(x,y) culoare(x,y), isa(x,y)Predicate generale
inm(x,y,z), maimic(x,y)6
7
SIGUR-PESTE(cub1, masa1)
MAI-UªOR(cub1, masa1)
GREUTATE(cub1, 100) GREUTATE(masa1, 500) MAI-MIC(100, 500)
VOLUM(cub1, 10) DENSITATE(cub1, 10) ÎNM(10, 10, 100) ISA(masa1, masã)
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 domeniuluimaiusor(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)
8
SIGUR-PESTE(cub1, masa1)
MAI-UªOR(cub1, masa1)
GREUTATE(y, 500) MAI-MIC(m, 500)
VOLUM(x, v) DENSITATE(x, d) ÎNM(v, d, m) ISA(y, masã)
SIGUR-PESTE(x, y)
MAI-UªOR(x, y)
GREUTATE(x, m)
GREUTATE(cub1, 100) GREUTATE(masa1, 500) MAI-MIC(100, 500)
VOLUM(cub1, 10) DENSITATE(cub1, 10) ÎNM(10, 10, 100) ISA(masa1, masã)
{x/cub1, y/masa1}
{x/cub1, y/masa1}
VOLUM(x,v) DENSITATE (x,d) ÎNM(v,d,m) ISA(y,masã) MAI MIC(m,500)
Exemplul de invatarepeste(cub1,masa1).volum(cub1,10).isa(cub1,cub).isa(masa1,masa).culoare(cub1,rosie).culoare(masa1,alba).dens(cub1,10).
Teoria domeniuluisigurpeste(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 operationalitateoperational(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
11
C
B A
A
B C
S S i f
CLEAR(A)
ON(A,B) CLEAR(C) ONTABLE(C)
ON(C,B)
ONTABLE(B)
ONTABLE(A) ONTABLE(B)
ARMEMPTY
Plan = (UNSTACK (C,B),PUTDOWN(C),PICKUP(A),STACK(A,B))
ON(C,B) ONTABLE(A) ONTABLE(B)
CLEAR(A) CLEAR(C) ARMEMPTY
ON(C,B) ONTABLE(A)
ON(A,B) ONTABLE(C)
LA:
LP
LA
LE
P = (UNSTACK(x ,x ),PUTDOWN(x ),PICUP(x ),STACK(x ,x ))M1 1 2 1 3 3 2
ON(x ,x ) ONTABLE(x ) ONTABLE(x )1 2 3 2
CLEAR(x ) CLEAR(x ) ARMEMPTY3 1
ON(x ,x ) ONTABLE(x )1 2 3
ON(x ,x ) ONTABLE(x )3 2 1
LP
LA
LE
STACKONB(x) CLEAR(x) CLEAR(B) HOLD(x)
CLEAR(B)
ON(x,B) ARMEMPTY
P = (UNSTACK (C,B),PUTDOWN(C),PICKUP(A),STACKONB(A))
P = (UNSTACK (x ,x ),PUTDOWN(x ),PICKUP(x ),STACKONB (x ))M2 1 2 1 3 3
ON(x ,x ) ONTABLE(x ) ONTABLE(x )1 2 3 2 CLEAR(x ) CLEAR(x ) ARMEMPTY3 1
ON(x ,x ) ONTABLE(x )1 2 3
ON(x ,x ) ONTABLE(x )3 2 1
LP
LA
LE
LP
LA
LE
Macro1
Macro2
C BA
S E D
C B
AS
E
D i f A
Tabela triunghiulara - Algoritm1 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]
sfarsit13
14
BA
S AS i f A
BPlan = (PICKUP(A),STACK(A,B))BA
S AS i f A
B
Plan = (PICKUP(A),STACK(A,B))
CLEAR(A)
ON(A,B)
CLEAR(B)
ONTABLE(B)ONTABLE(A)
ONTABLE(B)
ARMEMPTY
15
Algoritm: Generalizarea planului în sistemul STRIPS1. Generalizeaza tabela triunghiulara
1.1. Înlocuieste fiecare constanta distincta din coloana 0 a tabelei TABTcu o variabila distincta
1.2. pentru i=1 la N executa- Înlocuieste fiecare formula din coloana i a tabelei TABT cuformula (neinstantiata) corespunzatoare din lista adaugariloroperatorului i
1.3. Redenumeste variabilele astfel încat formulele obtinute prin aplicarea operatorilor distincti sa conþina variabile cu nume diferite
2. Executa din nou validarea preconditiilor utilizînd demonstratii similare cu celeale planului original
2.1. Fiecare noua validare a unei precondiþii se va face pe baza formulelorgeneralizate 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 tabelesfîrsit.