Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso 200405
Universidad de Sevilla
PL 200405
Cc Ia
7.1
Programa P1
u
PL 200405
PL 200405
Cc Ia
7.3
Traza ?- vuela(animal_1). Call: ( 7) vuela(animal_1) ? Call: ( 8) pjaro(animal_1) ? a Exit: ( 8) pjaro(animal_1) ? a ^ Call: ( 8) not anormal(animal_1) ? Call: ( 9) anormal(animal_1) ? Fail: ( 9) anormal(animal_1) ? ^ Exit: ( 8) not anormal(animal_1) ? Exit: ( 7) vuela(animal_1) ? Yes
PL 200405
Cc Ia
7.4
Nuevo conocimiento El animal_1 es un avestruz. Los avestruces son pjaros que no vuelan. a Programa extendido :- dynamic anormal/1. pjaro(animal_1). a avestruz(animal_1). vuela(X) :pjaro(X), a not anormal(X). anormal(X) :- avestruz(X).
PL 200405
Cc Ia
7.5
Traza
?- vuela(animal_1). Call: ( 7) vuela(animal_1) ? Call: ( 8) pjaro(animal_1) ? a Exit: ( 8) pjaro(animal_1) ? a ^ Call: ( 8) not anormal(animal_1) ? Call: ( 9) anormal(animal_1) ? Call: ( 10) avestruz(animal_1) ? Exit: ( 10) avestruz(animal_1) ? Exit: ( 9) anormal(animal_1) ? ^ Fail: ( 8) not anormal(animal_1) ? Fail: ( 7) vuela(animal_1) ? No
PL 200405
Cc Ia
7.6
Regla por defecto: Normalmente, los pjaros vuelan a Regla espec ca: Los avestruces no vuelan
Razonamiento montono o P1 |= C y P2 extiende a P1, entonces P2 |= C. Razonamiento montono o P1 |= C y P2 extiende a P1, entonces P2 |= C.
PL 200405
Cc Ia
7.7
Programa objeto :- op(1100,xfx,<-). defecto(vuela(X) <- pjaro(X)). a regla(pjaro(X) <- avestruz(X)). a regla(not(vuela(X)) <- avestruz(X)). regla(avestruz(animal_1) <- verdad). regla(pjaro(animal_2) <- verdad). a
Sesin o ?- explica(vuela(X),E). X = animal_2 E = [defecto((vuela(animal_2) <- pjaro(animal_2))), a regla((pjaro(animal_2) <- verdad))] ; a No ?- explica(not(vuela(X)),E). X = animal_1 E = [regla((not(vuela(animal_1)) <- avestruz(animal_1))), regla((avestruz(animal_1) <- verdad))] ; No
Cc Ia
Razonamiento por defecto y razonamiento abductivo 7.8
PL 200405
Metaprograma para explicaciones explica(A,E) :- explica(A,[],E). explica(verdad,E,E) explica((A,B),E0,E) explica(A,E0,E) explica(A,E0,[defecto(A<-B)|E]) ::::!. !, explica(A,E0,E1), explica(B,E1,E). prueba(A,E0,E). defecto(A<-B), explica(B,E0,E), \+ contradiccin(A,E). o
PL 200405
Cc Ia
7.9
Programa objeto defecto(not(vuela(X)) defecto(vuela(X) defecto(not(vuela(X)) <- mamfero(X)). <- vampiro(X)). <- muerto(X)).
PL 200405
Cc Ia
7.10
Sesin o ?- explica(vuela(dracula),E). E = [defecto(vuela(dracula) <- vampiro(dracula)), regla(vampiro(dracula) <- verdad)] ; No ?- explica(not(vuela(dracula),E)). E = [defecto(not(vuela(dracula)) <- mamfero(dracula)), regla(mamfero(dracula) <- vampiro(dracula)), regla(vampiro(dracula) <- verdad)] ; E = [defecto(not(vuela(dracula)) <- muerto(dracula)), regla(muerto(dracula) <- verdad)] ; No
PL 200405
Cc Ia
7.11
Programa objeto defecto(mamferos_no_vuelan(X), (not(vuela(X)) <- mamfero(X))). defecto(vampiros_vuelan(X), (vuela(X) <- vampiro(X))). defecto(muertos_no_vuelan(X), (not(vuela(X)) <- muerto(X))). regla(mamfero(X) <- vampiro(X)). regla(vampiro(dracula) <- verdad). regla(muerto(dracula) <- verdad). regla(not(mamferos_no_vuelan(X)) <- vampiro(X)). regla(not(vampiros_vuelan(X)) <- muerto(X)).
PL 200405
Cc Ia
7.12
PL 200405
Cc Ia
7.13
Razonamiento abductivo
x
Problema de la abduccin o
P un programa lgico y o O una observacin (un hecho bsico en el lenguaje de P) o a Encontrar E una abduccin (una lista de hechos atmicos en el lenguaje de P o o cuyos predicados no son cabezas de clusulas de P) tal que a P U E |- O) Dados
Programa objeto europeo(X) <- espa~ol(X). n espa~ol(X) <- andaluz(X). n europeo(X) <- italiano(X).
PL 200405
Cc Ia
7.14
Razonamiento abductivo
u
Programa :- op(1200,xfx,<-). abduccin(O,E) :o abduccin(O,[],E). o abduccin(verdad,E,E) :- !. o abduccin((A,B),E0,E) :- !, o abduccin(A,E0,E1), o abduccin(B,E1,E). o abduccin(A,E0,E) :o (A <- B), abduccin(B,E0,E). o abduccin(A,E,E) :o member(A,E). abduccin(A,E,[A|E]) :o not member(A,E), explicable(A). explicable(A) :not (A <- _B).
PL 200405
Cc Ia
7.15
Representacin de un sumador o
+----+ X ----+->| |S | |xor1|--+--+ Y --+-|->| | | | +----+ | | +----+ | +------------>| | | | | |xor2|---Suma Z --|-|-------+--|--------------->| | | | | | +----+ +----+ | +-------|--|-->| |A1 | | | |and1|---+ +---------|--|-->| | | +----+ | | +----+ +-->| | | | |or1 |---Acarreo | | +----+ +-->| | | +-->| |A2 | +----+ | |and1|---+ +----->| | +----+
PL 200405
Cc Ia
7.16
tabla :format(X Y Z A S~n), tabla2. tabla2 :member(X,[0,1]), member(Y,[0,1]), member(Z,[0,1]), sumador(X,Y,Z,A,S), format(~a ~a ~a ~a ~a~n,[X,Y,Z,A,S]), fail. tabla2.
PL 200405
Cc Ia
7.17
PL 200405
Cc Ia
7.18
PL 200405
Cc Ia
7.19
Sesin de diagnstico o o
?- diagnstico(sumador(0,0,1,1,0),D). o D = [fallo(or1 = f1),fallo(xor2 = f0)] ; D = [fallo(and2 = f1),fallo(xor2 = f0)] ; D = [fallo(and1 = f1),fallo(xor2 = f0)] ; D = [fallo(and2 = f1),fallo(and1 = f1),fallo(xor2 = f0)] ; D = [fallo(xor1 = f1)] ; D = [fallo(or1 = f1),fallo(and2 = f0),fallo(xor1 = f1)] ; D = [fallo(and1 = f1),fallo(xor1 = f1)] ; D = [fallo(and2 = f0),fallo(and1 = f1),fallo(xor1 = f1)] ; No
Cc Ia
PL 200405
7.20
Diagnstico m o nimo
diagnstico_mnimo(O,D) :o diagnstico(O,D), o not((diagnstico(O,D1), o subconjunto_propio(D1,D))). subconjunto_propio([],Ys):Ys \= []. subconjunto_propio([X|Xs],Ys):select(Ys,X,Ys1), subconjunto_propio(Xs,Ys1).
PL 200405
Cc Ia
7.21
Bibliograf a
x
.
x
Peischl, B. y Wotawa, F. ModelBased Diagnosis or Reasonoing from First Principles (IEEE Intelligent Systems, Vol 18, No. 3 (2003) p. 3237) Poole, D.; Mackworth, A. y Goebel, R. Computational Intelligence (A Logical Approach) (Oxford University Press, 1998)
u
PL 200405
Cc Ia
7.22