Está en la página 1de 12

UNIVERSIDAD NACIONAL MAYOR DE

SAN MARCOS
“Universidad del Perú, Decana de América”

FACULTAD DE INGENIERÍA DE SISTEMAS E


INFORMÁTICA

DOCENTE:

HUGO VEGA HUERTA


TRABAJO:

COMIDA CURATIVA – SISTEMA EXPERTO

CURSO:
INTELIGENCIA ARTIFICIAL

ALUMNO:

RODRIGUEZ CRUZ EDWIN OMAR 04200186

Ciudad Universitaria, diciembre 2011


INDICE

Introducción……………………………………………………………………………………… Pág. 3

Estructura…………………………………………………………………………………………. Pág. 4

Diagrama Principal……………………………………………………………………………… Pág. 5

Problema Planteado………………………………………………………………………………… Pág. 6

Ejemplo Práctico…………… …………………………………………………………………… Pág. 7

Código Prolog del ejemplo mostrado ……………………………………………………………..… Pág. 9

Código Fuente de la Solución Final …………………………………………………………… Pág. 10


INTRODUCCION

El presente trabajo, se enfoca en desarrollar un sistema experto a partir de una


base de conocimientos y de una base de hechos, a partir de ello, se hacen las
conjeturas y se responde preguntas planteadas por el humano.
Nuestro enfoque consiste en tipicar el trabajo por niveles, en los cuales trabajamos
siete niveles, como: regiones, tipo de comida, nombre de los potajes, ingredientes,
enfermedades, sistema humano y especialista.
Para elaborar estos niveles recurrimos a la búsqueda de información de tal manera
de armar un árbol confiable y sobre todo real.
El desarrollo del mismo se implementó en Prolog.
ESTRUCTURA

El trabajo lo hemos estructurado de la siguiente manera:

Región Costa, Sierra y


Selva

Tipo de Comida Entrada, Plato de Fondo, Sopa,


Postre y Bebidas

Potaje Nombre Específico

Ingredientes Nombre de los Ingredientes

Enfermedades Nombre de la enfermedad

Sistema Humano
Por ejemplo: Sistema Digestivo,
Atacado etc.

Especialista Por ejemplo: Gastroenterólogo,


etc.

Hospital Por ejemplo: Dos de


Mayo
EJEMPLO PRÁCTICO

Para mostrar un ejemplo, elegimos la siguiente rama del árbol.

Chupe de habas
Sopa

Chupe haba

Haba Queso

Stress

Neurologo

Dr. Cardenas

Santa_Rosa
CODIGO PROLOG DEL EJEMPLO MOSTRADO

%================================================
% BASE DE CONOCIMIENTO
%================================================

%==================================================
=============
%INGREDIENTES DE ALIMENTOS
%Se tomará un nombre genérico para cada alimento especificado en el arbol
%==================================================
=============

ingred(cochayuyo, picante).
ingred(zapallo, picante).
ingred(cebolla, picante).
ingred(acelga, pastelace).
ingred(huevo, pastelace).
ingred(tarwi, espesado).
ingred(carne, espesado).
ingred(tilapia, patarashca).
ingred(platano,patarashca).

ingred(manzana, budin).
ingred(huevo, budin).
ingred(pan, budin).
ingred(harina, budin).
ingred(azucar, budin).
ingred(membrillo, mazamorra).
ingred(maicena, mazamorra).
ingred(azucar, mazamorra).
ingred(camote, camotillo).
ingred(azucar, camotillo).
ingred(huevo, pastecho).
ingred(harina, pastecho).
ingred(choclo, pastecho).
ingred(pasas, pastecho).
ingred(maracuya, helado).
ingred(saborizante, helado).
ingred(aceite, mingado).
ingred(hariyuca, mingado).

ingred(cebada, chijora).
ingred(jora, chijora).
ingred(aguardiente, calientito).
ingred(te, calientito).
ingred(azucar, chuchuhuasi).
ingred(chuchuhua, chuchuhuasi).
ingred(limon, chuchuhuasi).
ingred(azucar, chihigo).
ingred(higo, chihigo).
ingred(zanahoria, aguadito).
ingred(pollo, aguadito).
ingred(arvejas, aguadito).
ingred(habas, chupe).
ingred(queso, chupe).
ingred(arvejas, inchikapi).
ingred(gallina, inchikapi).
ingred(harina, inchikapi).

