Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ao 2014
Problema:
En un documento en Word presente cinco ejemplos de
inferencias lgicas relacionadas con la representacin del
conocimiento en inteligencia artificial
Solucin:
Ejemplos.
EJEMPLO 1.
MORTAL
Filsofos griegos define una serie de silogismos, corregir tres
de parte de inferencias, que pueden utilizarse como bloques
de construccin para razonamiento ms complejo.
Comenzamos con el ms famoso de todos ellos:
1.Todos los hombres son mortales
2.Scrates es un hombre
3.Por lo tanto, Scrates es mortal.
Scrates silogismo. Entramos en nuestra Base de
conocimiento el siguiente fragmento de cdigo:
mortal(X) :- man(X).
man(socrates).
(Aqu :- puede leerse como si. Generalmente, si P Q (si p
entonces Q) y luego en Prolog sera cdigo q:-p (Q si P).)
Esto indica que todos los hombres son mortales y que
Scrates es un hombre. Ahora podemos pedir el sistema
Prolog sobre Scrates:
?- mortal(socrates).
(donde ?- significa una consulta: mortal(socrates). se deduce
el KB usando las reglas) da la respuesta S.
Por otro lado, pidiendo el sistema Prolog lo siguiente:
?- mortal(Platn).
da la respuesta No.
EJEMPLO 2.
FAMILIA
%%
%% declaraciones
%%
padrede('juan', 'maria'). % juan es padre de maria
padrede('pablo', 'juan'). % pablo es padre de juan
padrede('pablo', 'marcela'). % pablo es padre de marcela
padrede('carlos', 'debora'). % carlos es padre de debora
% A es hijo de B si B es padre de A
hijode(A,B) :- padrede(B,A).
% A es abuelo de B si A es padre de C y C es padre B
abuelode(A,B) :padrede(A,C),
padrede(C,B).
% A y B son hermanos si el padre de A es tambin el padre de
B y si A y B no son lo mismo
hermanode(A,B) :padrede(C,A) ,
padrede(C,B),
A \== B.
% A y B son familiares si A es padre de B o A es hijo de B o A
es hermano de B
familiarde(A,B) :padrede(A,B).
familiarde(A,B) :hijode(A,B).
familiarde(A,B) :hermanode(A,B).
%%
%% consultas
%%
% juan es hermano de marcela?
?- hermanode('juan', 'marcela').
yes
% carlos es hermano de juan?
?- hermanode('carlos', 'juan').
no
% pablo es abuelo de maria?
?- abuelode('pablo', 'maria').
yes
% maria es abuela de pablo?
?- abuelode('maria', 'pablo').
no
EJEMPLO 3.
LISTA DE FRUTAS
plantas([manzana, naranja, limon, espinaca, gardenia, alfalfa,
pino]).
lista([1,2,3]).
?-lista([H|T]).
H=1
T=[2,3]
?-lista([H,J|T]).
H=1
J=2
T=[3]
EJEMPLO 4.
P={estudiante_grado(juan) <-, estudiante_doctorado (luis)
<- ,
estudiante(x) <- estudiante_grado(x),
estudiante(x) <- estudiante_doctorado(x),
profesor(x) <- estudiante_doctorado(x)}
G= <- profesor(luis)
EJEMPLO 5.
domains
pers = symbol
predicates
auto (pers)
cerca (pers)
lejos (pers)
amigos (pers,pers)
borracho (pers)
seguro (pers)
no_seguro (pers)
clauses
lejos (roberto)
lejos (raul)
lejos (rodrigo)
lejos (anacleta)
lejos (anastacia)
cerca (aida)
cerca (ana)
cerca (analia)
auto (juan)
auto (jose)
auto (jeremias)
auto (jorge)
amigos (ana,jose)
amigos (analia,juan)
amigos (anacleta,juan)
amigos (anastacia,jose)
borracho (juan)
seguro (X) if cerca (X) and not (borracho (X))
seguro (X) if lejos (X) and not (borracho (X)) and auto (X)
seguro (X) if auto (X) and not (borracho (X))
seguro (X) if lejos (X) and amigos (X,Y) and auto (Y) and
not (borracho (Y))
no_seguro (X) if borracho (X)
no_seguro (X) if lejos (X) and amigos (X,Y) and borracho (Y)
GOAL
1) seguro (X)
X = aida
X = jorge
X = jose
X = jeremias
X = analia
X = ana
X = anastacia
2) no_seguro (X)
X = juan
X = anacleta