Sei sulla pagina 1di 8

INFERENCIAS LGICAS

Curso: Inteligencia Artificial.


Alumno: Dany Claudio Herrera
Rodrguez
Carrera: Ingeniera de Sistemas e
Informtica

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.

Esto es porque no sabe nada acerca de Platn Prolog y ah por


defecto a cualquier propiedad sobre Platn ser falso (el
llamado cerrado Asuncin del mundo). Finalmente ?-mortal(X)
(es nada mortal) resultara en S (y en algunas
implementaciones: S: X = Scrates)

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

Potrebbero piacerti anche