ingred(huevo, causa).
ingred(anchoveta, causa).
ingred(papa, causa).
ingred(aji, causa).
ingred(tomate, ensalada).
ingred(limon, ensalada).
ingred(huevo, relleno).
ingred(queso, relleno).
ingred(rocoto, relleno).

%==================================================
=============
%TIPO DE ALIMENTOS
%Se ha hecho una división de acuerdo al tipo de presentación
%==================================================
=============

es_un_tipo_de(picante, platofondo).
es_un_tipo_de(pastelace, platofondo).
es_un_tipo_de(espesado, platofondo).
es_un_tipo_de(patarashca, platofondo).

es_un_tipo_de(budin, postre).
es_un_tipo_de(mazamorra, postre).
es_un_tipo_de(camotillo, postre).
es_un_tipo_de(pastecho, postre).
es_un_tipo_de(helado, postre).
es_un_tipo_de(mingado, postre).

es_un_tipo_de(chijora, bebida).
es_un_tipo_de(calientito, bebida).
es_un_tipo_de(chuchuhuasi, bebida).
es_un_tipo_de(chihigo, bebida).

es_un_tipo_de(aguadito, sopa).
es_un_tipo_de(chupe, sopa).
es_un_tipo_de(inchikapi, sopa).

es_un_tipo_de(causa, entrada).
es_un_tipo_de(ensalada, entrada).
es_un_tipo_de(relleno, entrada).

%==================================================
=============
%DIVISIÓN REGIONAL
%Se ha hecho una división de acuerdo a la región
%==================================================
=============

costa(picante).
costa(pastel).
costa(budin).
costa(mazamorra).
costa(camotillo).
costa(chijora).
costa(aguadito).
costa(causa).
costa(ensalada).

sierra(espesado).
sierra(pastecho).
sierra(calientito).
sierra(chupe).
sierra(relleno).

selva(patarashca).
selva(helado).
selva(mingado).
selva(chuchuhuasi).
selva(chihigo).
selva(inchikapi).

%==================================================
=============
%BASE CONOCIMIENTO ENFERMEDADES
%Basandonos en los ingredientes buenos y perjudiciales
%==================================================
=============

bueno_contra(cochayuyo, hipertiroides).
bueno_contra(acelga, estrenimiento).
bueno_contra(pasas, estrenimiento).
bueno_contra(cebolla, gripe).
bueno_contra(tarwi, parasitos).
bueno_contra(tilapia, colesterol).
bueno_contra(manzana, acne).
bueno_contra(membrillo, colesterol).
bueno_contra(membrillo, diabetes).
bueno_contra(maicena, colesterol).
bueno_contra(maicena, diarrea).
bueno_contra(camote, ceguera).
bueno_contra(choclo, acne).
bueno_contra(maracuya, convulsion).
bueno_contra(maracuya, stress).
bueno_contra(hariyuca, diarrea).
bueno_contra(cebada, hemodialisis).
bueno_contra(jora, hipertension).
bueno_contra(te, stress).
bueno_contra(aguardiente, broncoespasmo).
bueno_contra(chuchuhuasi, reumatismo).
bueno_contra(limón, gripe).
bueno_contra(higo, gripe).
bueno_contra(zanahoria, ceguera).
bueno_contra(habas, stress).
bueno_contra(gallina, convalescencia).
bueno_contra(aji, gripe).
bueno_contra(rocoto, gripe).
bueno_contra(anchoveta, artritis).
bueno_contra(anchoveta, migrana).
bueno_contra(tomate, caries).

en_exceso_provoca(huevo, colesterol).
en_exceso_provoca(platano, diabetes).
en_exceso_provoca(carne, artritis).
en_exceso_provoca(aceite, colesterol).
en_exceso_provoca(saborizantes, diabetes).
en_exceso_provoca(azucar, diabetes).

%==================================================
=============
%BASE CONOCIMIENTO ESPECIALISTAS
%Basandonos en las enfermedades que atiende
%==================================================
=============

