Professional Documents
Culture Documents
SESIÓN 07:
Representación y Razonamiento del Conocimiento
I
OBJETIVOS
II
TEMAS A TRATAR
Representación del conocimiento
Razonamiento del conocimiento
III
MARCO TEÓRICO
Representación del conocimiento
Existen dos grandes aproximaciones para abordar la representación del conocimiento que
se denominan de forma general simbólica y no simbólica.
La Inteligencia Artificial se desarrolla con un balance de técnicas simbólicas que han
dominado algunas épocas, y conexionistas, que se han aplicado con profusión en otras.
Ambos paradigmas tiene sus puntos débiles, pero los dos son necesarios para crear
máquinas inteligentes.
La representación interna del conocimiento mediante símbolos está bastante alejada del
lenguaje natural. Nuestro lenguaje natural es bastante complejo para ser representado con
precisión, entre otras cosas, por la ambigüedad inherente al mismo Lógica difusa.
La representación matemática y lógica han sido dos de las primeras formas de
representación del lenguaje, muy cercanas a las máquinas, y por lo tanto, bastantes alejadas
del lenguaje natural.
La elección de la forma de representación del conocimiento es una tarea crucial.
Las reglas de producción, que se enuncian de la forma if-then, son la forma más popular de
representación del conocimiento dentro del paradigma declarativo. El conocimiento así
representado resulta muy cercano al operador humano y se puede entender fácilmente.
IV
(La práctica tiene una duración de 2 horas) ACTIVIDADES
:-use_module(library(pce)).
:-use_module(library(pce_style_item)).
main:-
new(Menu, dialog('Sistema basado en conocimiento', size(500,500))),
new(L,label(nombre,'Bienvenidoa su diagnostico')),
new(@texto,label(nombre,'segun la respuesta dadas tendra un resultado')),
new(@respl,label(nombre,'')),
new(Salir,button('SALIR',
and(message(Menu, destroy),message(Menu,free)))),
new(@boton,button('realizar test',message(@prolog,botones))),
colesterol:- tiene_colesterol,
pregunta('tiene inchazon en alguna extremidad del cuerpo?'),
pregunta('tiene perdida de equilibrio'),
pregunta('t'),
pregunta('t'),
pregunta('t'),
pregunta('t').
diabete:- tiene_diabete,
pregunta('padece de orinar con frecuencia'),
pregunta('t'),
Laboratorio de Sistemas Basados en el Conocimiento Página: 3
pregunta('t'),
pregunta('t'),
pregunta('t'),
pregunta('t'),
pregunta('t').
gastritis:- tiene_gastritis,
pregunta('tos'),
pregunta('t'),
pregunta('t'),
pregunta('t'),
pregunta('t'),
pregunta('t'),
pregunta('t').
desconocido:- se_deconoce_enfermedad.
:-dynamic si/1,no/1.
preguntar(Problema):-
new(Di,dialog('exa')),
new(L2,label(texto,'Responde las siguientes preguntas')),
new(La,label(prob,Problema)),
new(B1,button(si,and(message(Di,return,si)))),
new(B2,button(no,and(message(Di,return,no)))),
send(Di,append(L2)),
send(Di,append(La)),
send(Di,append(B1)),
send(Di,append(B2)),
send(Di,default_button,si),
send(Di,open_centered),
get(Di,confirm,Answer),
write(Answer),send(Di,destroy),
( (Answer==si)->assert(si(Problema));
assert(no(Problema)),fail).
limpiar :- retract(si(_)),fail.
limpiar :- retract(no(_)),fail.
limpiar.
pregunta(S):-(si(S)->fail;preguntar(S)).
botones :- lim,
send(@boton,free),
send(@btncarrera,free),
enfermedades(Enfer),
send(@texto,selection('su diagnostico es: ')),
send(@respl,selection(Enfer)),
Laboratorio de Sistemas Basados en el Conocimiento Página: 4
new(@boton,button('inicia',message(@prolog,botones))),
send(Menu,display,@boton,point(40,50)),
send(Menu,display,@btncarrera,point(20,50)),
limpiar.
lim :- send(@respl, selection('')).
V
EJERCICIOS
1. Explique el funcionamiento de la librería use_module(library(pce))
2. Explique el funcionamiento de la librería use_module(library(pce_style_item)).
3. Haga un nuevo programa que realice un diagnóstico para determinar si tiene conjuntivitis.
4. Realice el Sistema experto con lógica difusa de su proyecto a presentar en la 2da fase.
VI
CUESTIONARIO
1. ¿Qué es la representación de conocimiento?
2. ¿Qué tipo de representación de conocimiento existen?
VII
BIBLIOGRAFIA Y REFERENCIAS
1. Herrera Triguero, Francisco, Inteligencia Artificial, Inteligencia Computacional y Big Data,
Editorial Univ. De Jaén, 2014.
2. https://swish.swi-prolog.org/p/Tutorial%20de%20prolog.swinb