Está en la página 1de 2

Práctica 2: Sistema experto

IAIC – Curso 2005-2006

ASESORÍA NUTRICIONAL i
El objetivo de esta práctica es desarrollar un sistema experto en nutrición utilizando reglas.
El sistema deberá permitir la elaboración de una dieta adecuada para una determinada persona. La
elaboración de dietas personalizadas debe tener en cuenta un elevado número de características como
son: edad, peso, estatura, actividad, enfermedades, gustos, alimentos disponibles en su lugar de
residencia, poder adquisitivo, etcétera. Además, pueden existir diferentes objetivos a lograr con el
establecimiento de la dieta: aumento o disminución de peso, tratamiento depurativo, mejora del
rendimiento en deportistas, etcétera.
Para implementar el sistema se necesitará información sobre los nutrientes presentes en los distintos
alimentos. Existen numerosas páginas web que incluyen tablas de composición de los alimentos más
comunes. Por ejemplo, en http://www.seh-lelha.org/alimento.htm se puede obtener información muy
detallada sobre las calorías y los distintos nutrientes contenidos en un elevado número de alimentos.
Además de los datos anteriores, el sistema necesitará disponer de guías de recomendación sobre los
nutrientes a ingerir en función de las características de cada persona. A título de ejemplo pueden
consultarse tablas de recomendaciones como la disponible en
• http://www.nutricion.org/recursos_y_utilidades/necesid_nutrientes.htm
o guías como las que aparecen en
• http://www.msc.es/ciudadanos/proteccionSalud/infancia/alimentacion/home.htm
• http://www.health.gov/dietaryguidelines/dga2005/document/
El sistema deberá generar como salida una dieta semanal con al menos 3 comidas diarias, adaptada a
las necesidades del usuario. Alternativamente, se podrá generar una dieta tipo para un solo día,
estableciendo para cada alimento principal un conjunto de otros alimentos que pueden sustituirlo. Es
conveniente tener catalogados los alimentos en grupos de características nutricionales similares.
Los sistemas a desarrollar pueden variar mucho en complejidad. Un sistema que sólo tiene en cuenta
las calorías de los alimentos y elabora dietas de mantenimiento de peso para personas de edad media,
sin problemas de salud, es fácil de implementar. Según se vayan teniendo en cuenta otros nutrientes
(proteínas, grasas, hidratos de carbono, vitaminas y minerales) y restricciones debidas a enfermedades,
gustos, ... el sistema irá aumentando su complejidad. En estos casos, surgirán recomendaciones
contrarias debidas a los distintos factores y el sistema deberá disponer de estrategias para seleccionar
la recomendación que debe aplicar. Dada la enorme complejidad que puede llegar a alcanzar un
sistema de este tipo, se recomienda seleccionar un sector muy concreto de potenciales usuarios (por
ejemplo, niños diabéticos, deportistas, ancianos, etcétera).
Existen numerosos programas comerciales que pueden ser utilizados para ayudar a especificar el
comportamiento deseado en el sistema a desarrollar:
• http://www.nutricion.org/recursos_y_utilidades/alimentador_2000.htm
• http://www.alceingenieria.net/nutricion.htm
• http://www.bl-biologica.es/dietowin.htm
En la calificación de esta práctica se tendrá muy en cuenta el proceso de adquisición del conocimiento y
su estructuración, por lo que ambos aspectos deben ser convenientemente documentados en la
memoria de la práctica, citando las fuentes consultadas.
Práctica 2: Sistema experto
IAIC – Curso 2005-2006

Desarrollo de la práctica
Se debe seguir el ciclo de vida descrito en el libro de González y Dankel 1 (páginas 304 a 306). En
particular, se debe realizar un documento de especificación de requisitos siguiendo una plantilla similar
a la que aparece en las páginas 326 a 328. En el campus virtual encontraréis la información necesaria.
A continuación, y de cara al diseño preliminar, es necesario analizar la conveniencia de utilizar
encadenamiento hacia adelante o encadenamiento hacia atrás, decisión que afectará también al
lenguaje de implementación elegido.
Antes de iniciar la implementación del sistema se debe expresar con palabras en una parte de la
memoria el conocimiento que se va a utilizar.
En la elaboración de la práctica tiene mucha importancia el proceso de adquisición de conocimiento y
como tal se debe documentar convenientemente en la memoria (ya que esta documentación tendrá un
peso importante en la nota de la práctica).
Posteriormente se intentará organizar y estructurar este conocimiento, siendo recomendable subdividir
el conocimiento en bloques tan independientes como sea posible. A partir de aquí se utilizará la técnica
de organización del conocimiento descrita en el texto anteriormente citado (páginas 354 y 355).
La memoria ha de documentar detalladamente todo el proceso de desarrollo del sistema, y se tendrá
especialmente en cuenta en la calificación de la práctica.

Entrega de la práctica
ƒ Fecha y forma de entrega: tanto el código como la memoria se entregarán a través del
Campus Virtual antes del día 22 de mayo
ƒ Formato de entrega:
o Fichero comprimido Apellido1Alumno1_Apellido1Alumno2_Apellido1Alumno3.zip que
contendrá, al menos, los siguientes directorios
ƒ memoria: ficheros .html de la memoria siendo el principal index.html
ƒ fuentes: ficheros fuente de vuestra aplicación
La práctica debe realizarse en grupos de tres personas.

Requisitos de implementación
Es necesario que la práctica se ejecute correctamente en alguno de los laboratorios de la facultad, ya
que se podrá requerir en ellos su presentación. Alternativamente, esta presentación podrá realizarse en
algún portátil que aportéis.
ƒ Lenguajes: Prolog (SWI o SICStus preferiblemente) o CLIPS o JESS
o http://www.ghg.net/clips/CLIPS.html
o http://herzberg.ca.sandia.gov/jess/

1
The Engineering of knowledge-based systems: Theory and practice. Avelino J. González, Douglas D.
Dankel. Englewood Cliffs, N.J. Prentice Hall, cop. 1993