atiende(endocrinologo, hipertiroides).
atiende(gastroenterologo, estrenimiento).
atiende(gastroenterologo, parasitos).
atiende(gastroenterologo, diarrea).
atiende(cardiologo, colesterol).
atiende(cardiologo, diabetes).
atiende(dermatologo, acne).
atiende(oftalmologo, ceguera).
atiende(neurologo, convulsion).
atiende(neurologo, stress).
atiende(neurologo, migrana).
atiende(nefrologo, hemodialisis).
atiende(traumatologo, reumatismo).
atiende(traumatologo, artritis).
atiende(medgeneral, hipertension).
atiende(medgeneral, gripe).
atiende(neumologo, broncoespasmo).
atiende(hematologo, anemia).
atiende(odontologo, caries).

%==================================================
=============
%BASE CONOCIMIENTO DOCTORES
%Basandonos en las especialidades que atiende
%==================================================
=============

es(loayza, endocrinologo).
es(contreras, cardiologo).
es(contreras, hematologo).
es(tapia, dermatologo).
es(tapia, oftalmologo).
es(tapia, medgeneral).
es(cardenas, neurologo).
es(diaz, gastroenterologo).
es(diaz, nefrologo).
es(diaz, odontologo).
es(portales, traumatologo).
es(saavedra, neumologo).

%================================================
% BASE DE HECHOS
%================================================

tiene(juan, hipertiroides).
tiene(juan, estrenimiento).
tiene(carolina, parasitos).
tiene(carolina, acne).
tiene(gerardo, colesterol).
tiene(gerardo, diabetes).
tiene(luzmila, ceguera).
tiene(jorge, convulsion).
tiene(patricia, stress).
tiene(patricia, migrana).
tiene(alberto, diarrea).
tiene(maritza, reumatismo).
tiene(maritza, artritis).
tiene(joel, hipertension).
tiene(nancy, gripe).
tiene(lorena, gripe).
tiene(anibal, broncoespasmo).
tiene(luis, anemia).
tiene(luis, caries).
tiene(rafael, convalescencia).

%..................%
hospital(santa_rosa).
hospital(carrion).
hospital(dos_de_mayo).

encuentra(contreras, santa_rosa).
encuentra(cardenas, santa_rosa).
encuentra(portales, santa_rosa).
encuentra(loayza, santa_rosa).
encuentra(tapia, carrion ).
encuentra(loayza, carrion).
encuentra(portales, carrion).
encuentra(saavedra, carrion).
encuentra(saavedra, dos_de_mayo).
encuentra(cardenas, dos_de_mayo).
encuentra(diaz, dos_de_mayo ).

%donde ir ingreso la enfermedad y me indicara a que hospital debo ir


donde_ir(A,B):-atiende(C,A),es(D,C), encuentra(D,B).
%==================================================
=============
%01.Alimento a ingerir por ser saludables.
% Tomaremos el alimento de acuerdo a los ingredientes que contiene
%==================================================
=============
ali_bueno(W,Z):-tiene(W,Y),bueno_contra(X,Y),ingred(X,Z).
alim_bueno(Y,Xs):-setof(X,Y^ali_bueno(Y,X),Xs).

%==================================================
=============
%02.Alimento a no ingerir por ser dañinos
% Tomaremos el alimento de acuerdo a los ingredientes que contiene
%==================================================
=============
ali_malo(W,Z):-tiene(W,Y),en_exceso_provoca(X,Y),ingred(X,Z).
alim_malo(Y,Xs):-setof(X,Y^ali_malo(Y,X),Xs).

%==================================================
=============
%03.Alimento que receta especialista
% Tomaremos el alimento de acuerdo al nombre del especialista
%==================================================
=============
recetar(V,Z):-atiende(X,W),bueno_contra(Y,W),ingred(Y,Z),es(V,X).
recomienda(Y,Z):-setof(X,Y^recetar(Y,X),Z).

%==================================================
=============
%04.Alimento que no receta especialista
% Tomaremos el alimento de acuerdo al nombre del especialista
%==================================================
=============
no_recetar(V,Z):-atiende(X,W),en_exceso_provoca(Y,W),ingred(Y,Z),es(V,X).
no_recomienda(Y,Z):-setof(X,Y^no_recetar(Y,X),Z).

%==================================================
=============
%05.Enfermedades que puede tratar un doctor
% Ingresamos el nombre del doctor, y el sistema nos dice las enfermedades que
puede tratar.
%==================================================
=============
puede_tratar(M,E):-es(M,X),atiende(X,E).
enf_tratada(Y,Z):-setof(X,Y^puede_tratar(Y,X),Z).

También podría gustarte