DEPARTAMENTO DE ELÉCTRICA Y...
Transcript of DEPARTAMENTO DE ELÉCTRICA Y...
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
CARRERA DE INGENIERÍA EN SOFTWARE
TRABAJO DE TITULACIÓN, PREVIO A LA OBTENCIÓN DEL TÍTULO
DE INGENIERO EN SOFTWARE
TEMA: “DESARROLLO DE UN SISTEMA INTELIGENTE PARA LA
CREACIÓN DE RECETAS GASTRONÓMICAS QUE PERMITA DAR
APOYO A LA NUTRICIÓN DE LOS INFANTES DEL ‘HOGAR PARA SUS
NIÑOS’ DE LA CIUDAD DE LATACUNGA”
AUTORES: MONAR CARRILLO, JOHANNA ELIZABETH
NARANJO COELLO, JIMMY ANDRES
DIRECTOR: ING. CARRILLO MEDINA, JOSÉ LUIS
LATACUNGA
2019
i
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
CARRERA DE INGENIERÍA EN SOFTWARE
CERTIFICADO DEL DIRECTOR
Certifico que el trabajo de titulación, “DESARROLLO DE UN SISTEMA INTELIGENTE
PARA LA CREACIÓN DE RECETAS GASTRONÓMICAS QUE PERMITA DAR APOYO
A LA NUTRICIÓN DE LOS INFANTES DEL ‘HOGAR PARA SUS NIÑOS’ DE LA
CIUDAD DE LATACUNGA” fue realizado por los señores Monar Carrillo, Johanna
Elizabeth y Naranjo Coello, Jimmy Andrés el mismo que ha sido revisado en su
totalidad, analizado por la herramienta de verificación de similitud de contenido; por lo
tanto cumple con los requisitos teóricos, científicos, técnicos, metodológicos y legales
establecidos por la Universidad de Fuerzas Armadas ESPE, razón por la cual me permito
acreditar y autorizar para que lo sustente públicamente.
Latacunga, 24 de enero de 2019
ii
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
CARRERA DE INGENIERÍA EN SOFTWARE
AUTORÍA DE RESPONSABILIDAD
Nosotros Monar Carrillo, Johanna Elizabeth y Naranjo Coello, Jimmy Andrés
declaramos que el contenido, ideas y criterios del trabajo de titulación: “DESARROLLO
DE UN SISTEMA INTELIGENTE PARA LA CREACIÓN DE RECETAS
GASTRONÓMICAS QUE PERMITA DAR APOYO A LA NUTRICIÓN DE LOS
INFANTES DEL ‘HOGAR PARA SUS NIÑOS’ DE LA CIUDAD DE LATACUNGA” son
de nuestra autoría y responsabilidad, cumpliendo con los requisitos teóricos, científicos,
técnicos, metodológicos y legales establecidos por la Universidad de Fuerzas Armadas
ESPE, respetando los derechos intelectuales de terceros y referenciando las citas
bibliográficas.
Consecuentemente el contenido de la investigación mencionada es veraz.
Latacunga, 25 de enero de 2019
iii
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
CARRERA DE INGENIERÍA EN SOFTWARE
AUTORIZACIÓN
Nosotros Monar Carrillo, Johanna Elizabeth y Naranjo Coello, Jimmy Andrés
autorizamos a la Universidad de las Fuerzas Armadas ESPE publicar el trabajo de
titulación: “DESARROLLO DE UN SISTEMA INTELIGENTE PARA LA CREACIÓN DE
RECETAS GASTRONÓMICAS QUE PERMITA DAR APOYO A LA NUTRICIÓN DE
LOS INFANTES DEL ‘HOGAR PARA SUS NIÑOS’ DE LA CIUDAD DE LATACUNGA”
en el Repositorio Institucional, cuyo contenido, ideas y criterios son de mi responsabilidad.
Latacunga, 25 de enero de 2019
iv
DEDICATORIA
Este nuevo logro en mi vida está dedicado con toda mi gratitud y cariño a mis padres, por
todo el sacrificio y esfuerzo para que me sea posible cumplir todas mis metas, incluso
sacrificando las suyas.
A mis hermanos por ser mi fuente de motivación y superación en todo momento.
Johanna Monar
A mi familia, para mis padres por todo el apoyo, cariño y cuidado que me han dado en mi
vida, sin pedir nada a cambio, a mi hermana quien es mi gran amiga quien me apoya en
todo y confía plenamente en mí, a mis hermanos menores por ver en mi un ejemplo a
seguir, lo que me alienta a ser una mejor persona y profesional para ellos. Para mi
pequeña Andrea y mis futuros sobrinos, que un día leerán este documento y les motivará
a superarme profesionalmente.
Jimmy Naranjo
v
AGRADECIMIENTO
Agradezco a Dios por darme la capacidad y la fuerza para culminar esta meta.
A mis padres, por brindarme su apoyo en todo momento.
A cada uno de los profesores que contribuyeron con mi formación universitaria, de
manera especial al director de tesis José Luis Carrillo, por el tiempo y la paciencia
dedicados al proyecto.
A Diego Monar, Edgar Ramón y a la fundación “Hogar Para Sus Niños” por la información
y guía ofrecida durante el desarrollo de este proyecto.
A Jimmy Naranjo por la incondicionalidad, el amor y la infinita paciencia.
Johanna Monar
vi
A todos mis profesores que me han guiado en el camino para convertirme en un
profesional y que me han demostrado que son un amigo más para mí, en especial a José
Luis Carrillo, por habernos guiado durante la elaboración de este proyecto.
A mi madre por madrugar todos los días, sin importarle el cansancio y el frio únicamente
para que pueda alcanzar mis metas profesionales y siempre esperándome con un cálido
abrazo mi regreso.
A mi mejor amigo Diego Soria con quien he compartido grandes momentos de la vida,
por apoyarme y creer en mí en todo momento, alimentándome a ser el mejor en todo.
A los expertos profesionales, en especial a mi amigo Edgar Ramón quien me apoya y
ayuda, pidiéndome a cambio mi amistad.
A Johanna Monar le agradezco su comprensión, amor y por exigirme más dedicación a
mis metas, haciendo que me convierta en una mejor persona.
Jimmy Naranjo
vii
ÍNDICE DE CONTENIDO
CERTIFICADO DEL DIRECTOR ..................................................................................... I
AUTORÍA DE RESPONSABILIDAD ............................................................................... II
AUTORIZACIÓN ............................................................................................................ III
DEDICATORIA ............................................................................................................... IV
AGRADECIMIENTO ....................................................................................................... V
ÍNDICE DE CONTENIDOS ............................................................................................ VII
ÍNDICE DE TABLAS ...................................................................................................... XI
ÍNDICE DE FIGURAS ................................................................................................... XII
RESUMEN .................................................................................................................... XIII
ABSTRACT .................................................................................................................. XIV
CAPÍTULO I
PROBLEMA
1.1. Antecedentes ......................................................................................................... 1
1.2. Planteamiento y Formulación del problema ........................................................... 3
1.3. Justificación e Importancia..................................................................................... 6
1.4. Objetivos ................................................................................................................ 7
1.5. Meta ....................................................................................................................... 8
CAPÍTULO II
MARCO TEÓRICO
2.1. Introducción del capítulo ........................................................................................ 9
2.2. Alimentación .......................................................................................................... 9
2.2.1. Macronutrientes ................................................................................................ 10
viii
2.2.2. Grupos de alimentos ........................................................................................ 12
a. Grupo 1. Hortalizas y frutas .................................................................................... 13
b. Grupo 2. Cereales, tubérculos y plátanos ............................................................... 15
c. Grupo 3 Alimentos de origen animal y leguminosas ............................................... 16
2.2.3. Comida saludable ............................................................................................. 19
a. Desayuno ................................................................................................................ 19
b. Almuerzo ................................................................................................................. 19
c. Merienda ................................................................................................................. 20
d. Refrigerios ............................................................................................................... 20
2.2.4. Cálculo de calorías ........................................................................................... 21
2.2.5. Combinación de alimentos por tipo .................................................................. 22
2.3. Sistemas inteligentes ........................................................................................... 24
2.3.1. Evolución de los métodos de Inteligencia Artificial, en el proceso de sistemas
inteligentes .......................................................................................................... 26
2.3.2. Ramas de la Inteligencia Artificial en sistemas inteligentes .............................. 29
a. Lógica Difusa .......................................................................................................... 29
b. Redes Neuronales Artificiales ................................................................................. 38
c. Sistemas híbridos neural-difusos (neuro-fuzzy) ...................................................... 45
2.4. Metodología MAS-CommonKADS ....................................................................... 49
2.4.1. Fases de desarrollo de MAS-CommonKADS ................................................... 50
a. Conceptuación ........................................................................................................ 50
b. Modelo de Agente ................................................................................................... 51
c. Modelo de Tareas ................................................................................................... 55
ix
d. Modelo de la Experiencia ........................................................................................ 57
e. Modelo de Coordinación ......................................................................................... 59
f. Modelo de Organización ......................................................................................... 61
g. Modelo de Diseño ................................................................................................... 62
2.5. Framework python para aplicaciones móviles ..................................................... 65
CAPÍTULO III
DESARROLLO DEL SISTEMA INTELIGENTE PARA LA CREACIÓN DE RECETAS
GASTRONÓMICAS QUE PERMITAN DAR APOYO A LA NUTRICIÓN DE LOS
INFANTES DEL “HOGAR PARA SUS NIÑOS” DE LA CIUDAD DE LATACUNGA
3.1. Introducción del capítulo ...................................................................................... 68
3.2. Aplicación de la metodología MAS-CommonKADS ............................................. 68
a. Conceptuación ........................................................................................................ 68
b. Modelo de Agente ................................................................................................... 74
c. Modelo de la Experiencia ........................................................................................ 79
d. Modelo de Tareas ................................................................................................... 81
e. Modelo de Coordinación ......................................................................................... 83
f. Modelo de Organización ......................................................................................... 85
g. Modelo de Diseño ................................................................................................... 86
3.3. Construcción del sistema neural-difuso ............................................................... 88
3.3.1. Construcción sistema difuso (2) ....................................................................... 89
3.3.2. Construcción de red neuronal (3) ..................................................................... 95
x
CAPÍTULO IV
PRUEBAS DEL SISTEMA INTELIGENTE PARA LA CREACIÓN DE RECETAS
GASTRONÓMICAS QUE PERMITAN DAR APOYO A LA NUTRICIÓN DE LOS
INFANTES DEL “HOGAR PARA SUS NIÑOS” DE LA CIUDAD DE LATACUNGA.
4.1. Introducción del capítulo .................................................................................... 101
4.2. Pruebas Unitarias .............................................................................................. 101
4.3. Pruebas de integración de sistema neural-difuso .............................................. 103
4.4. Pruebas de validación ....................................................................................... 115
CAPÍTULO V
VALIDACIÓN DEL SISTEMA INTELIGENTE
5.1. Introducción del capítulo .................................................................................... 117
5.2. Entrega y recepción ........................................................................................... 117
5.3. Validación y aceptación ..................................................................................... 118
CAPÍTULO VI
CONCLUSIONES Y RECOMENDACIONES .............................................................. 119
6.1. Conclusiones ..................................................................................................... 119
6.2. Recomendaciones ............................................................................................. 121
REFERENCIAS BIBLIOGRÁFICAS ........................................................................... 123
ANEXOS……………………………………………………………………………………….127
xi
ÍNDICE DE TABLAS
Tabla 1 Porción de verduras recomendadas según rangos de edad ......................................... 14
Tabla 2 Porción de frutas recomendadas según rangos de edad .............................................. 14
Tabla 3 Porción de cereales tubérculos y plátanos recomendadas según rangos de edad ....... 15
Tabla 4 Porción diaria de alimentos de origen animal recomendadas según rangos de edad ... 16
Tabla 5 Porción diaria de leguminosas recomendadas según rangos de edad ......................... 17
Tabla 6 Porción diaria de oleaginosas recomendadas según rangos de edad .......................... 17
Tabla 7 Porción diaria de lácteos recomendados según rangos de edad .................................. 18
Tabla 8 Porción diaria de huevos recomendada según rangos de edad .................................... 18
Tabla 9 Resumen de casos de uso del sistema inteligente ....................................................... 70
Tabla 10 Ejemplo de alimentos de cambio para grupo Guarnición Sopa ................................... 91
Tabla 11 Rangos para la asignación de un nuevo alimento grupo GuarnicionSopa .................. 91
Tabla 12 Valores de grupos de alimentos por tipo ..................................................................... 96
Tabla 13 Porcentaje de combinación por tipo de alimento ......................................................... 97
Tabla 14 Ejemplo de alimentos por tipo e identificador numérico .............................................. 97
Tabla 15 Ejemplo de combinaciones entre alimentos por receta ............................................... 98
Tabla 16 Entradas y salidas de la red neuronal ......................................................................... 99
Tabla 17 Check list pruebas unitarias ...................................................................................... 102
Tabla 18 Ingredientes de la receta procesados ....................................................................... 104
Tabla 19 Información de ingredientes (macronutrientes por cada 100gr) ................................ 105
Tabla 20 Aporte de macronutrientes por cada ingrediente ...................................................... 105
Tabla 21 Lista de ingredientes a ser reemplazados ................................................................. 107
Tabla 22 Rangos para la asignación de un nuevo alimento grupo Carnes .............................. 109
Tabla 23 Rangos para la asignación de un nuevo alimento grupo GranosSecos .................... 111
Tabla 24 Nueva receta generada ............................................................................................ 111
Tabla 25 Cambios de ingrediente en la receta “Pollo al estilo de la abuela” ............................ 112
Tabla 26 Combinaciones de nueva receta............................................................................... 113
Tabla 27 Predicción de combinación por tipo y sabor de alimento .......................................... 114
xii
ÍNDICE DE FIGURAS
Figura 1 Guía de combinación de alimentos .............................................................................. 24
Figura 2 Ejemplo de representación de conjuntos clásicos (izquierda) a conjuntos difusos
(derecha) ................................................................................................................................... 31
Figura 3 Función trapezoidal ..................................................................................................... 32
Figura 4 Función Triangular ...................................................................................................... 33
Figura 5 Estructura de un sistema de inferencia difuso ............................................................. 34
Figura 6 Estructura básica de inferencia de Mamdani ............................................................... 36
Figura 7 Redes neuronales de una sola capa (perceptron) ....................................................... 40
Figura 8 Estructura backpropagation ......................................................................................... 41
Figura 9 Primer modelo de sistema neural difuso ...................................................................... 48
Figura 10 Segundo modelo de sistema neural difuso ................................................................ 48
Figura 11 Fases de desarrollo de MAS-CommonKADS ............................................................ 50
Figura 12 Notación de los casos de uso .................................................................................... 51
Figura 13 Plantilla de Agente..................................................................................................... 54
Figura 14 Plantilla de objetivos .................................................................................................. 55
Figura 15 Plantilla de modelo de tareas .................................................................................... 56
Figura 16 Notación alternativa para representar la descomposición de tareas .......................... 57
Figura 17 Plantilla modelo de coordinación ............................................................................... 61
Figura 18 Notación gráfica del modelo de organización ............................................................ 62
Figura 19 Plantilla de modelo de diseño de agentes ................................................................. 64
Figura 20 Plantilla de modelo de diseño de plataforma ............................................................. 65
Figura 21 Casos de uso del sistema.......................................................................................... 70
Figura 22 Descomposión de Tarea SugerirRecetas .................................................................. 82
Figura 23 Modelo de organización ............................................................................................ 86
Figura 24 Modelo de sistema neural difuso a construir. (1) Entradas del sistema difuso, (2)
Sistema difuso, (3) Red neuronal, (4) Salidas neuronales, (5) Resolución. ............................... 88
Figura 25 Estructura del sistema difuso del sistema inteligente ................................................. 90
Figura 26 Funciones de Membresía de los antecedentes carbohidrato ..................................... 93
Figura 27 Funciones de membresía para consecuente GuarnicionSopa ................................... 94
Figura 28 Estructura de red neuronal del sistema inteligente .................................................. 100
Figura 29 Funciones de membresía Antecedentes1 ................................................................ 108
Figura 30 Función de membresía Consecuente1 .................................................................... 109
Figura 31 Funciones de membresía Antecedentes 2 ............................................................... 110
Figura 32 Función de membresía Consecuente 2 ................................................................... 110
Figura 33 Receta generada presentada al usuario .................................................................. 115
xiii
RESUMEN
El presente trabajo de titulación consiste en desarrollar un sistema inteligente para la
creación de recetas gastronómicas que permitan dar apoyo a la nutrición de los infantes
del “Hogar Para Sus Niños” de la ciudad de Latacunga. El proyecto surge de la necesidad
de la fundación de poseer una herramienta software que apoye y facilite la preparación y
planificación de su menú diario, aprovechando los alimentos a su disposición; como
solución a dicha necesidad se desarrolló un sistema neural-difuso que realiza reemplazos
de ingredientes en recetas mediante el sistema difuso y predice el grado de aprobación
de esta basándose en, el tipo y sabor de sus ingredientes mediante la red neuronal.
Además de mostrar el porcentaje de macronutrientes de cada una, y la evaluación
respecto a si es o no una receta equilibrada. Finalmente, el sistema fue validado por
expertos gastrónomos y el usuario final que determinaron a las recetas generadas como
nutritivas, diferentes y fáciles de preparar.
PALABRAS CLAVE:
SISTEMA INTELIGENTE NEURAL-DIFUSO
INTELIGENCIA ARTIFICIAL
REDES NEURONALES
RECETAS GASTRONÓMICAS
xiv
ABSTRACT
The present project consists of developing an intelligent system for the creation of
gastronomic recipes to support the nutrition of the infants of the "Hogar Para Sus Niños"
in the city of Latacunga. The project arises from the need of the foundation to have a
software tool that supports and facilitates the preparation and planning of its daily menu,
taking advantage of the foods at its disposal; as a solution to this need was developed a
neural-diffuse system that replaces ingredients in recipes through the diffuse system and
predicts the degree of approval based on the type and flavor of its ingredients through the
neural network. In addition to showing the percentage of macronutrients of each, and the
evaluation regarding whether or not it is a balanced recipe. Finally, the system was
validated by expert gourmets and the end user who determined the recipes generated as
nutritious, different and easy to prepare.
KEYWORDS:
INTELLIGENT NEURAL-FUZZY SYSTEM
ARTIFICIAL INTELLIGENCE
NEURAL NETWORK
GASTRONOMIC RECIPES
1
CAPÍTULO I
Problema
1.1. Antecedentes
La salud es el elemento principal para mantener una buena calidad de vida, desde
hace mucho tiempo se dice, que, para mantener una buena salud se deben practicar
buenos hábitos como, hacer ejercicio en forma regular y controlar el peso, no fumar, no
tomar alcohol y consumir una dieta saludable y equilibrada.
El suministro suficiente de nutrientes, desde las primeras etapas de la vida, es
decisivo para un buen desarrollo físico y mental para gozar de buena salud durante
mucho tiempo. La escasa disponibilidad o el acceso insuficiente a alimentos de adecuada
calidad nutricional o la exposición a condiciones que perjudican la absorción y el uso de
los nutrientes ha llevado a grandes sectores de la población mundial a la desnutrición, a
padecer un déficit de vitaminas y minerales, o bien al sobrepeso y la obesidad,
apreciándose grandes diferencias entre los grupos de población. (WHO, 2014)
En el Ecuador según en INEC la población total estimada al año 2018 es de 17
millones, de estos, cerca de 6 millones son niños, niñas y adolescentes, es decir, 35% de
la población total. Por otro lado, la última Encuesta Nacional de Salud y Nutrición muestra
una desnutrición crónica en menores de 5 años de 25.3%; porcentaje que en los
indígenas sube al 42.3%. Esta misma fuente, muestra que casi el 9% de los niños y niñas
en edad pre-escolar, el 30% de los de edad escolar y el 26% de adolescentes presentan
sobrepeso. La Encuesta concluye que la dieta de la población ecuatoriana es una dieta
desequilibrada, en la que predominan los carbohidratos refinados y entre estos el arroz,
2
bajo consumo de frutas y verduras, así como de leguminosas, alto consumo de aceite de
palma, muy bajo consumo de fibra, alto consumo de leche y queso enteros que, además
de aportar proteínas, aportan al consumo de grasas saturadas, lo cual plantea un
panorama poco saludable que evidentemente se refleja en las altas tasas de sobrepeso,
obesidad, diabetes, hipertensión y síndrome metabólico. (WHO, 2017)
El “Hogar Para Sus Niños” (HPSN) sede Latacunga es una organización no-
gubernamental, sin fines de lucro, se encuentra localizada en la provincia de Cotopaxi y
acoge a niños en situación de riesgo debido a factores como el abandono o maltrato; su
objetivo es alcanzar el desarrollo integral de los niños y adolescentes a su cargo.
Debido a la situación de maltrato y abandono en la que los niños son acogidos, la
mayoría de veces ingresan con problemas de desnutrición; en la actualidad cuenta con
13 niños de 1 a 6 años, 4 de 6 a 12 años y 2 adolescentes; 6 de estos tienen desnutrición;
por tanto, el apoyo nutricional es parte fundamental en la fundación.
Todo lo anteriormente descrito refleja, que, es necesario que el sector de la salud
impulse la generación de nuevos proyectos utilizando herramientas tecnológicas de fácil
acceso enfocadas en dar apoyo a la nutrición de la población ecuatoriana. Por tanto, el
propósito de desarrollar un sistema inteligente para la creación de recetas gastronómicas
que permita dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” es,
además de aprovechar la gran variedad de alimentos que se producen en nuestro país,
ofrecer la posibilidad de tener al alcance un menú adecuado nutricionalmente para un
infante siendo parte de una estrategia de acceso a una alimentación sana a través de
soluciones tecnológicas; la alimentación requiere estrategias tanto para, proporcionar a
3
los infantes vitaminas y nutrientes necesarios para su crecimiento, así como ofrecerle una
comida agradable a su paladar y además aprovechar todos los alimentos que se reciben
como donaciones.
1.2. Planteamiento y Formulación del problema
La nutrición tiene un efecto importante en la salud del infante, así como en su
habilidad para aprender, comunicarse, pensar analíticamente, socializar efectivamente y
adaptarse a nuevos ambientes y personas. Una buena nutrición es la primera línea de
defensa contra numerosas enfermedades infantiles que pueden dejar huellas en los niños
de por vida, por lo que, combatir todas las formas de malnutrición es uno de los mayores
problemas sanitarios a escala mundial (MPS, INEC, 2013), estando entre estas combatir
la desnutrición. (OEA, s.f.)
La desnutrición, conlleva un déficit general de nutrientes y el consumo de tejido
muscular a falta de energías externas. Todos los casos de desnutrición son englobados
en la categoría de malnutrición.
Los efectos de la desnutrición en la primera infancia (0 a 8 años) pueden ser
devastadores y duraderos. Pueden impedir el desarrollo conductual y cognitivo, el
rendimiento escolar y la salud reproductiva, debilitando así la futura productividad en el
trabajo. Dado que el retraso en el crecimiento ocurre casi exclusivamente durante el
periodo intrauterino y en los 2 primeros años de vida, es importante que las intervenciones
de prevención en trastornos alimenticios ocurran en la edad temprana. (OEA, s.f.)
A nivel mundial en 2016 se calcula, que 52 millones de niños menores de 5 años
presentan emaciación (un peso insuficiente respecto de la talla), 17 millones padecen
4
emaciación grave, y 155 millones sufren retraso del crecimiento, mientras que 41 millones
tienen sobrepeso o son obesos. Alrededor del 45% de las muertes de menores de 5 años
tienen que ver con la desnutrición. La optimización de la nutrición al comienzo de la vida
(en particular durante los 1000 días que transcurren entre la concepción y el segundo
aniversario del niño) asegura el mejor arranque posible de la vida, con beneficios a largo
plazo. (MPS, INEC, 2013)
Respecto al apoyo en alimentación diaria que la organización “Hogar Para Sus
Niños” brinda, maneja una despensa con alimentos mayoritariamente donados, el
personal encargado tanto de la despensa, como de la cocina no poseen conocimientos
extensos referentes a nutrición; cuentan con el apoyo de la nutricionista del Hospital
General Latacunga, sin embargo, aún con un listado de alimentos nutritivos que deberían
ser usados persiste la limitación de no saber cómo combinar y cocinar los alimentos.
Actualmente la asistente administrativa del “Hogar Para Sus Niños” que tiene entre
sus funciones gestionar la despensa con la que se prepara el menú diario, maneja una
planificación de alimentación mensual que se ha mantenido sin modificaciones por
aproximadamente 2 años, es registrada de forma manual con grandes volúmenes de
información, la cual, debido a la falta de coordinación y desconocimiento de todos los
alimentos que realmente posee la fundación en su despensa, deriva en el incumplimiento
de dicha planificación, cambios al carecer de algún ingrediente de las recetas
planificadas, recetas repetitivas y comunes, incluso el desaprovechamiento de ciertos
alimentos por no saber cómo prepararlos y combinarlos para ser ingeridos fácilmente por
los infantes.
5
A pesar de los avances y la masificación tecnológica el “Hogar Para Sus Niños”
carece de algún sistema de apoyo donde se gestione información referente a recetas
gastronómicas con una adecuada nutrición según los alimentos que posee.
El desarrollo de un sistema inteligente para la creación de recetas gastronómicas
que permita dar apoyo a la nutrición, tiende a facilitar la tarea de alimentar infantes
utilizando herramientas tecnológicas que proporcionan ventajas al tener la capacidad de
crear recetas que reemplacen la prescripción y guía de un pediatra o un nutricionista con
instantáneo y fácil acceso.
El sistema inteligente tendrá la capacidad de emitir una receta en base a los
ingredientes ingresados, sustentándose en conocimientos de un gran conjunto de recetas
y de experiencias referentes a qué tipo de ingredientes combinan mejor entre sí para
determinar la mejor opción de receta.
El nutricionista proporcionará el listado de alimentos que los infantes deben
consumir junto con su aporte nutricional, los dos expertos Edgar Ramón chef de partida
con 2 años de experiencia y Diego Monar administrador gastronómico con 4 años de
experiencia, proporcionarán el listado de recetas balanceadas con los alimentos
otorgados por el nutricionista, además participarán en la formación de grupos de
alimentos de cambio y determinando el porcentaje de combinación de alimentos por tipo,
siendo esta información parte fundamental para el desarrollo del sistema.
Por otra parte, el personal encargado de la despensa y la preparación de las
recetas en el “Hogar Para Sus Niños”, tendrá la opción de validar la receta generada por
el sistema indicando si fue o no de su agrado; de tal manera que el sistema inteligente se
6
mantendrá continuamente retroalimentado lo que permitirá dar apoyo a la toma de
decisiones al momento de generar una nueva receta.
Basándonos en estos antecedentes se formula el siguiente problema:
¿Cómo dar apoyo a la alimentación infantil en el “Hogar Para Sus Niños” de la ciudad de
Latacunga aplicando un sistema inteligente?
1.3. Justificación e Importancia
La organización “Hogar Para Sus Niños” se encarga del cuidado integral de niños en
situaciones de riesgo, su alimentación está a cargo del personal de la organización y se
basa en alimentos mayoritariamente donados con una planificación mensual obsoleta,
detectando falencias en el cumplimiento de dicha planificación, incluso el
desaprovechamiento de ciertos alimentos por no saber cómo prepararlos y combinarlos
para ser ingeridos fácilmente por los infantes; en consecuencia, se considera desarrollar
un sistema inteligente para la creación de recetas gastronómicas a partir de ingredientes
existentes; ofreciendo una herramienta con recetas sencillas que cumplen con los
requerimientos de nutrición necesarios para el infante, aprovechando además los
alimentos que habitualmente consume.
Es importante técnicamente porque el desarrollo de un sistema inteligente pone a
nuestro alcance con un teléfono móvil una aplicación que apoya, incentiva y facilita el
proceso de alimentación de infantes.
Económicamente el proyecto es importante porque ayuda a minimizar los gastos
médicos derivados de enfermedades causadas por una mala alimentación, además
7
contribuye a aprovechar de mejor manera los alimentos existentes disminuyendo el
desperdicio por consecuente también reduciendo gastos de alimentación.
Socialmente es importante debido a que el proyecto incentivará el control y cuidado
de la alimentación infantil por lo tanto contribuye con el mejoramiento de su calidad de
vida, disminuyendo con el tiempo problemas derivados de una mala nutrición como
sobrepeso, obesidad, diabetes, hipertensión y síndrome metabólico.
1.4. Objetivos
1.1.1. Objetivo General
Desarrollar un sistema inteligente para la creación de recetas gastronómicas que
permitan dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” de la
ciudad de Latacunga.
1.1.2. Objetivos Específicos
• Determinar el marco teórico vinculado a la alimentación infantil.
• Determinar el marco teórico vinculado a los sistemas inteligentes.
• Elaborar un sistema inteligente para la creación de recetas gastronómicas que
permitan dar apoyo a la nutrición de infantes.
• Aplicar la propuesta en el “Hogar Para Sus Niños” de la ciudad de Latacunga.
• Validar los resultados obtenidos de la aplicación del sistema inteligente.
8
1.5. Meta
Desarrollo de un sistema inteligente para la creación de recetas gastronómicas que
permita dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” de la ciudad
de Latacunga.
9
CAPÍTULO II
Marco teórico
2.1. Introducción del capítulo
En el presente capítulo se abordan los temas que sustentan el desarrollo del sistema
inteligente, en la sección 2.2 se detallan temas relacionados con la alimentación,
macronutrientes, grupos de alimentos, comida saludable, cálculo de calorías y
combinaciones de alimentos. A continuación, en la sección 2.3 se abordan aspectos
teóricos referentes a sistemas inteligentes, evolución y ramas donde se profundiza en
lógica difusa, redes neuronales artificiales y sistemas híbridos neural-difusos. Finalmente,
en la sección 2.4 se realiza una conceptualización de la metodología MAS-
CommonKADS que será la guía para el desarrollo del sistema inteligente y el en la
sección 2.5 se describe el framework Python Kivy para el desarrollo del sistema
inteligente en una aplicación móvil.
2.2. Alimentación
La alimentación es el proceso de selección de los alimentos que, se preparan según
sus costumbres, y se termina por ingerirlos para obtener de estos los nutrientes
necesarios para vivir y realizar todas las actividades necesarias del día a día. Por tanto,
es un proceso voluntario, educable y muy influenciable por factores sociales económicos
y culturales. (Ecured, s.f.)
La alimentación está controlada por medio de una dieta equilibrada, que implica la
adecuada selección de alimentos de alto valor nutritivo, para mantener y desarrollar un
cuerpo sano son necesarios seis nutrientes esenciales, tres de ellos se llaman
10
macronutrientes (carbohidratos, proteínas, grasas), dos son micronutrientes (vitaminas,
minerales) y el restante es el agua. (FAO, 2015)
En la alimentación infantil, en especial de los más pequeños (de 5 a 9 años), se
consume principalmente lo que está disponible en casa, por eso, es importante disponer
de alimentos saludables que deben ser ingeridos en cantidades adecuadas en diferentes
tiempos de comida: desayuno, almuerzo, merienda y dos refrigerios; los alimentos son
los que aportan con todos los nutrientes esenciales y la energía que cada niño necesita
para mantenerse sano, mejora su calidad de vida y contribuye a la formación de hábitos
saludables que garantizan un normal crecimiento y desarrollo. (Ministerio de Salud
Pública del Ecuador, 2017)
2.2.1. Macronutrientes
Se llaman macronutrientes ya que se requieren en grandes cantidades para alimentar
el cuerpo, son esenciales para que el cuerpo crezca, repare y desarrolle nuevos tejidos,
conduzca los impulsos nerviosos y regule el proceso de la vida, (Foodpyramid, 2015)
Los macronutrientes incluyen carbohidratos, grasas y proteínas. Una dieta
balanceada debe contener los 3 tipos de macronutrientes, en proporciones de acuerdo a
la composición corporal y actividad física. Por su grado de importancia en la alimentación
son los únicos nutrientes descritos a detalle.
Carbohidratos
Son la principal fuente de energía del cuerpo, son necesarios para que el cerebro
funcione y ayudan a que los músculos trabajen mejor. Algunos se descomponen y se
11
usan en la energía que el cuerpo necesita para la actividad física. Otros para el
crecimiento y para la renovación de los tejidos corporales. Se encuentran en tres formas:
azúcar, almidón y fibra. Cada forma de carbohidrato sirve para diferentes propósitos y
es importante en una dieta. Una dieta saludable para niños incluye al menos la mitad de
las calorías diarias provenientes de los carbohidratos (50-65%), con abundante almidón
y fibra y azúcar limitada. (Probart & Menza, 2013)
Proteínas
Se encuentran en alimentos de origen animal y vegetal, proporcionan aminoácidos
esenciales para las funciones básicas del cuerpo. Los aminoácidos se combinan en el
cuerpo para crear sustancias proteicas para formar tejidos corporales. Sin estas, las
funciones vitales más básicas no se pueden llevar a cabo, casi todas las células del
cuerpo se descomponen constantemente y luego se reconstruyen. Este proceso requiere
un suministro constante de proteínas, estas trabajan para construir y reparar tejidos
corporales como músculos, huesos, órganos, sangre, piel, cabello y la reparación de los
tejidos dañados debido a una enfermedad o lesión. Son necesarias para la coagulación
de la sangre y para mantener el sistema inmunológico fuerte mediante el desarrollo de
anticuerpos para combatir la enfermedad. Una dieta saludable para niños incluye la
ingesta del 20%-40% de calorías diarias provenientes de proteínas. (Probart & Menza,
2013)
12
Grasas
Suministran los ácidos grasos esenciales que se necesitan para la alimentación y la
absorción de las vitaminas A, D, E y K (llamadas vitaminas “liposolubles"). Contienen el
nivel más alto de energía (9 calorías por gramo) de cualquier nutriente y son esenciales
para el crecimiento y la salud. Son también un componente necesario del tejido corporal,
el cuerpo la utiliza para fabricar los productos químicos necesarios, como las hormonas,
protegen las células y los órganos internos y permiten almacenar calorías para cuando
no hay comida disponible. Permanecen en el estómago más tiempo que otras comidas,
mantienen el cuerpo caliente y hacen que la comida sepa mejor. Una dieta saludable
para niños incluye de 25 a 35 % de grasas. (Probart & Menza, 2013)
2.2.2. Grupos de alimentos
Los grupos de alimentos fueron establecidos por el programa de Educación en la
Alimentación y Nutrición (EDALNU) en los años 60, esta clasificación era necesaria para
disponer de una guía que ayude a conocer cómo realizar una dieta equilibrada. Se crean
según las funciones que cumplen y los nutrientes que proporcionan, es decir, están
agrupados por su similitud en el aspecto nutricional y composición. (VELSID, 2009)
En los niños, una dieta equilibrada debe estar compuesta por cada uno de los
grupos de alimentos en sus proporciones adecuadas y, además, jugar con la variedad de
alimentos de cada grupo para garantizar el aporte de sustancias que ayudan a cubrir las
necesidades orgánicas. (VELSID, 2009)
13
La agrupación de alimentos permite tener una guía de los alimentos con
características similares para generar reemplazos de ingredientes en las recetas
manteniendo su equilibrio nutricional. A continuación, se detallan los grupos de alimentos
clasificados de acuerdo al Ministerio de Salud Pública del Ecuador.
Grupo 1. Hortalizas y frutas.
Grupo 2. Cereales, tubérculos y plátanos.
Grupo 3. Alimentos de origen animal y leguminosas
a. Grupo 1. Hortalizas y frutas
Las hortalizas son fuente principal de vitaminas y minerales, indispensables para
regular las funciones vitales de los sistemas nervioso e inmunológico, y para los procesos
de digestión y reparación del organismo. Las hortalizas de color verde intenso y amarillo
contienen betacarotenos que son sustancias que se transforman en vitamina A en el
organismo y especialmente ayudan a mantener sana la vista y piel. Cuando están frescas
aportan con vitamina C, ayudan al crecimiento, protegen las encías y ayudan a cicatrizar
heridas. El Ministerio de salud pública del Ecuador indica que se debe consumir al menos
dos porciones diarias de cualquier hortaliza en diferentes preparaciones. (Ministerio de
Salud Pública del Ecuador, 2017). Las tablas 1 y 2 muestran algunos alimentos que
pertenecen a este grupo y las porciones que debe ingerir el niño o adolescente según su
edad, estas medidas se detallan de forma casera y en gramos.
14
Tabla 1
Porción de verduras recomendadas según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Vainitas
Arveja
Zanahoria
Remolacha
Brócoli
Col
Coliflor
Zapallo
Zambo
Espinaca
Acelga
Crudas 1 taza
Cocidos o en
puré ½ taza
100 Crudas 1 taza
Cocidos o en
puré ½ taza
100
Apio
Col
Lechuga
Tomate riñón
Pepinillo
Pimiento
Zanahoria
Crudas 1 taza 60 Crudas en hojas
1 taza
60
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
Las frutas contienen vitaminas, minerales y fibra, necesarios para protegernos
contra las enfermedades y mantener un buen estado de salud, es recomendable el
consumo diario de tres porciones de frutas. (Ministerio de Salud Pública del Ecuador,
2017).
Tabla 2
Porción de frutas recomendadas según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Duraznos
Guaba
Granadilla
Mandarina
Mango
Manzana
Naranja
1 unidad
mediana
80 1 unidad
mediana
80
CONTINÚA
15
Pepino
Pera
Tuna
Claudia 3 unidades
medianas
100 4 unidades
pequeñas
100
Babaco
Papaya
Sandia
Piña
½ taza (picado) 70 1 taza (picado) 100
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
b. Grupo 2. Cereales, tubérculos y plátanos
Fuente principal de carbohidratos y vitaminas, proporcionan la mayor parte de
energía que se necesita para mantenerse sano y tener un normal crecimiento. Los niños
y niñas que hacen actividad física requieren de mayor energía, por lo que deben aumentar
el consumo de cereales, tubérculos y plátanos. La tabla 3 muestra ejemplos de cereales
tubérculos y plátanos y su porción recomendada. (Ministerio de Salud Pública del
Ecuador, 2017)
Tabla 3
Porción de cereales tubérculos y plátanos recomendadas según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Arroz 5 cucharadas 50 ½ taza 80
Avena
Quinua
Maíz
Trigo
1 cucharada 10 1 cucharada 10
Fideo (plato
fuerte)
2/3 taza 100 2/3 taza 100
Pan blanco,
integral
Tostadas
Tortas
Tortillas
1 unidad
pequeña
40 1 unidad
mediana
60
CONTINÚA
16
Guineo
Plátano verde
Maqueño
Plátano rosado
½ unidad 75 1 unidad 150
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
c. Grupo 3 Alimentos de origen animal y leguminosas
Representan la fuente principal de proteína de la dieta, son importantes para formar
y reparar tejidos. Los alimentos de origen animal son lácteos, carnes, pescados, mariscos
y vísceras. (Ministerio de Salud Pública del Ecuador, 2017)
Las tablas 4, 5, 6, 7 y 8 presentan ejemplos de alimentos de origen animal y sus
porciones recomendadas.
Tabla 4
Porción diaria de alimentos de origen animal recomendadas según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Corvina
Pargo
Bagre
Cherna
Picudo
Camotillo
Trucha
2 onzas
1 filete tamaño
de la palma de
la mano del niño
60 3 onzas
1 filete tamaño
de la palma de
la mano del
adolescente
90
Res
Chivo
Cerdo
Borrego
2 onzas 60 3 onzas
1 filete tamaño
de la palma de
la mano del
adolescente
90
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
Las leguminosas son una buena fuente de algunos minerales
como calcio, hierro, zinc, fósforo, potasio y magnesio, así como de algunas vitaminas
hidrosolubles, especialmente tiamina, riboflavina y niacina. La ingestión de algunas
17
leguminosas producen una disminución del colesterol posiblemente debido a su alto
contenido en fibra dietética. (Rivera, 2008)
Tabla 5
Porción diaria de leguminosas recomendadas según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Frejol
Lenteja
Garbanzo
Arveja
Chocho
2 onzas
4 cucharas
40 7 cucharadas 70
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
Las oleaginosas como maní, nueces, semillas de zambo y zapallo, tocte además
de proteínas, son ricos en ácidos grasos esenciales (ácido linoleico y linolénico),
nutrientes que el organismo humano es incapaz de sintetizar y que resultan vitales para
la formación de las membranas celulares, particularmente de las células nerviosas. El
contenido mineral es, fuente de magnesio, fósforo, potasio, calcio y hierro; y
oligoelementos como zinc y selenio (ambos con acción antioxidante). (Consumer, 2004)
Tabla 6
Porción diaria de oleaginosas recomendadas según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Maní
Nuez
Semillas
Zambo
Zapallo
Girasol
3 cucharas 30 ¼ taza 60
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
Para crecer un niño necesita consumir al menos tres tazas de leche o cualquiera
de sus equivalencias o derivados. Los lácteos, aportan proteínas de buena calidad;
18
además, son fuentes de minerales como calcio, fósforo, zinc y magnesio que son
indispensables para que los huesos crezcan fuertes y los dientes se mantengan sanos y
firmes, también son una buena fuente de vitamina A. Ayudan a prevenir la osteoporosis
en la etapa adulta y la vejez. Se debe preferir la leche semidescremada y queso fresco
para evitar el consumo alto de grasas saturadas. (Ministerio de Salud Pública del
Ecuador, 2017)
Tabla 7
Porción diaria de lácteos recomendados según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Leche de vaca 1 vaso 240 1 vaso 240
Queso fresco ½ onza 45 ½ onza 45
Yogurt natural 1 vaso 240 1 vaso 140
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
Los huevos aportan proteínas de buena calidad ya que contienen todos los
aminoácidos esenciales que el cuerpo humano no puede elaborar. Ayudan al crecimiento,
por ello se recomienda consumir a edades tempranas. (Ministerio de Salud Pública del
Ecuador, 2017)
Tabla 8
Porción diaria de huevos recomendada según rangos de edad
Alimento Niña/o (5 a 9 años) Adolescente (10 a 19 años)
Medida casera Gramos Medida casera Gramos
Huevo de gallina 1 unidad 50 1 unidad 50
Huevo de
codorniz
3 unidad 50 3 unidades 50
Fuente: (Ministerio de Salud Pública del Ecuador, 2017)
19
2.2.3. Comida saludable
Los niños necesitan comer alimentos con frecuencia: al menos 3 veces al día es
decir desayuno, almuerzo y merienda, con 2-3 refrigerios durante el día, donde se
abarquen los grupos de alimentos ya detallados, para cubrir la gran necesidad de energía
y nutrientes, a estómagos pequeños que no pueden comer grandes porciones de
alimentos a la vez. (Probart & Menza, 2013)
a. Desayuno
El desayuno proporciona al niño la energía necesaria para el cumplimiento de sus
actividades escolares, por lo tanto, no debe faltar antes de ir a la escuela. Debe proveer
energía, proteínas, vitaminas, minerales y aportar con el 20-25% del requerimiento
nutricional que el escolar necesita. (Ministerio de Salud Pública del Ecuador, 2017)
b. Almuerzo
El almuerzo debe aportar con el 30% del requerimiento nutricional del escolar al
igual que los otros tiempos de comida debe proporcionar los nutrientes que el niño
requiere para crecer, estudiar, jugar, realizar sus actividades diarias. (Ministerio de Salud
Pública del Ecuador, 2017)
En la comida ecuatoriana el almuerzo comúnmente consta de 2 platos principales
los cuales son:
Sopa. La sopa es una preparación culinaria que consiste en un líquido con sustancia
y sabor. En algunos casos posee ingredientes sólidos de pequeño tamaño
sumergidos en su volumen. Si no tuviera ingredientes sólidos (vegetales o productos
cárnicos), se considera un caldo alimenticio, base de todas las sopas.
20
Tradicionalmente, se puede espesar añadiendo al final de la cocción pan o cereales,
como el arroz, fideos o pasta menuda. Se suele servir generalmente al inicio de cada
comida. (Perez Conesa, 2009)
Fuerte. Se entiende por el plato fuerte al plato principal de una comida o menú, el que
por su personalidad define la totalidad de la comida. Y debido a su elaboración y
preparación es el más contundente y ofrece una mayor probabilidad de satisfacer el
apetito. Esta elaborado a base de distintas carnes y suele estar acompañado por
vegetales y en algunos casos, pan de alguna clase (Polaa).
c. Merienda
Las meriendas deben aportar el 20% del requerimiento nutricional, deben ser ligeras
porque luego de su consumo, generalmente los escolares van a descansar. Lo ideal es
merendar, alimentos de fácil digestión, esto ayuda a conciliar mejor el sueño. (Ministerio
de Salud Pública del Ecuador, 2017)
d. Refrigerios
El refrigerio se proporciona a media mañana y a media tarde, aporta entre el 10 y
15% de requerimientos nutricionales, el niño debe ingerir refrigerios saludables, teniendo
a mano frutas y verduras listas para comer, hay que fomentar el consumo de alimentos
de alto valor nutritivo, rescatando la alimentación tradicional de la región. (Ministerio de
Salud Pública del Ecuador, 2017)
21
2.2.4. Cálculo de calorías
En cada una de las comidas se ingiere una combinación de alimentos reunidos en
una receta, de donde es posible calcular el porcentaje de macronutrientes y calorías que
aporta, con el objetivo de evaluar si es o no una receta equilibrada.
Para realizar los cálculos de calorías en cada una de las recetas se utilizan técnicas
matemáticas sencillas, el procedimiento consiste en sumar el aporte de macronutrientes
de cada alimento por tipo, para después calcular el aporte total de calorías por
macronutrientes de la receta y finalmente el porcentaje de los mismos. (ByrdBredbenner,
Beshgetor, Moe, & Berning, 2010).
Los cálculos utilizados son los siguientes (ver ejemplo en sección 4.3 literal a):
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠 ∶ 𝑐𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜_𝑡𝑜𝑡𝑎𝑙𝑟𝑒𝑐𝑒𝑡𝑎 𝑔𝑟 × 4 𝑘𝑐𝑎𝑙
𝑔𝑟= 𝑘𝑐𝑎𝑙
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐺𝑟𝑎𝑠𝑎 ∶ 𝑔𝑟𝑎𝑠𝑎_𝑡𝑜𝑡𝑎𝑙𝑟𝑒𝑐𝑒𝑡𝑎 𝑔𝑟 × 9 𝑘𝑐𝑎𝑙
𝑔𝑟= 𝑘𝑐𝑎𝑙
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑃𝑟𝑜𝑡𝑒í𝑛𝑎 ∶ 𝑝𝑟𝑜𝑡𝑒í𝑛𝑎_𝑡𝑜𝑡𝑎𝑙𝑟𝑒𝑐𝑒𝑡𝑎 𝑔𝑟 × 4 𝑘𝑐𝑎𝑙
𝑔𝑟= 𝑘𝑐𝑎𝑙
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑅𝑒𝑐𝑒𝑡𝑎 = 𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠 + 𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐺𝑟𝑎𝑠𝑎 + 𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎
Para el cálculo de porcentajes de calorías que aportan los macronutrientes se usan las
fórmulas:
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑅𝑒𝑐𝑒𝑡𝑎× 100 = % 𝑑𝑒 𝑐𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠
22
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐺𝑟𝑎𝑠𝑎
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑅𝑒𝑐𝑒𝑡𝑎× 100 = % 𝑑𝑒 𝑔𝑟𝑎𝑠𝑎
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑅𝑒𝑐𝑒𝑡𝑎× 100 = % 𝑑𝑒 𝑝𝑟𝑜𝑡𝑒í𝑛𝑎
2.2.5. Combinación de alimentos por tipo
La dieta saludable debe ser variada, es decir, que contenga todos los grupos de
alimentos, cereales, tubérculos, plátanos, verduras, frutas, lácteos, carnes, pescados,
aceites, leguminosas, elegir de preferencia alimentos naturales. Es importante combinar
adecuadamente los alimentos debido a que, no existe uno que contenga todos los
nutrientes esenciales (ver sección 2.2 párrafo 2), cada uno contiene nutrientes en mayor
o menor cantidad y combinarlos bien permite asimilar mejor los nutrientes. (Ministerio de
Salud Pública del Ecuador, 2017)
Cada tipo de alimento provoca una actividad particular en las glándulas digestivas,
y determina la eficacia del jugo gástrico en el aparato digestivo que posee enzimas, las
cuales tienen limitaciones concretas al momento de digerir alimentos de diferentes tipos,
por esa razón, si no se combina adecuadamente la alimentación, provocaremos graves
trastornos. Por el contrario, una adecuada combinación asegura una mejor nutrición y
una buena digestión. Puesto que las propiedades y valor de los alimentos varían, se
clasifican según su composición y procedencia. (Shelton, 2017)
Esta clasificación orienta mejor las combinaciones debido a que es una sub división de
los grupos detallados en la sección 2.2.2.
23
Proteínas- grasas: Son los que contienen un alto porcentaje de proteína en
su composición. Los más importantes son las legumbres (frejol, lenteja,
garbanzo, haba), frutos secos (nuez, almendra), carnes y lácteos.
Almidones-granos: Son los azúcares y almidones, entre ellos están los
cereales (quinua, maíz, trigo, arroz, avena), almidones (papa, yuca, plátano).
Verduras: hortalizas cuyo color predominante es el verde, se extiende a
comestibles de las plantas, como hojas, inflorescencias y tallos (apio, pepino,
pimiento, espinaca, zanahoria).
Frutas dulces: ciruela, higo, banana, manzana, uva.
Frutas acidas: Casi todos los ácidos que se ingieren son frutas acidas
(naranja, limón, pina).
Frutas semi-ácidas: mango, cereza, mandarina.
Melones: Todo tipo de melón y sandía.
24
En la figura 1 se pueden combinar los grupos unidos por una flecha doble, las verduras
combinan con todos los grupos excepto con el de Melones.
Figura 1 Guía de combinación de alimentos
Fuente: (Rawvana, 2016)
2.3. Sistemas inteligentes
Son sistemas que presentan, como principal característica, su capacidad de
adaptación a condiciones variables de su entorno, en pos del cumplimiento de sus
objetivos. Para ello debe poseer tres capacidades básicas: (1) Razonar, para obtener
conclusiones y, de ahí, tomar sus propias decisiones. (2) Aprender, para adquirir nuevos
25
conocimientos, a partir de sus experiencias. (3) Interactuar con otros sistemas
inteligentes, mediante la comunicación y el entendimiento. (D’Aquila, 2005)
De (1) y (2) surge la capacidad suprema de todo sistema inteligente, de generalizar,
para resolver bien situaciones no presentadas durante su proceso de aprendizaje.
Comprende la formación de conceptos: transición de una descripción particular de un
objeto a una descripción conceptual. Se da por supuesto que el sistema inteligente posee,
al menos, una mínima capacidad de memorizar, la que es un imprescindible complemento
de todas estas capacidades. (D’Aquila, 2005)
Características esenciales de los sistemas inteligentes
Razonamiento: para obtener conclusiones y, de ahí, tomar sus propias
decisiones.
Aprendizaje: para adquirir nuevos conocimientos, a partir de sus experiencias.
Interacción: con otros Sistemas Inteligentes, mediante la comunicación y el
entendimiento.
Generalización: para resolver bien situaciones no presentadas durante su
proceso de aprendizaje.
Memoria: como imprescindible complemento de las demás capacidades.
(D’Aquila, 2005)
26
Características deseables de los sistemas inteligentes
Robustez: para poder continuar operando bien con daños parciales.
Reproducción: para poder mejorar generacionalmente.
Con estas características se establece que un Sistema Inteligente Artificial posee, en
general, los mismos elementos que un Sistema Inteligente (natural), pero con
características limitadas. (D’Aquila, 2005)
2.3.1. Evolución de los métodos de Inteligencia Artificial, en el proceso de sistemas
inteligentes
Se describen cinco etapas cronológicas que van desde el desarrollo del perceptron,
la creación de los sistemas expertos, las redes neuronales, la lógica borrrosa hasta la
creación del primer sistema de inferencia neuro-difusa.
Primera Etapa Cronológica (1950-1960).
En 1957, Frank Rosenblatt publicó su trabajo que consistía en el desarrollo de un
elemento llamado "Perceptron" que, es un sistema clasificador de patrones que puede
identificar patrones geométricos y abstractos. (Benítez, 2014)
En 1959, Bernard Widrow en Stanford desarrolló un elemento adaptativo lineal
llamado "Adaline" (Adaptive Linear Neuron) y versión de dos capas, llamada "Madaline",
fueron utilizadas en distintas aplicaciones como reconocimiento de voz y caracteres,
predicción del tiempo, control adaptativo y sobre todo en el desarrollo de filtros
adaptativos que eliminen los ecos de las líneas telefónicas. (Alba, 2016)
27
Segunda Etapa Cronológica (1960-1970)
En 1967 Edward Feigenbaum construye DENDRAL que es considerado el primer
sistema experto, este es utilizado para identificar estructuras químicas moleculares a
partir de su análisis espectográfico.
En 1969 Kunihiko Fukushima creó un paradigma de red neuronal artificial multicapa para
visión a su primer trabajo lo llamo COGNITRON.
Tercera Etapa Cronológica (1970-1980)
A principios de los años 70 Edward Shortliffe desarrollo el sistema experto MYCIN
para consulta y diagnóstico de infecciones de la sangre. El sistema introdujo las
características de: utilización de conocimiento impreciso para razonar y posibilidad de
explicar el proceso de razonamiento. (Sanchez, 2014)
Lofti Asier Zadeh en 1971, realiza la publicación de “Quantitative Fuzzy Semantics”
en donde aparecen los elementos formales que dan lugar a la metodología de la Lógica
difusa y de sus aplicaciones tal y como se conocen en la actualidad. (Castillo, 2008)
Terence Sejnowski trabajo con modelos matemáticos y biológicos, el con Geoff
Hinton descubrieron el algoritmo de la maquina Boltzmann que reconocía un algoritmo
de aprendizaje para una red de tres niveles. Aplicaron la máquina a distintas áreas de
visión. (Hinton G., 1984)
28
Cuarta Etapa Cronológica (1980-1990)
En 1982 John Hopfield con la publicación del artículo Hopfield Model o Crossbar
Associative Network, junto con la invención del algoritmo Backpropagation, se consiguió
devolver el interés y la confianza en el fascinante campo de la computación neuronal tras
dos décadas de casi absoluta inactividad y desinterés. Hopfield presenta un sistema de
computación neuronal que consiste en elementos procesadores interconectados que
buscan y tienden a un mínimo de energía. (Course Hero, s.f.)
Uno de los primeros trabajos que propuso una combinación de métodos de
aprendizaje de redes neuronales con los conceptos de sistemas difusos fue propuesto
en 1985 por Keller y Hunt, propusieron un enfoque para estabilizar el algoritmo de
aprendizaje del perceptrón para los problemas de clasificación utilizando técnicas difusas.
Introdujeron una pertenencia difusa de los elementos de datos a las clases buscadas con
el fin de mejorar la convergencia del algoritmo de aprendizaje. (Nauck, 2013)
En 1987 Bart Kosko creó una familia de paradigmas de redes de neuronas
artificiales llamados memorias asociativas bidimensionales que extienden a las
autoasociativas de Hebb de un nivel a dos utilizando aprendizaje sin supervisión.
(Castellanos, 2013)
Quinta Etapa Cronológica (1990 al presente)
A principios de 1990 se desarrolla ANFIS (sistema de inferencia neural-difusa
adaptativo) que es un tipo de red neuronal artificial que se basa en el sistema de
inferencia difusa Takagi-Sugeno. Esta integra las redes neuronales y los principios de
29
lógica difusa. Su sistema de inferencia corresponde a un conjunto de reglas difusas IF-
THEN que tienen capacidad de aprendizaje para aproximar funciones no lineales. Por lo
tanto, ANFIS se considera un estimador universal. (Jang, 1993)
En 1992 aparece FSOM (Fuzzy Self-Organizing Maps) que es un modelo neural-
difuso en el que los conjuntos difusos y las redes neuronales artificiales, en lugar de ser
modelos autónomos, coexisten en un modelo completo. Específicamente un mapa
kohonen auto-organizado se combina con el algoritmo fuzzy c-means.
Hoy en día existen muchos grupos en diferentes universidades del mundo que
realizan investigaciones en el área de las redes neuronales artificiales, estos grupos
tienen distinto énfasis con los neurólogos, psicólogos del conocimiento, físicos,
programadores y matemáticos. (Rubio, 2013)
2.3.2. Ramas de la Inteligencia Artificial en sistemas inteligentes
Debido a su naturaleza la inteligencia artificial cuenta con muchas ramas de estudio,
cada una es el surgimiento de nuevos paradigmas en el ámbito de la investigación
computacional que permitieron nuevas técnicas de programación, éstas incluyen los
sistemas expertos, la robótica, el procesamiento del lenguaje natural, reconocimiento del
habla, algoritmos genéticos, la lógica difusa, las redes neuronales, los sistemas neural-
difusos; para el desarrollo del sistema inteligente solo se trataran a detalle las tres últimas
ramas nombradas. (Icopcion, 2011)
a. Lógica Difusa
La lógica difusa es una metodología que proporciona una manera simple de obtener
una conclusión a partir de información de entrada vaga, ambigua, imprecisa, con ruido o
30
incompleta. En general imita como una persona toma decisiones basada en información
con las características mencionadas. El concepto de Lógica Difusa fue concebido por
Lofti A. Zaded, profesor de la Universidad de California en Berkeley, quién la presentó
como una forma de procesar información permitiendo pertenencias parciales a unos
conjuntos, que en contra posición a los clásicos los denominó Conjuntos Difusos(fuzzy
sets) (DE VITO, 2006).
Básicamente, cualquier problema del mundo puede resolverse como, dado un conjunto
de variables de entrada (espacio de entrada), obtener un valor adecuado de variables de
salida (espacio de salida). La lógica difusa permite establecer este mapeo de una forma
adecuada, atendiendo a criterios de significado y no de precisión. (Gonzales Morcillo,
Lógica difusa Una introdución práctica, 2011)
Las principales características de la lógica difusa son:
Formular conocimiento humano de una forma sistemática, que puede ser
fácilmente incluido en sistemas de ingeniería.
Son especialmente interesantes para la definición de sistemas cuyo modelo exacto
es difícil de obtener (es necesario introducir una aproximación).
La inferencia puede verse como un proceso de propagación de restricciones
difusas (ambiguas, imprecisas, con ruido o incompletas).
Se utiliza ampliamente en sistemas de ayuda a la decisión.
A partir del concepto principal de lógica difusa se determinan los elementos necesarios
para formar un sistema difuso, los cuales son: conjuntos difusos que determinan el grado
31
de pertinencia de cada variable difusa (ej. mucho, poco, normal), reglas difusas que
determinan las relaciones que se dan entre los conjuntos difusos y la inferencia difusa es
el proceso por el que se determina el valor de salida.
a) Conjuntos difusos
Los conocimientos se asocian a conjuntos difusos (asociando los valores de pertenencia)
en un proceso llamado fuzzificación. Una vez que se tienen los valores fuzzificados se
puede trabajar con reglas lingüísticas y obtener una salida, que podrá seguir siendo difusa
o defuzzificada para obtener un valor discreto. La idea básica de un conjunto difuso es
que, un elemento forma parte de un conjunto con un determinado grado de pertenencia.
De este modo una proposición no es totalmente sino parcialmente cierta o falsa. Este
grado se expresa mediante un entero en el intervalo [0, 1] (Gonzales Morcillo, Lógica
Difusa Una introducción práctica, 2011).
Figura 2 Ejemplo de representación de conjuntos clásicos (izquierda) a conjuntos difusos (derecha)
Fuente: (Gonzales Morcillo, Lógica Difusa Una introducción práctica, 2011)
En la figura 2 se muestra un ejemplo para la catalogar la altura de una persona. La grafica
izquierda representa con conjuntos clásicos el valor del grado de pertinencia que es 0 o
32
1. En la derecha se observa el mismo ejemplo representado en conjuntos difusos donde
el grado de pertinencia se representa con valores en el intervalo [0, 1].
b) Representación de conjuntos difusos
Para definir un conjunto difuso hay que definir su función de pertenencia. Un método
habitual es preguntar a un experto sobre el dominio del problema y representarlo
mediante diferentes funciones típicamente triangulares y trapezoidales. Para representar
un conjunto difuso continuo en un ordenador necesitamos expresar esa función de
pertenencia y mapear los elementos del conjunto con su grado de pertenencia (Gonzales
Morcillo, Lógica Difusa Una introducción práctica, 2011).
Función trapezoidal
Se utiliza habitualmente en sistemas sencillos, pues permite definir un conjunto con
pocos datos y calcular su valor de pertenencia con pocos cálculos. Se define con una
serie de rangos que se muestran en la figura 3 (Del Brio & Sanz, 2002):
Figura 3 Función trapezoidal
Fuente: (Del Brio & Sanz, 2002)
33
Función Triangular
Esta función es adecuada para modelar propiedades con valor de inclusión distinto
de cero para un rango de valores estrechos en torno a un punto b. Se define con los
rangos descritos en la figura 4 (Del Brio & Sanz, 2002).
Figura 4 Función Triangular
Fuente: (Del Brio & Sanz, 2002)
c) Reglas Difusas
Las reglas difusas combinan uno o más conjuntos difusos de entrada llamados
antecedentes o premisas, se les asocian un conjunto difuso de salida, llamado
consecuente o consecuencia. Los antecedentes se asocian por conjuntivas lógicas “y”,
“o”. Un ejemplo de tipo IF-THEN seria “Si error es positivo_pequeño y derivada_de_error
es negativo_pequeño Entonces acción es positiva_pequeña”.Las reglas difusas permiten
expresar el conocimiento que se dispone sobre la relación entre antecedentes y
consecuentes; para esto se necesita de varias reglas, que se agrupan formando una base
de reglas (Del Brio & Sanz, 2002).
34
d) Inferencia Difusa
Una vez comprendido los conceptos básicos de lógica difusa, conjuntos difusos y
reglas difusas, se completa un sistema de inferencia difusa. La inferencia difusa puede
definirse como el proceso de obtener un valor de salida para un valor de entrada
empleando la teoría de conjuntos difusos. En general un sistema de inferencia difusa
cuenta con 4 módulos (Gonzales Morcillo, Lógica difusa Una introdución práctica,
2011)(figura 5):
Módulo Fuzzificador: convierte las entradas al sistema, que son valores
numéricos en conjuntos difusos.
Base de conocimiento: almacena las reglas IF-THEN obtenidas de expertos.
Motor de inferencia: simula el razonamiento humano haciendo inferencia sobre
las entradas y las reglas IF-THEN.
Módulo de defuzzificador: convierte el conjunto difuso obtenido por el motor de
inferencia en un valor numérico.
Figura 5 Estructura de un sistema de inferencia difuso
Fuente: (Palma & Marín, 2008)
35
a. Inferencia de Mamdani
Es posiblemente el método más ampliamente utilizado, propuesto por Ebrahim
Mamdani en 1975. El método de Mamdani utiliza un conjunto de reglas difusas “SI-
ENTONCES” (IF-THEN). Toma como entrada los valores de la fuzzificación y se aplican
a los antecedentes de las reglas difusas. Si una regla tiene múltiples antecedentes, se
utiliza el operador AND u OR para obtener un único número que represente el resultado
de la evaluación. Este número (el valor de verdad) se aplica al consecuente (Diciembre
Sanahuja, 2017). El proceso se realiza en cuatro pasos (figura 6):
Fuzificación de las variables de entrada
Evaluación de las reglas
Agregación de las salidas de las reglas
Defuzificación.
36
Figura 6 Estructura básica de inferencia de Mamdani
Fuente: (Gonzales Morcillo, Lógica Difusa Una introducción práctica, 2011)
Fuzificación
El primer paso consiste en tomar los valores numéricos de las entradas y
determinar el grado de pertenencia de estas entradas a los conjuntos difusos asociados.
37
De este modo cada entrada se fuzifica sobre todas las funciones de pertenencia utilizadas
en las reglas difusas (Gonzales Morcillo, Lógica difusa Una introdución práctica, 2011).
Evaluación de Reglas
Tomamos las entradas anteriores y se aplican a los antecedentes de las reglas
difusas. Si una regla tiene múltiples antecedentes, se utiliza el operador AND u OR para
obtener un único número que represente el resultado de la evaluación. Este número (el
valor de verdad) se aplica al consecuente. Para evaluar la disyunción (operador OR)
habitualmente se emplea la T-Conorma estándar (máximo). De igual forma, para el AND
se usa habitualmente la T-Norma estándar del mínimo. Finalmente, el resultado de la
evaluación del antecedente se aplica al consecuente, aplicando un recorte o escalado
según el valor de verdad del antecedente. El método más comúnmente utilizado es el
recorte (clipping) que corta el consecuente con el valor de verdad del antecedente. El
escalado proporciona un valor más preciso, preservando la forma original del conjunto
difuso. Se obtiene multiplicando todos los valores por el valor de verdad del antecedente
(Gonzales Morcillo, Lógica Difusa Una introducción práctica, 2011).
Agregación de las salidas
La agregación es el proceso de unificación de las salidas de todas las reglas; es
decir, se combinan las funciones de pertenencia de todos los consecuentes previamente
recortados o escalados, combinando para obtener un único conjunto difuso por cada
variable de salida (Gonzales Morcillo, Lógica Difusa Una introducción práctica, 2011).
38
Defuzificación
El resultado final habitualmente es necesario expresarlo mediante un valor
numérico. En esta etapa se toma como entrada el conjunto difuso anteriormente obtenido
para dar un valor de salida. Existen varios métodos de defuzificación, pero probablemente
el más ampliamente usado es el centroide; que calcula el punto donde una línea vertical
divide el conjunto en dos áreas con igual masa (Gonzales Morcillo, Lógica Difusa Una
introducción práctica, 2011).
b. Redes Neuronales Artificiales
Es un sistema de computación compuesto por un gran número de elementos
simples llamados unidades neuronales simples (neuronas artificiales), elementos de
procesos muy interconectados, los cuales procesan información por medio de su estado
dinámico como respuesta a entradas externas. El objetivo de la red neuronal es resolver
los problemas de la misma manera que el cerebro humano, aunque las redes neuronales
son más abstractas. (Matich, 2001)
Algunas de las tareas donde se aplican redes neuronales artificiales son:
Aproximación de funciones, o el análisis de regresión, incluyendo la predicción de
series temporales, funciones de aptitud y el modelado.
Clasificación, incluyendo el reconocimiento de patrones y la secuencia de
reconocimiento, detección y de la toma de decisiones secuenciales.
Procesamiento de datos, incluyendo el filtrado, el agrupamiento, la separación
ciega de las señales y compresión.
39
Robótica, incluyendo la dirección de manipuladores y prótesis.
Ingeniería de control, incluyendo control numérico por computadora. (Matich, 2001)
Las áreas de aplicación incluyen la identificación de sistemas y el control (control
del vehículo, predicción de trayectorias, el control de procesos, manejo de recursos
naturales), la química cuántica, juegos y la toma de decisiones (backgammon, ajedrez,
póquer), el reconocimiento de patrones (sistemas radar, reconocimiento facial,
clasificación de señales, reconocimiento de objetos), de reconocimiento de secuencia
(gesto, voz, reconocimiento de texto escrito a mano), diagnóstico médico , aplicaciones
financieras, minería de datos, prevención de spam (correo basura) de correo electrónico.
(Matich, 2001)
Las redes perceptron son las más simples puede resolver problemas linealmente
separables, las redes multicapa sobrepasan esta dificultad basándose en el algoritmo de
propagación inversa para redes multicapa. A continuación, se describen a detalle.
Redes neuronales de una sola capa (perceptron)
Fue el primer modelo de Red Neuronal Artificial supervisada. Es la más simple de
las redes neuronales, es un discriminador lineal que traza su entrada a un único valor de
salida. (figura 7). Tiene un vector de pesos reales con el que se calcula una suma
ponderada y usa un umbral para representar el grado de inhibición de la neurona. El valor
de salida se usa para clasificar el patrón (x) como un caso positivo o un caso negativo,
en el caso de un problema de clasificación binario (Valdivieso, 2016)
40
Figura 7 Redes neuronales de una sola capa (perceptron) Fuente: (Valdivieso, 2016)
Redes neuronales multicapa (backpropagation)
Las redes Backpropagation tienen un método de entrenamiento supervisado que,
consiste en el aprendizaje de un conjunto predefinido de pares de entradas-salidas dados
como ejemplo, primero se aplica un patrón de entrada como estímulo para la primera
capa de las neuronas de la red. Se va propagando a través de todas las capas superiores
hasta generar una salida. Se compara el resultado en las neuronas de salida con la salida
que se desea obtener y se calcula un valor de error para cada neurona de salida.
(Freeman & Skapura, 1993)
A continuación, estos errores se transmiten hacia atrás, partiendo de la capa de
salida hacia todas las neuronas de la capa intermedia que contribuyan directamente a la
salida. Este proceso se repite, capa por capa, hasta que todas las neuronas de la red
hayan recibido un error que describa su aportación relativa al error total. Basándose en
el valor del error recibido, se reajustan los pesos de conexión de cada neurona, de
41
manera que en la siguiente vez que se presente el mismo patrón, la salida esté más
cercana a la deseada. (Freeman & Skapura, 1993)
La estructura y el aprendizaje de la Red Backpropagation ya detallados se muestran en
la figura 8.
Figura 8 Estructura backpropagation
Fuente: (Viera, 2013)
Pasos para aplicar el Algoritmo de Entrenamiento
Paso 1. Inicializar los pesos de la red con valores pequeños aleatorios.
Paso 2. Presentar un patrón de entrada y especificar la salida deseada que debe generar
la red.
42
Paso 3. Calcular la salida actual de la red. Para ello se presentan las entradas a la red y
se calcula la salida de cada capa hasta llegar a la capa de salida, ésta será la salida de
la red.
Se calculan las entradas netas para las neuronas ocultas procedentes de
las neuronas de entrada. Para una neurona 𝑖 oculta: en donde el índice ℎ
se refiere a magnitudes de la capa oculta; el subíndice 𝑝, al p-ésimo vector
de entrenamiento, y 𝑗 a la j-ésima neurona oculta. El término 𝜃 puede ser
opcional, pues actúa como una entrada más. (Freeman & Skapura, 1993)
𝑛𝑒𝑡𝑝𝑗ℎ = ∑𝑤𝑗𝑖
ℎ𝑥𝑝𝑖 + 𝜃𝑗ℎ
𝑁
𝑖=1
Se calculan las salidas de las neuronas ocultas:
𝑦𝑝𝑗 = 𝑓𝑗ℎ(𝑛𝑒𝑡𝑝𝑗
ℎ )
Se pasa a la capa de salida. Se calculan los valores netos de las entradas
para cada unidad:
𝑛𝑒𝑡𝑝𝑘𝑜 =∑𝑤𝑘𝑗
𝑜 𝑦𝑝𝑗 + 𝜃𝑘𝑜
𝐿
𝑗=1
Se calculan las salidas
𝑦𝑝𝑘 = 𝑓𝑘𝑜(𝑛𝑒𝑡𝑝𝑘
𝑜 )
Paso 4. Calcular los términos de error para todas las neuronas. Si la neurona 𝑘 es
una neurona de la capa de salida, el valor de la delta es:
43
𝛿𝑝𝑘𝑜 = (𝑑𝑝𝑘 − 𝑦𝑝𝑘)𝑓𝑘
𝑜′(𝑛𝑒𝑡𝑝𝑘𝑜 )
La función f debe ser derivable. En general se dispone de dos formas de función de salida:
La función lineal: 𝑓𝑘(𝑛𝑒𝑡𝑗𝑘) = 𝑛𝑒𝑡𝑗𝑘
La función sigmoidal: 𝑓𝑘(𝑛𝑒𝑡𝑗𝑘) =
1
1+𝑒−𝑛𝑒𝑡𝑗𝑘
La selección de la función depende de la forma que se decida representar la salida: si se
desea que las neuronas de salida sean binarias, se utiliza la función sigmoidal, en otros
casos, la lineal.
Los términos de error para las neuronas de salida quedan:
Salida lineal: 𝛿𝑝𝑘𝑜 = (𝑑𝑝𝑘 − 𝑦𝑝𝑘)
Salida sigmoidal: 𝛿𝑝𝑘𝑜 = (𝑑𝑝𝑘 − 𝑦𝑝𝑘)𝑦𝑝𝑘(1 − 𝑦𝑝𝑘)
Si la neurona 𝑖 no es de salida, entonces la derivada parcial del error no puede ser
evaluada directamente, por tanto, se obtiene el desarrollo a partir de valores que son
conocidos y otros que pueden ser evaluados. (Freeman & Skapura, 1993)
La expresión obtenida en este caso es:
𝛿𝑝𝑗ℎ = 𝑓𝑗
ℎ′(𝑛𝑒𝑡𝑝𝑗ℎ )∑𝛿𝑝𝑘
𝑜 𝑤𝑘𝑗𝑜
𝑘
El error en las capas ocultas depende de todos los términos de error de la capa de salida.
De aquí surge el término propagación hacia atrás.
44
Paso 5. Actualización de los pesos: para ello utilizamos un algoritmo recursivo,
comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa
de entrada, ajustando los pesos de la siguiente forma:
Para los pesos de las neuronas de la capa de salida:
𝑤𝑘𝑗𝑜 (𝑡 + 1) = 𝑤𝑘𝑗
𝑜 (𝑡) + ∆𝑤𝑘𝑗𝑜 (𝑡 + 1)
∆𝑤𝑘𝑗𝑜 (𝑡 + 1) = 𝛼𝛿𝑝𝑘
𝑜 𝑦𝑝𝑗
Para los pesos de las neuronas de la capa oculta:
𝑤𝑗𝑖ℎ(𝑡 + 1) = 𝑤𝑗𝑖
ℎ(𝑡) + ∆𝑤𝑗𝑖ℎ(𝑡 + 1)
∆𝑤𝑗𝑖ℎ(𝑡 + 1) = 𝛼𝛿𝑝𝑗
ℎ 𝑥𝑝𝑖
En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término
momento.
𝐸𝑝 =1
2∑𝛿𝑝𝑘
2
𝑀
𝑘=1
Paso 6. El proceso se repite hasta que el término de error: Sea aceptablemente pequeño
para cada uno de los patrones aprendidos. (Freeman & Skapura, 1993)
Número de neuronas en la capa oculta
La capa intermedia de la red neuronal multicapa realiza una proyección de los
patrones de entrada en un cubo cuya dimensión viene dada por el número de capas
ocultas. Se trata de realizar una proyección en la que resulten separables linealmente los
45
patrones de entrada de manera que la unidad de salida pueda realizar una clasificación
correcta. (Universidad de Málaga LCC)
Del número de neuronas en la capa oculta, dependerá la precisión y la capacidad
de generalización de una red neuronal. Este número debe ser suficiente para la
realización correcta de la tarea, pero lo suficientemente bajo para permitir la
generalización. Entre más complejo sea el problema, se requiere un mayor número de
neuronas en la capa oculta. Cualquier problema que requiera una compresión de datos
presenta una capa oculta con un menor número de neuronas que en la capa de entrada.
(ESCOM, 2009)
De acuerdo con Hecht-Neilson basado en el teorema de Kolmogorov, “El número
de neuronas en la capa oculta no requieren ser más grande que dos veces el número de
entradas”, en conclusión, no se escoje el número mayor a dos veces el número de
unidades de entrada. Existe un compromiso entre la generalización (menos neuronas
ocultas) y la precisión (mas neuronas ocultas) lo cual será de aplicación específica.
(ESCOM, 2009)
c. Sistemas híbridos neural-difusos (neuro-fuzzy)
La hibridación neural-difusa resulta en un sistema inteligente híbrido que combina el
estilo de razonamiento humano mediante el uso de conjuntos difusos de los sistemas
difusos, con el aprendizaje y la estructura por conexiones de las redes neuronales.
(Fullér, 1999)
Las redes neuro-difusas tienen principalmente las siguientes características:
46
El conocimiento humano: se utiliza en forma de reglas If-Then para
solucionar problemas reales.
Inspiración en modelos biológicos: inspiradas por las redes neuronales
biológicas, las redes neuronales artificiales son un pilar básico de las redes
neuronales difusas, permitiendo tratar con problemas de percepción,
reconocimiento de patrones o clasificación.
Diversos dominios de aplicación: procesado adaptativo de señales, control
adaptativo, identificación de sistemas no lineales, regresión no lineal,
reconocimiento de patrones, etc.
Muy indicadas en la resolución de problemas reales: la mayoría de los
problemas reales son de magnitud considerable y se construyen sobre
afirmaciones que no se conocen con total certeza. Esto excluye la utilización
de métodos convencionales que requieren una descripción detalla del
problema a resolver. (Martín, 2000)
Los sistemas inteligentes híbridos que combinan lógica difusa y redes neuronales
están demostrando su eficacia en una amplia variedad de problemas del mundo real. La
lógica difusa y las redes neuronales tienen propiedades computacionales particulares que
las hacen adecuadas para problemas particulares y no para otros. Mientras que las redes
neuronales son buenas para reconocer patrones, no son buenas para explicar cómo
toman sus decisiones. Los sistemas de lógica difusa, que pueden razonar con
información imprecisa, son buenos para explicar sus decisiones, pero no pueden adquirir
47
automáticamente las reglas que necesitan para tomar esas decisiones. Estas limitaciones
han sido una fuerza motriz central detrás de la creación de sistemas híbridos inteligentes
en los que dos o más técnicas se combinan de manera que se superen las limitaciones
de las técnicas individuales. (Fullér, 1999)
Hoy en día existen varias arquitecturas que se basan en la unión de la lógica difusa
y operaciones neuronales, encontramos por ejemplo La fuzzy ARTMAP esta arquitectura
presenta la característica de ser auto organizativa lo que le permite de aprender a
reconocer de forma rápida y efectiva, además de brindar la facilidad en datos de entrada
debido a la predicción de consecuencias de manera virtual para cualquier entrada. La
forma de utilización de esta arquitectura es casi por completo para clasificación,
y además solo cuenta con un parámetro de interfaz. (Academia, s.f.)
Modelos de sistemas neural-fuzzy
Dos modelos de sistemas neurales difusos son:
Figura 9: Ingresando los valores de entrada al bloque de inferencia difusa, este
proporciona un vector de entrada a una red neuronal multicapa. Los datos de
salida de la red neuronal pueden ser adaptados para obtener los resultados o
decisiones de mando deseados. (Fullér, 1999)
48
Figura 9 Primer modelo de sistema neural difuso
Fuente: (Fullér, 1999)
Figura 10: Se adaptan las variables del caso como las entradas neuronales, la red
neuronal de múltiples capas, da las entradas para impulsar el mecanismo de
inferencia difusa y obtener los resultados o decisiones de mando deseadas.
Figura 10 Segundo modelo de sistema neural difuso
Fuente: (Fullér, 1999)
49
2.4. Metodología MAS-CommonKADS
La metodología MAS-CommondKADS permite la integración de técnicas de la
ingeniería de conocimientos, ingeniería de software orientada a objetos e ingeniería de
software de protocolos. Se desarrolla a través de la construcción de siete modelos:
Modelo de Agente
Modelo de Tarea
Modelo de la Experiencia
Modelo de Coordinación
Modelo de Comunicación
Modelo de la Organización
Modelo de Diseño
La aplicación de la metodología consiste en el desarrollo de los modelos. Cada
modelo está compuesto por constituyentes (entidades modeladas) y relaciones entre los
constituyentes. Se define una plantilla textual para describir cada constituyente, y estados
de los constituyentes para describir su estado de desarrollo. (Fernández, 1998)
Previo al desarrollo de los modelos la metodología inicia con la conceptuación donde,
el objetivo principal es comprender mejor cuál es el sistema que desea el cliente. Los
principales resultados de esta fase serán una identificación de los objetivos que debe
satisfacer el sistema desde el punto de vista del usuario, junto con la identificación de los
actores que interactúan con el sistema. (Fernández, 1998)
50
2.4.1. Fases de desarrollo de MAS-CommonKADS
El modelo de ciclo de vida para el desarrollo de sistemas multiagente con
CommonKADS se muestra en la figura 11, los modelos de coordinación, organización,
experiencia, tareas, y comunicación se centran en el modelo del agente:
Figura 11 Fases de desarrollo de MAS-CommonKADS
Fuente: (Fernández, 1998)
a. Conceptuación
MAS-CommonKADS incorpora la técnica de casos de uso en el ciclo de vida de
CommonKADS, esta técnica parece adecuada para el desarrollo de sistemas basados
51
en conocimiento y, en particular, de sistemas multiagente. El empleo de casos de uso
permite obtener los requisitos de los usuarios y generar casos de prueba. La
formalización con MSC (Diagrama de Secuencia de Mensajes, Message Sequence
Chart) (figura 12) de las interacciones de los casos de uso facilita la comprensión de los
mismos. (Fernández, 1998)
Figura 12 Notación de los casos de uso
Fuente: (Fernández, 1998)
b. Modelo de Agente
Los agentes se caracterizan por tener objetivos. Un objetivo es una responsabilidad
aceptada por el agente. Los objetivos pueden adoptarse desde el nacimiento del agente
(objetivos iniciales) o en el transcurso de la ejecución del agente. Los objetivos pueden
ser persistentes (deben cumplirse siempre, por ejemplo, minimizar la interacción con el
usuario) o no persistentes, si una vez logrados dejan de ser objetivos (por ejemplo,
alcanzar una posición en un tablero).
La principal distinción para clasificar a los agentes es entre agentes software y
agentes humanos. Mientras que no se puede esperar la captura completa de las
52
habilidades y restricciones de los agentes humanos, sí deben especificarse para los
agentes software. Esta distinción se refleja con distintos símbolos para representar a
ambos tipos de agentes y dos modelos (coordinación, comunicación) para especificar sus
comunicaciones. (Fernández, 1998)
El modelo de agente tiene como propósito:
La especificación de los diversos agentes involucrados en la resolución del
problema. Sirve tanto para describir los agentes existentes antes de la
introducción del sistema multiagente desarrollado como después de la
misma. También permite la descripción de los usuarios humanos del sistema.
La descripción del impacto en la modificación de las tareas desempeñadas
por los humanos tras la introducción del sistema multiagente. (Fernández,
1998)
El resultado de esta etapa es un conjunto de plantillas de agentes (figura 13), en
la que se describe las cualidades del agente. Además, un conjunto de objetivos
identificados por cada agente, los objetivos se describen por medio de plantillas de
objetivos (figura 14).
Agente
nombre El nombre del agente/clase/grupo es una cadena de texto corta. El nombre
debe ser único dentro del modelo de agente, ya que es el principal mecanismo de
referencia para especificar las relaciones entre agentes/clases/grupos.
53
tipo Clase(s) de la que se deriva el agente/clase. Hay dos clases básicas: agente
humano y agente software. Dentro de los agentes software, pueden especificarse más
clases: agente estacionario o agente móvil, agente de internet, etc
descripción Una descripción del agente, clase o grupo en lenguaje natural. La
descripción típicamente contiene una versión más elaborada de las características del
agente, clase o grupo y de sus posibles funciones junto con notas que no caben en el
resto de ranuras.
capacidad-razonamiento requisitos en la experiencia del agente necesarios para
poder cumplir los objetivos asignados, comunicarse con el usuario y comunicarse con
el resto de agentes.
experiencia Ejemplares del modelo de la experiencia desarrollados para poder cumplir
los objetivos asignados.
comunicación Requisitos del agente procedentes de su interacción con agentes
humanos descrita en uno o varios ejemplares del modelo de comunicación.
Restricción Normas, preferencias y permisos que debe seguir el agente.
normas Normas que indiquen cómo debe comportarse el agente en determinadas
ocasiones. Estas normas facilitan la coordinación entre los agentes y la evitación de
conflictos.
preferencias Preferencias de un agente para realizar una tarea cuando hay varias
alternativas. Algunas de las preferencias estándar de un agente son: la política del
54
buzón (en qué orden se procesarán los mensajes recibidos); la política de clientes
(preferencias para servir o no a un cliente), la política de servidores (a quién se solicita
un servicio si hay varios servidores posibles; por ejemplo, a servidores locales, etc.).
permisos Permisos de acceso y modificación de la información del agente, así como
de las acciones que puede realizar.
coordinación Requisitos del agente procedentes de su interacción con agentes
software descrita en uno o varios ejemplares del modelo de coordinación.
capacidad-general entidad Requisitos genéricos del agente, en concreto se deben
describir los requisitos sobre los sensores y actuadores del agente, y los lenguajes de
comunicación conocidos.
habilidades Descripción de las capacidades requeridas por un agente para percibir
cambios en su entorno (sensores) y manipularlo (actuadores).
lenguaje-com Lenguajes de comunicación que un agente necesita conocer, descritos
en el modelo de coordinación.
Figura 13 Plantilla de Agente
Fuente: (Fernández, 1998)
Objetivo. Responsabilidad asignada o adoptada por un agente. La ejecución de esta
responsabilidad puede realizarse mediante la ejecución de una determinada tarea o
mediante un mecanismo de planificación.
55
nombre El nombre del objetivo es una cadena de texto corta. El nombre debe ser
único dentro del modelo de agente, ya que es el principal mecanismo de referencia
para especificar las relaciones entre objetivos.
tipo Dependiendo de la aplicación, puede ser interesante distinguir entre objetivos
persistentes y no persistentes, objetivos finales u objetivos intermedios
(subobjetivos), objetivos reactivos (p.ej. no chocar), etc.
descripción Una descripción del objetivo en lenguaje natural. La descripción
contiene una versión más elaborada de los fines del objetivo, condiciones de éxito o
fracaso del objetivo, etc.
Figura 14 Plantilla de objetivos
Fuente: (Fernández, 1998)
c. Modelo de Tareas
El modelo de tareas (figura 15) permite describir las actividades relacionadas para
alcanzar un objetivo. El objetivo del desarrollo del modelo de tareas es documentar la
situación actual y futura de la organización, facilitar la gestión de cambios, y ayudar a
estudiar el alcance y viabilidad del sistema inteligente que se desea desarrollar. Las
tareas cognitivas que se deseen implementar se detallarán en un modelo de la
experiencia, mientras que las tareas de comunicación se detallarán en un modelo de
comunicación (comunicación humana) o coordinación (comunicación con agentes).
(Fernández, 1998)
56
Tarea Representación de una tarea. Una tarea se refiere al conjunto de actividades
que se realizan para conseguir un objetivo en un dominio dado.
nombre Nombre de una tarea es una cadena de texto corta. El nombre debe ser
único en el modelo de tareas, ya que es el principal mecanismo de referencia
empleado para especificar las relaciones entre tareas.
objetivo Especificación de cómo transformar las entradas en salidas. El enunciado
del objetivo debe ser conciso, resaltando los aspectos más importantes del cometido
de la tarea.
descripción Una descripción de la tarea en lenguaje natural. La descripción contiene
típicamente una versión más elaborada del objetivo, junto con notas de los aspectos
más importantes de la tarea que no caben en otras ranuras de la tarea.
precondición Las precondiciones de una tarea representan los requisitos sobre el
entorno que deberían darse para poder ejecutarla, aparte de la disponibilidad de la
entrada. Como ejemplo de estas precondiciones, se puede citar que alguna otra tarea
haya sido realizada, o que alguna decisión de gestión haya sido tomada.
Figura 15 Plantilla de modelo de tareas
Fuente: (Fernández, 1998)
La notación del modelo de tareas no es estricta, sino que se deja abierta al usuario
de la metodología. Las notaciones habituales son texto estructurado (plantillas), grafos,
57
tablas, representaciones formales, diagramas de flujo de datos, notación alternativa
(figura16). (Fernández, 1998)
Figura 16 Notación alternativa para representar la descomposición de tareas
Fuente: (Fernández, 1998)
d. Modelo de la Experiencia
MAS-CommonKADS desarrolla en el modelo de la experiencia las tareas que
requieren conocimiento para ser llevadas a cabo y que permitirán caracterizar al agente
como un sistema basado en conocimiento. La construcción del esqueleto del modelo de
la experiencia consta de:
Descripción informal del dominio y tareas de la aplicación. Esta fase
denominada de orientación se realiza en CommonKADS en los modelos de
organización y tareas, por lo que no se desarrolla en este modelo.
58
Identificación de tareas genéricas
Descripción: identificación de las tareas genéricas que se adaptan al
problema que se desea resolver.
Estados habilitadores: tareas identificadas que requieren conocimiento
del modelo de tareas.
Estados resultantes: problema actual del modelo de organización
identificado y un modelo de inferencias, tareas y estrategia inicial.
(Fernández, 1998)
Identificación y descripción del esquema del modelo
Descripción: Identificación, organización y descripción de los conceptos
básicos del dominio y de sus relaciones.
Estados habilitadores: tareas que requieren conocimiento del modelo de
tareas identificadas.
Estados resultantes: estructuras del dominio identificadas.
Producto: esquema del modelo. (Fernández, 1998)
Correspondencia entre papeles del esquema del modelo y de las tareas
genéricas
Descripción: esta actividad se subdivide en identificar correspondencias
entre papeles de diferentes tareas genéricas una vez adquirido el esquema
59
del modelo y, a continuación, y relacionar los papeles de las tareas
genéricas con términos del esquema.
Estados habilitadores: esquema del modelo descrito y tareas genéricas
identificadas
Estados resultantes: relaciones entre tareas genéricas y esquema del
modelo descritas.
Técnicas: esta actividad puede realizarse de forma manual o asistida por
una herramienta de adquisición del conocimiento.
Producto: reglas de correspondencia entre papeles de tareas genéricas y
correspondencias ontológicas. (Fernández, 1998)
e. Modelo de Coordinación
El principal objetivo del modelo de coordinación es abordar los riesgos que están
directamente relacionados con el desarrollo de las interacciones entre los agentes y dar
soporte en el desarrollo mediante un método que prevenga tales riesgos. Este modelo se
encarga de modelar la interacción agente-agente. Esta interacción engloba la interacción
“máquina-máquina” y “hombre-máquina”, pues resulta más cómodo para el sistema
homogeneizar todas las interfaces. (Fernández, 1998)
La plantilla del modelo de coordinación de MAS-CommonKADS se detalla en la
figura 17.
60
Conversación Representación de una conversación. Las conversaciones
constituyen el elemento central del modelo de coordinación. La existencia del resto
de entidades de este modelo depende de la existencia de una conversación a la que
están ligadas. Una conversación es un conjunto de interacciones cuyo fin es la
consecución de un objetivo. Si un agente es capaz de mantener varias
conversaciones simultáneas, creará un ejemplar de la entidad conversación para
cada conversación activa. Si sólo es capaz de mantener una conversación, sólo podrá
tener un ejemplar de conversación activo.
nombre El nombre de la conversación es una cadena de texto corta. El nombre debe
ser único dentro del modelo de coordinación, ya que es el principal mecanismo de
referencia para especificar las relaciones entre conversaciones.
tipo Tipo de conversación. La conversación que se describe puede ser un subtipo de
una conversación definida previamente, de esta forma la conversación hereda todos
los atributos de la conversación supertipo, a no ser que los sobrescriba para
especificarlos más.
objetivo Objetivo de la conversación, descrito de forma concisa, destacando los
principales aspectos que motivan la conversación. En las conversaciones primitivas
coincide con el acto de habla del iniciador de la conversación.
agentes Participantes en la conversación.
iniciador Participante de la conversación que inicia la conversación.
61
servicio Facilidad del agente que se requiere del agente en las conversaciones de
solicitud de un servicio. Esta facilidad se puede requerir empleando diversos
protocolos (subasta, red de contratos, negociación, etc.). El nombre del servicio debe
corresponderse con una entidad Servicio del modelo de agente.
descripción Una descripción de la conversación en lenguaje natural. La descripción
típicamente contiene una versión más elaborada del objetivo de la conversación junto
con notas que no caben en el resto de ranuras de la plantilla.
precondición Condiciones que deben darse en el agente iniciador para que dicha
conversación pueda iniciarse. Estos requisitos indican qué estado del agente o de su
entorno pueden motivar la conversación. Como ejemplo de estos requisitos podemos
citar: la modificación del entorno por un agente, que puede motivar el inicio de una
conversación (reactiva) de otro agente afectado por dicha modificación; o que un
agente desee comunicar a otro agente una información, que puede motivar el inicio
de una conversación informativa; o la falta de un recurso o información, que puede
motivar el inicio de una conversación de consulta.
Figura 17 Plantilla modelo de coordinación
Fuente: (Fernández, 1998)
f. Modelo de Organización
El modelo de organización tiene como objetivo analizar desde una perspectiva de
grupo las relaciones entre los agentes (tanto software como humanos) que interactúan
con el sistema. Frente a los modelos de comunicación y de coordinación que modelan
las relaciones dinámicas, este modelo está pensado para modelar las relaciones
62
estructurales entre los agentes como, por ejemplo, las relaciones de herencia,
agregación, autoridad, utilización, etc. La figura 18 muestra la notación gráfica del modelo
de organización.
Figura 18 Notación gráfica del modelo de organización
Fuente: (Fernández, 1998)
g. Modelo de Diseño
Su objetivo es la descripción de los componentes que cumplen los requisitos del
resto de modelos del análisis y que tienen en cuenta los requisitos no funcionales. Se
muestra su fundamento lógico, su estructura, relación con el resto de modelos de MAS-
CommonKADS y los métodos de construcción del modelo. (Fernández, 1998)
Las ventajas que se pretenden obtener a través del desarrollo del modelo de diseño son:
Separación entre análisis e implementación.
Especificación del sistema independiente de la plataforma.
63
Descomposición de la tarea de diseño.
Adición de requisitos del entorno.
Reutilización de componentes.
Diseño de la interfaz y la interacción. (Fernández, 1998)
La figura 19 detalla la plantilla de modelo de diseño de los agentes.
Sistema-Agente El sistema agente representa un agente que va a ser implementado
y está siendo diseñado. Puede corresponderse con uno o varios ejemplares del
modelo de agente.
nombre Nombre del agente que se está diseñando. Este nombre hace referencia al
nombre del ejemplar del modelo de agente desarrollado.
arquitectura Una arquitectura permite descomponer un sistema computacional en
componentes más pequeños y determinar cómo es la relación entre estos. Una
arquitectura para agentes en particular permite descomponer un sistema de agentes,
y determinar cómo deben interactuar entre ellos y con el ambiente. Se distinguen tres
arquitecturas diferentes que se clasifican según el modelo de razonamiento que
utilizan.
Deliberativas. Los agentes con una arquitectura deliberativa se caracterizan
porque contienen explícitamente un modelo simbólico del entorno, y las
decisiones (por ejemplo, sobre qué acciones realizar) son tomadas vía
razonamiento lógico (o al menos pseudo-lógico) basado en equiparación de
64
patrones y manipulación simbólica. Además de una representación simbólica
del entorno, los agentes deliberativos tienen capacidad para llevar a cabo
decisiones lógicas utilizando el conocimiento que con el que cuentan y
modificando su estado interno, que frecuentemente de denomina estado
mental.
Reactivas. Es aquella que no incluye alguna clase central de modelo simbólico
del mundo y no usa un razonamiento simbólico complejo. Este tipo de agentes
actúan siguiendo un esquema estímulo-respuesta según el estado actual del
entorno en el que están embebidos. Por el hecho de ser agentes sencillos, la
capacidad de realizar razonamientos complejos desaparece en su mayor
parte, y al contrario que los agentes deliberativos la inteligencia que puedan
mostrar no proviene de modelos internos, sino de la interacción con su entorno.
Híbridas. Combinan componentes de tipo reactivo con componentes de tipo
deliberativo, la parte reactiva interacciona con el entorno y reacciona
rápidamente a los eventos que en él se producen sin invertir tiempo en realizar
razonamiento, mientras que la parte deliberativa planifica y se encarga de la
parte de toma de decisiones, es decir, realiza tareas a un nivel de abstracción
superior.
tiene-subsistema Subsistemas asignados al agente.
Figura 19 Plantilla de modelo de diseño de agentes
Fuente: (Fernández, 1998)
65
El diseño de la plataforma (figura 20) permite documentar las decisiones de bajo
nivel sobre el lenguaje de implementación seleccionado, el software y hardware
empleado y los usuarios finales del sistema.
Plataforma La plataforma recoge todas las decisiones del entorno de implementación
y operación del sistema multiagente.
nombre Nombre de la plataforma o sistema que se está diseñando.
descripción Justificación de las decisiones tomadas.
usa lenguaje Nombre de los lenguajes de implementación empleados.
hardware Requisitos del hardware en que se desarrolla el sistema (tipos de
máquinas, conexiones, etc.).
software Requisitos de configuración software en que se desarrolla la plataforma
(sistema operativo, nombres de las aplicaciones, versiones, etc.).
usuario Usuarios de la plataforma, extraídos de los modelos de agente de la
organización.
Figura 20 Plantilla de modelo de diseño de plataforma
Fuente: (Fernández, 1998)
2.5. Framework python para aplicaciones móviles
Debido al fácil acceso a aplicaciones software que un teléfono móvil ofrece, se hace
necesario aprovechar todas las capacidades de Python en una de estas. A continuación,
se detalla el framework python más popularizado para desarrollar aplicaciones móviles.
66
Kivy Framework
Kivy es una biblioteca de código abierto de Python para desarrollar aplicaciones
móviles y software de aplicación multitáctil con una interfaz de usuario natural (NUI),
puede ejecutarse en Android, iOS, Linux, OS X y Windows y es distribuido bajo los
términos de la licencia MIT, Kivy es un software gratuito y de código abierto que basa la
creación de interfaces en widgets de diferentes tipos. (Kivy.org, 2018)
Widgets Kivy
Los widgets son elementos de una interfaz gráfica de usuario que forman parte de
la Experiencia del usuario. El módulo kivy.uix contiene clases para crear y administrar
widgets.
Los widgets de Kivy se pueden categorizar de la siguiente manera:
Widgets de UX: widgets de interfaz de usuario clásicos, listos para ensamblarse
para crear widgets más complejos.
Label, Button, CheckBox, Image, Slider, ProgressBar, TextInput, Toggle
button, Switch, Video
Diseños: un widget de diseño no se procesa, solo actúa como un desencadenante
que organiza a sus hijos de una manera específica.
Anchor Layout, Box Layout, Float Layout, Grid Layout, PageLayout, Relative Layout,
Scatter Layout, Stack Layout
67
Widgets complejos de UX: widgets no atómicos que son el resultado de
combinar múltiples widgets clásicos. Los llamamos complejos porque su montaje
y uso no son tan genéricos como los widgets clásicos.
Bubble, Drop-Down List, FileChooser, Popup, Spinner, List View, TabbedPanel, Video
player, VKeyboard,
Widgets de comportamientos: estos widgets no se procesan, sino que actúan
sobre las instrucciones gráficas o el comportamiento de interacción (toque) de sus
hijos.
Scatter, Stencil View
Gestor de pantalla: Gestiona pantallas y transiciones cuando se cambia de una
a otra.
Screen Manager (Kivy.org, 2018)
68
CAPÍTULO III
Desarrollo del sistema inteligente para la creación de recetas gastronómicas que
permitan dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” de la
ciudad de Latacunga.
3.1. Introducción del capítulo
En este capítulo se detalla el desarrollo del proyecto “Sistema inteligente para la
creación de recetas gastronómicas que permitan dar apoyo a la nutrición de los infantes
del “Hogar Para Sus Niños” de la ciudad de Latacunga”, tomando en cuenta la
metodología MAS-CommonKADS (ver detalle en sección 2.4.), se establecen como
agentes inteligentes que representan el sistema difuso y a la red neuronal.
Posteriormente en la sección 3.3 se detalla la construcción del sistema inteligente
neural-difuso, donde el sistema difuso realiza reemplazos de ingredientes en recetas y la
red neuronal que predice el grado de aprobación de la nueva receta basándose en, el
tipo y sabor de sus ingredientes.
3.2. Aplicación de la metodología MAS-CommonKADS
La aplicación de la metodología permite obtener el conocimiento base para el
modelado de sistemas multiagentes, por lo que los diferentes modelos permitirán explicar
el sistema difuso y la red neuronal en forma de agentes, posteriormente se detalla el
sistema inteligente neural-difuso en conjunto.
a. Conceptuación
El propósito de esta etapa es identificar los requerimientos del sistema a partir de
las necesidades del usuario, para ello se realizaron varias entrevistas a la asistente
69
administrativa del “Hogar Para Sus Niños” (Anexo 1) ya que ella se encarga del manejo
de la despensa y el menú que se prepara diariamente para los niños, a partir de estas se
crea la descripción general del sistema y sus casos de uso los cuales se describen a
continuación.
Descripción general del sistema
El sistema inteligente permitirá la creación de recetas gastronómicas que, permitan
dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” de la ciudad de
Latacunga, por medio del sistema neural-difuso; después del ingreso de los alimentos
que se deseen usar, se basa en sustitución y en la predicción de combinación de los
ingredientes, originando la nueva receta, procurando mantener su equilibrio nutricional.
La combinación de ingredientes será expresada en forma de porcentaje por tipo de
alimentos y sabor.
La sustitución de ingredientes en una receta se realizará por medio del sistema
difuso y la predicción de combinación de ingredientes por medio de la red neuronal, de
ahí los nombres de los agentes inteligentes.
Adicionalmente el sistema permitirá almacenar y evaluar las recetas generadas
con el objetivo de mantenerlo continuamente retroalimentado lo que permitirá mejorar el
entrenamiento de la red neuronal. Por tanto, se obtienen recetas más aceptables,
aumentando o disminuyendo el porcentaje de combinación tipo de alimentos y sabor.
70
Descripción gráfica de los casos de uso
La figura 21 muestra los actores y los casos de uso que interactúan con cada uno
de ellos, se identifica un único agente humano que interactúa con el sistema: el Usuario,
que solicita recetas. Los actores Sustitución y Predicción son agentes inteligentes y serán
detallados en la sección 3.2 literal b.
Figura 21 Casos de uso del sistema
Descripción textual de los casos de uso
En la tabla 9 se resumen los casos de uso por actores identificados para la
creación del sistema inteligente, posteriormente se detalla cada uno con: precondiciones,
descripción, excepciones, mensajes de error, y post condiciones.
Tabla 9
Resumen de casos de uso del sistema inteligente
Actores Casos de uso
Usuario Buscar recetas
Predicción, Sustitución Recomendar recetas
CONTINÚA
71
Usuario Guardar receta
Usuario Evaluar receta
Usuario Actualizar combinaciones de nueva receta
Caso de uso Buscar recetas
Resumen El Usuario ingresa ingredientes para buscar recetas
Actores Usuario
Precondiciones Ser usuario
Descripción El usuario selecciona en el menú la opción ‘Buscar’, aparece una pantalla
donde se elige el tipo de plato (sopa, fuerte, postre, refrigerio) y se ingresan uno o más
ingredientes, después selecciona la opción ‘Buscar recetas’ y se buscan todas las recetas
con el tipo de plato seleccionado, compara las recetas con los ingredientes ingresados y
el sistema escoge dos recetas según número y cantidad de ingredientes que coinciden.
Mensajes de error: Ingredientes insuficientes, no selecciono tipo de plato
Post condición Tras este caso de uso el usuario puede iniciar el caso de uso:
Recomendar recetas
Caso de uso Recomendar recetas
Resumen El sistema recomienda una nueva receta
Actores Usuario
Precondiciones Buscar recetas
72
Descripción El usuario en la pantalla ‘Recetas generadas’ tiene la opción ‘Generar otras
recetas’ donde se generan más opciones de receta, por medio de los agentes inteligentes
Sustitución y Predicción. Las nuevas recetas seguirán apareciendo debajo de las últimas,
hasta agotar todas las posibilidades.
Post condición Tras este caso de uso el usuario puede iniciar el caso de uso: Guardar
receta
Caso de uso Guardar receta
Resumen El Usuario guarda recetas seleccionadas
Actores Usuario
Precondiciones Recomendar recetas
Descripción El usuario en la pantalla ‘Recetas generadas’, tiene en cada receta una
casilla de selección, si la selecciona la receta se guardará para ser visualizada en la
pantalla ‘Recetas recientes’
Post condición Tras este caso de uso el usuario puede iniciar el caso de uso: Evaluar
receta
Caso de uso Evaluar receta
Resumen El Usuario evalúa las recetas guardadas
Actores Usuario
73
Precondiciones Guardar receta
Descripción El usuario tiene en cada receta la opción ‘Evaluar’, donde puede seleccionar
la opción ‘Si’ cuando la receta fue de su agrado, la opción ‘No’ si la receta no le gustó, o
‘Quitar’ para borrar la receta de la lista.
Post condición Tras este caso de uso se puede iniciar el caso de uso: Actualizar
combinaciones
Caso de uso Actualizar combinaciones
Resumen Evaluación actualiza el listado de combinaciones según respuesta del usuario
Actores Usuario
Precondiciones Evaluar recetas
Descripción Se extrae las combinaciones de la receta, cuando el usuario en la opción
‘Evaluar’, selecciona ‘Si’, se actualizan las combinaciones aumentando el porcentaje de
estas. Cuando el usuario selecciona ‘No’, se actualizan las combinaciones disminuyendo
el porcentaje de las mismas.
Post condición Ninguna
74
b. Modelo de Agente
El objetivo de este modelo es la descripción de los agentes inteligentes que operan
en el sistema y sirve como punto de partida del resto de modelos. El resultado de esta
etapa es la descripción de las características de cada agente según la figura 13. Además,
se describen un conjunto de objetivos identificados por cada agente por medio de la
plantilla que se muestra en la figura 14. (Carrillo, 2005)
El primer agente identificado es el sistema difuso denominado como agente
Sustitución, y el segundo agente es el de red neuronal denominado como agente
Predicción, al tener estos dos agentes el sistema se convierte en un sistema híbrido
neural-difuso.
Agente
nombre Sustitución
tipo agente software inteligente
descripción Este agente se encarga de generar más opciones de receta,
analizando los valores de los macronutrientes (carbohidratos, proteínas, grasas),
determinando su grado de pertinencia y por medio de inferencia difusa asigna un
nuevo ingrediente para generar una receta lo más equilibrada posible, este proceso
se realiza cambiando ingredientes de recetas ya existentes, hasta agotar todas las
posibilidades.
capacidad-razonamiento
75
experiencia Conocimiento de categorización de ingredientes por tipo de
alimento y por tipo de macronutriente que más aporta.
comunicación Interacción con el agente Predicción
coordinación El agente ‘Sustitución’ se comunica con el agente ‘Predicción’.
capacidad-general entidad
habilidades generar recetas nuevas mediante sustitución de ingredientes y
análisis de macros
lenguaje-com Lenguaje natural
restricción
normas Si el ingrediente que requiere ser cambiado, ya está en la receta, se
toma el siguiente.
preferencias los ingredientes de mayor cantidad en la receta son los
primeros en cambiarse
permisos ningunos
Agente
nombre Predicción
tipo agente software inteligente
76
descripción Este agente se encarga de generar las combinaciones de la nueva
receta generada por el agente Sustitución y predecir el porcentaje de combinación
según tipo de ingredientes y sabor.
capacidad-razonamiento
experiencia Conocimientos de dataset de combinaciones de alimentos
(contiene todas las combinaciones de alimentos generadas en base a todas
las recetas del sistema).
Conocimiento de dataset de alimentos (contiene todos los alimentos
del sistema por tipo).
comunicación Interacción con el agente Sustitución
coordinación El agente ‘Predicción’ se comunica con el agente ‘Sustitución’.
capacidad-general entidad
habilidades predecir porcentaje de combinación de las recetas nuevas.
lenguaje-com Lenguaje natural
restricción
normas ninguna
preferencias ninguna
permisos ninguno
Identificación y descripción de Objetivos
77
Los agentes se caracterizan por tener objetivos, estos son una responsabilidad
aceptada por el agente, a continuación, se especifican los objetivos de los agentes
inteligentes Sustitución y Predicción.
Objetivos del Agente Sustitución: Analizar macronutrientes de la receta,
sustituir ingredientes usando lógica difusa, Enviar nueva receta al agente
Predicción
Objetivos del Agente Predicción: Generar combinaciones de la nueva receta,
validar combinaciones de nueva receta mediante predicción, recomendar recetas
al usuario
Objetivo
nombre Analizar macronutrientes de la receta
tipo Objetivo persistente
descripción Este objetivo permite proveer de entradas al sistema difuso para
determinar el tipo de cambio que se va a realizar en la receta
Objetivo
nombre Sustituir ingredientes usando lógica difusa
tipo Objetivo persistente
78
descripción Este objetivo permite la sustitución de ingredientes generando una
nueva receta.
Objetivo
nombre Enviar nueva receta al agente Predicción
tipo Objetivo persistente de aprendizaje
descripción Este objetivo permite que el agente Predicción, obtenga una nueva
receta para analizar sus combinaciones.
Objetivo
nombre Generar combinaciones de la nueva receta
tipo Objetivo persistente
descripción Este objetivo permite que el agente Predicción, obtenga las entradas
para realizar la predicción de combinaciones
Objetivo
nombre Validar combinaciones de nueva receta mediante predicción
tipo Objetivo persistente
79
descripción Este objetivo permite la predicción del porcentaje de combinación por
tipo y sabor de la nueva receta
Objetivo
nombre Recomendar recetas al usuario
tipo Objetivo persistente
descripción Este objetivo permite que el agente Predicción comunique al Usuario
una nueva receta.
c. Modelo de la Experiencia
Aquí se desarrollan las tareas que requieren conocimiento para ser llevadas a cabo
y que permitirán caracterizar al agente como un sistema basado en conocimiento. Para
ello se describen las tareas genéricas, la identificación y descripción del esquema del
modelo y la correspondencia entre papeles del esquema del modelo y de las tareas
genéricas. (Fernández, 1998)
Descripción informal del dominio y tareas de la aplicación. Esta fase
denominada de orientación se realiza en los modelos de organización y tareas.
Identificación de tareas genéricas. Se identifican dos tareas genéricas
SustituirIngredientes y PredecirCombinaciones.
80
Tarea
nombre SustituirIngredientes
objetivo Sustituir Ingredientes
descripción En esta tarea para seleccionar el sistema difuso adecuado se identifica
a que grupo pertenece el ingrediente según tipo de plato y tipo de ingrediente, por
último, ingresando los valores de macronutrientes de la receta el sistema difuso elige
un nuevo ingrediente de reemplazo.
precondición Receta recibida
Tarea
nombre PredecirCombinaciones
objetivo Predecir Combinaciones
descripción En esta tarea se requiere conocimiento de combinación entre alimentos,
para entrenar una red neuronal que determina por predicción el porcentaje de
combinación de ingredientes de una receta nueva obteniendo combinación por tipo
de alimento y sabor.
precondición Receta nueva recibida
Identificación y descripción del esquema del modelo.
Se identifican tres conceptos BaseDatosRecetas, BaseDatosAlimentos y
BaseDatosCombinaciones.
81
Concepto BaseDatosRecetas
Descripción Representa al repositorio de datos en el que se almacenan las recetas
por tipo, ingredientes y preparación
Concepto BaseDatosAlimentos
Descripción Representa al repositorio de datos en el que se almacenan los alimentos
por tipo, y macronutrientes correspondientes
Concepto BaseDatosCombinaciones
Descripción Representa al repositorio de datos en el que se almacenan los
porcentajes de combinaciones de ingredientes por tipos y sabor
Correspondencia entre papeles del esquema del modelo y de las tareas
genéricas. Se identifican las siguientes relaciones:
SustituirIngredientes USA:BaseDatosAlimentos, BaseDatosRecetas
PredecirCombinaciones USA: BaseDatosAlimentos, BaseDatosCombinaciones
d. Modelo de Tareas
Permite describir las actividades relacionadas para alcanzar un objetivo. La figura
22 muestra la descomposión de la tarea SugerirRecetas, a continuación, se detalla cada
una de ellas según la plantilla de la figura 15 donde consta el nombre, objetivo,
descripción y precondición.
82
Figura 22 Descomposión de Tarea SugerirRecetas
Tarea
nombre SugerirRecetas
objetivo Sugerir Recetas
descripción En esta tarea se determinan sugerencias de recetas por cada vez que
el usuario lo solicite. Basándose en sustitución e ingredientes y combinaciones hasta
que las alternativas se agoten.
precondición Ingreso de ingredientes y tipo de plato
Tarea
nombre Búsqueda
objetivo Buscar receta a ser cambiada
descripción En esta tarea se determina que receta es la más cercana con los
ingredientes y el tipo de plato ingresados por el usuario.
83
precondición Ingreso de ingredientes y tipo de plato
Tarea
nombre GenerarRecetas
objetivo Generar nueva receta
descripción En esta tarea se identifican macronitrientes y alimentos de la receta
donde se hará la sustitución de ingredientes.
precondición Receta recibida
Tarea
nombre MostrarRecetas
objetivo Mostrar nuevas recetas al Usuario
descripción En esta tarea se comunican las nuevas recetas al usuario
precondición Receta nueva con predicción de porcentaje de combinaciones de
ingredientes
e. Modelo de Coordinación
Presenta un modelo para describir las interacciones entre los agentes de una
arquitectura multiagente. A continuación, se presenta la plantilla de comunicación entre
los agentes (Predicción, Sustitución), y la de comunicación al usuario.
84
Conversación
nombre Comunicar a otro agente
tipo Comunicar-información
objetivo Enviar al agente Predicción la nueva receta generada del agente Sustitución
agentes Predicción, Sustitución
iniciador Sustitución
servicio comunicar
descripción El agente Sustitución tiene por objetivo enviar la nueva receta generada
para que el agente Predicción obtenga el porcentaje de combinación por tipo y sabor
de las combinaciones de la receta generada.
precondición receta generada recibida
Conversación
nombre Comunicar al usuario
tipo Comunicar-información
objetivo Comunicar al usuario la receta generada
agentes Predicción
iniciador Predicción
85
servicio comunicar
descripción El agente Predicción tiene por objetivo enviar la nueva receta generada
con el porcentaje de combinaciones por tipo de alimentos y sabor.
precondición receta generada recibida
f. Modelo de Organización
Para comprender la organización del sistema multiagente, la figura 23 describe las
relaciones multiagente (cajas con los bordes superiores redondeados), así como la
relación de los agentes con las entidades del entorno (cajas convencionales para
representar clases en una notación Orientada a Objetos) como son Usuario, Interfaz. Se
pueden ver también las relaciones de asociación entre las entidades del sistema. (Carrillo,
2005)
86
Figura 23 Modelo de organización
g. Modelo de Diseño
En el literal a) se puede ver el diseño de los sistemas agentes, en el que se
especifica la arquitectura a implementar y el subsistema en el caso de que tenga alguno.
En el literal b) se especifica el diseño de la plataforma con todos los datos de
implementación: lenguaje, plataforma de ejecución, usuario.
a) Diseño de los agentes
Sistema-Agente
nombre Sustitución
87
arquitectura arquitectura deliberativa (ver en figura 19)
tiene-subsistema ninguno
Sistema-Agente
nombre Predicción
arquitectura arquitectura deliberativa
tiene-subsistema ninguno
b) Diseño de la plataforma
Plataforma
nombre Sistema multiagente
descripción no se utiliza plataforma multiagente predefinida
usa lenguaje Python, Kivy
hardware Teléfono celular con Android
software-requerido Android
usuario Usuario
88
3.3. Construcción del sistema neural-difuso
Segun el primer modelo de sistema neural difuso propuesto por Fullér, se plantea
como modelo del sistema inteligente mostrado en la figura 24, donde una vez
seleccionada una receta según los ingredientes ingresados por el usuario, se calcula el
porcentaje de macronutrientes de esta, los mismos que se convierten en las entradas al
sistema difuso (1) donde, basada en cambios de ingredientes se genera una nueva receta
(2).
Figura 24 Modelo de sistema neural difuso a construir. (1) Entradas del sistema difuso,
(2) Sistema difuso, (3) Red neuronal, (4) Salidas neuronales, (5) Resolución.
Los ingredientes de la receta generada por el sistema difuso se convierten en las
entradas a la red neuronal donde, se predice el porcentaje de aprobación de la receta de
acuerdo con dos criterios, el tipo de ingrediente y el sabor (3) Según la evaluación del
usuario a las recetas generadas, el dataset empleado en el algoritmo de aprendizaje de
89
la red neuronal se mantiene retroalimentado, de manera que la red permanece en
entrenamiento continuo, mejorando sus predicciones (4).
Finalmente, el sistema es capaz de explicar el grado equilibrio nutricional de la receta
generada (5).
3.3.1. Construcción sistema difuso (2)
El sistema difuso analiza los valores de macronutrientes de una receta para obtener
un nuevo ingrediente de reemplazo y generar una nueva receta sin alterar de manera
significativa su equilibrio nutricional, la figura 25 describe el proceso donde se asignan
grupos de alimentos de cambios que son los conjuntos difusos y los rangos de las
funciones de membresía para los antecedentes y consecuentes de cada grupo, después
se definen las reglas difusas para cada caso de sistema difuso. Posteriormente la
inferencia difusa procesa los datos para obtener el nuevo valor de salida que se
interpretara como el nuevo ingrediente. Para el proyecto se utilizó una librería científica
de Python llamada ‘Scikit-Fuzzy’(para ver detalle en https://pythonhosted.org/scikit-
fuzzy/index.html) la cual permite crear sistemas difusos determinando las funciones de
membresía y las reglas difusas (ver Anexo 7).
90
Figura 25 Estructura del sistema difuso del sistema inteligente
Antes de crear las funciones de membresía es necesario tener claro los valores de salida
y el alimento que representan para lo cual se crean los grupos de alimentos.
Creación de grupos de alimentos
Para crear grupos de alimentos comunes, se basó en los conocimientos del experto (chef
de partida) y los grupos de alimentos descritos en la sección 2.2.2 se determinaron 11
grupos (ver Anexo 2) que, se pueden cambiar en diferentes platos dependiendo de su
tipo (sopa, fuerte, postre), sin alterar mucho el sabor del plato. Los alimentos de los
grupos se encuentran ordenados según el aporte de macronutrientes (proteína, grasa,
carbohidrato) que proporcionan lo que ayudara en la selección del nuevo ingrediente. La
tabla 10 muestra un ejemplo del grupo de alimentos GuarnicionSopa que se utiliza
únicamente en el plato tipo sopa:
91
Tabla 10
Ejemplo de alimentos de cambio para grupo Guarnición Sopa
Proteína Grasa Carbohidratos
Camote 1,37 0,14 17,72
Papa 1,71 0,1 20,01
Zanahoria blanca 0,8 0,4 26,7
Plátano verde 1,2 0,1 35,3
Yuca 1,36 0,28 38,06
Los alimentos del grupo GuarnicionSopa tabla 10 se encuentran ordenados de
menor a mayor por su aporte de carbohidratos. Este orden se usa como referencia para
los datos de salida del sistema difuso, cabe notar que la función de salida se encuentra
en el rango de [10,40] que es un rango aproximado en el que se mantienen las funciones
de membresía, ya que si el intervalo es más grande o pequeño el valor de salida no llega
a variar, manteniéndose en el mismo ingrediente. Se determinó el valor máximo (33,3) y
mínimo (16,3) de salida que el sistema difuso puede calcular, se mide la distancia (17)
entre ellos y se la divide para el número de alimentos del grupo (GuarnicionSopa), así
obtenemos los espacios de cada rango de alimento como se muestra en la tabla 11.
Tabla 11
Rangos para la asignación de un nuevo alimento grupo GuarnicionSopa
Alimentos Salida Rango
Camote 𝑣𝑎𝑙𝑜𝑟 𝑠𝑎𝑙𝑖𝑑𝑎 ≤ 19
Papa 19 < 𝑣𝑎𝑙𝑜𝑟 𝑠𝑎𝑙𝑖𝑑𝑎 ≤ 22.5
Zanahoria blanca 22.5 < 𝑣𝑎𝑙𝑜𝑟 𝑠𝑎𝑙𝑖𝑑𝑎 ≤ 26
CONTINÚA
92
Plátano verde 26 < 𝑣𝑎𝑙𝑜𝑟 𝑠𝑎𝑙𝑖𝑑𝑎 ≤ 29.5
Yuca 𝑣𝑎𝑙𝑜𝑟 𝑠𝑎𝑙𝑖𝑑𝑎 > 29.5
Creación de las funciones de membresía
A partir de los 2 macronutrientes que aporta el alimento creamos los antecedentes
y sus funciones de membresía, esto igual se realiza para el consecuente, en el caso del
grupo GuarnicionSopa los macronutrientes que más aportan son carbohidrato y proteína
(tabla 10).
𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑝𝑜𝑐𝑜 =
{
1 𝑣𝑎𝑙𝑜𝑟 < 01 𝑣𝑎𝑙𝑜𝑟 ≤ 30
(40 − 𝑣𝑎𝑙𝑜𝑟
10) 30 ≤ 𝑣𝑎𝑙𝑜𝑟 ≤ 40
0 𝑣𝑎𝑙𝑜𝑟 > 40
𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑚𝑢𝑐ℎ𝑜 =
{
0 𝑣𝑎𝑙𝑜𝑟 < 40
(𝑣𝑎𝑙𝑜𝑟 − 40
10) 40 ≤ 𝑣𝑎𝑙𝑜𝑟 ≤ 50
1 50 ≤ 𝑣𝑎𝑙𝑜𝑟1 𝑣𝑎𝑙𝑜𝑟 > 50
𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑛𝑜𝑟𝑚𝑎𝑙 =
{
0 𝑣𝑎𝑙𝑜𝑟 < 30𝑣𝑎𝑙𝑜𝑟 − 30
1030 ≤ 𝑣𝑎𝑙𝑜𝑟 ≤ 40
50 − 𝑣𝑎𝑙𝑜𝑟
1040 ≤ 𝑣𝑎𝑙𝑜𝑟 ≤ 50
0 𝑣𝑎𝑙𝑜𝑟 > 50
Para el caso del antecedente carbohidrato se plantean 3 funciones de membresía
que cumplen los rangos descritos en las fórmulas anteriores, para la función
𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑝𝑜𝑐𝑜 el grado de pertinencia cuando el valor sea menor a 30 será de 1, si el
valor se encuentra entre en el rango de [30,40] se calculará la pertinencia por la fórmula
93
40−𝑣𝑎𝑙𝑜𝑟
10 y si el valor es mayor a 40 el valor será de 0. Así se calculará la pertinencia con
las fórmulas de cada una de las funciones. (ver Anexo 3). Para la función de mucho y
poco, utilizamos funciones de tipo trapezoidal porque permite expresar que, para valores
menores a 0 y para mayores de 55 la pertinencia es de 1, en el rango intermedio si se
usa una función trapezoidal se pierden valores de salida, por lo tanto, se utilizó una
función triangular.
Figura 26 Funciones de Membresía de los antecedentes carbohidrato
En la figura 26, se observan 3 funciones de membresía para el antecedente de
carbohidratos, cada función se define para un rango de poco, normal y mucho, este rango
varía según el porcentaje aceptable de macronutriente (ver sección 2.2.1) para un plato
de comida, los tipos de funciones que utilizamos son trapezoidal y triangular.
De igual forma para el consecuente se asignó 3 funciones de membresía que, se
encuentran dentro del rango de la tabla 11 y corresponde al valor de salida del
controlador.(figura 27)
94
Figura 27 Funciones de membresía para consecuente GuarnicionSopa
Creación de reglas difusas
El método difuso del sistema es de tipo Mamdani, por lo cual, las reglas del control
se definen mediante variables lingüísticas (poco, normal, mucho), estas variables son
cada una de las funciones de membresía de los antecedentes y el consecuente por lo
que la estructura de estas sería : 𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑚𝑢𝑐ℎ𝑜, donde carbohidrato es el conjunto
difuso general y mucho es la etiqueta de una función de membresía. Para el sistema
difuso del grupo GuarniciónSopa se definieron las siguientes reglas difusas:
𝑅𝑒𝑔𝑙𝑎1 = 𝑠𝑖 𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑚𝑢𝑐ℎ𝑜 𝑦 𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑚𝑢𝑐ℎ𝑜 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 GuarniciónSop𝑎𝑝𝑜𝑐𝑜
𝑅𝑒𝑔𝑙𝑎2 = 𝑠𝑖 𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑛𝑜𝑟𝑚𝑎𝑙 𝑜 𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑛𝑜𝑟𝑚𝑎𝑙𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝐺𝑢𝑎𝑟𝑛𝑖𝑐𝑖𝑜𝑛𝑆𝑜𝑝𝑎𝑛𝑜𝑟𝑚𝑎𝑙
𝑅𝑒𝑔𝑙𝑎3 = 𝑠𝑖 𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑝𝑜𝑐𝑜 𝑦 𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑚𝑢𝑐ℎ𝑜 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝐺𝑢𝑎𝑟𝑛𝑖𝑐𝑖𝑜𝑛𝑆𝑜𝑝𝑎𝑛𝑜𝑟𝑚𝑎𝑙
𝑅𝑒𝑔𝑙𝑎4 = 𝑠𝑖 𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑝𝑜𝑐𝑜 𝑦 𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑝𝑜𝑐𝑜 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝐺𝑢𝑎𝑟𝑛𝑖𝑐𝑖𝑜𝑛𝑆𝑜𝑝𝑎𝑚𝑢𝑐ℎ𝑜
𝑅𝑒𝑔𝑙𝑎5 = 𝑠𝑖 𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑚𝑢𝑐ℎ𝑜 𝑦 𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑝𝑜𝑐𝑜 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝐺𝑢𝑎𝑟𝑛𝑖𝑐𝑖𝑜𝑛𝑆𝑜𝑝𝑎𝑚𝑢𝑐ℎ𝑜
95
La interpretación de la regla1 es “cuando el porcentaje de Carbohidrato pertenece a la
función mucho y el porcentaje de Proteína pertenece a la función mucho entonces la
salida será GuarnicionSopa en el rango de la su función poco”. Este proceso se repite
para cada grupo de alimentos de cambio. Con todas las reglas difusas bien definidas para
cada grupo (ver Anexo 4), el sistema difuso queda listo para generar un nuevo ingrediente
para la receta la cual será la entrada de la red neuronal.
3.3.2. Construcción de red neuronal (3)
La red neuronal se emplea para predecir el grado de aprobación de la receta
generada basándose en combinaciones de alimentos por tipo y sabor, de manera que
necesita una base de conocimiento (dataset) para ser entrenada. A continuación, se
detalla paso a paso la creación del dataset. Finalmente se describe la estructura de la
red neuronal usada en la creación del sistema inteligente.
Creación del dataset de entrenamiento de la red neuronal
Mediante este proceso se busca obtener un conjunto de combinaciones de
alimentos por pares donde se identifiquen: los alimentos combinados en identificador
numérico, sus tipos, y dos valores de combinación entre ellos, uno según su tipo y otro
según su sabor, este último será extraído del conjunto de recetas base que el sistema
inteligente tendrá, en las que los dos ingredientes coincidan, por tanto, a mayor número
de recetas donde coincidan, más alto el valor de combinación por sabor, este porcentaje
inicial será 80%.
96
Las combinaciones por tipo se forman partiendo de la figura 1 (sección 2.2.5) guía
de combinación de alimentos y con la guía del experto en gastronomía (Anexo 5), se
asignaron valores a cada grupo (tabla 12).
Tabla 12
Valores de grupos de alimentos por tipo
Grupo Valor
Verduras 1
Frutas semi-acidas 2
Frutas dulces 3
Proteínas-Grasas 4
Almidones-Granos 5
Frutas ácidas 6
Melones 7
Posteriormente también con la guía del experto se asignan porcentajes de combinación
entre grupos (tabla 13), el porcentaje máximo será 80%.
97
Tabla 13
Porcentaje de combinación por tipo de alimento
Tipos Porcentaje
Tipos que entre si multipliquen 2, 3, 4, 5, 6, 12, 20, 42
Ejemplo: (grupo 6* grupo 7=42) 80%
Tipos que entre si multipliquen 40 50%
Alimentos del mismo tipo 4 y 5 25%
Alimentos del mismo tipo diferentes a tipo 4 y 5 60 %
Los valores de cada grupo también serán el primer digito de cuatro que, formará el
identificador numérico de cada ingrediente, los siguientes números se determinan de
forma secuencial (tabla 14).
Tabla 14
Ejemplo de alimentos por tipo e identificador numérico
NOMBRE TIPO NOMBRE#
ACHOGCHA VERDURA 1039
ALBAHACA VERDURA 1040
BERENJENA VERDURA 1041
BERRO VERDURA 1042
ROMERO VERDURA 1043
DURAZNO FRUTASEMIACIDA 2001
MANZANA FRUTASEMIACIDA 2002
MARACUYÁ FRUTASEMIACIDA 2003
PERA FRUTASEMIACIDA 2004
TOMATEÁRBOL FRUTASEMIACIDA 2005
98
Por ejemplo, de la receta 1 sopa de quinua se extraen los siguientes ingredientes:
['carnecerdo', 'cebollablanca', 'cilantro', 'colblanca', 'leche', 'mantequilla', 'papa', 'queso',
'quinua'], de donde se obtienen los datos de la tabla 15:
Tabla 15
Ejemplo de combinaciones entre alimentos por receta
NOM1 NOM2 A1 A2 TIPO1 TIPO2 COMTIPO COMRECETA
CARNECERDO PAPA 4014 5015 4 5 80 80
CARNECERDO QUINUA 4014 5005 4 5 80 80
CEBOLLABLANCA CARNECERDO 1004 4014 1 4 80 80
CEBOLLABLANCA CILANTRO 1004 1023 1 1 25 80
CEBOLLABLANCA COLBLANCA 1004 1008 1 1 25 80
CEBOLLABLANCA LECHE 1004 4011 1 4 80 80
CEBOLLABLANCA PAPA 1004 5015 1 5 80 80
CEBOLLABLANCA QUESO 1004 4012 1 4 80 80
CEBOLLABLANCA QUINUA 1004 5005 1 5 80 80
CILANTRO CARNECERDO 1023 4014 1 4 80 80
CILANTRO LECHE 1023 4011 1 4 80 80
CILANTRO PAPA 1023 5015 1 5 80 80
CILANTRO QUESO 1023 4012 1 4 80 80
CILANTRO QUINUA 1023 5005 1 5 80 80
COLBLANCA CARNECERDO 1008 4014 1 4 80 80
COLBLANCA CILANTRO 1008 1023 1 1 25 80
COLBLANCA LECHE 1008 4011 1 4 80 80
COLBLANCA PAPA 1008 5015 1 5 80 80
COLBLANCA QUESO 1008 4012 1 4 80 80
COLBLANCA QUINUA 1008 5005 1 5 80 80
LECHE CARNECERDO 4011 4014 4 4 25 80
LECHE PAPA 4011 5015 4 5 80 80
LECHE QUESO 4011 4012 4 4 25 80
LECHE QUINUA 4011 5005 4 5 80 80
QUESO CARNECERDO 4012 4014 4 4 25 80
QUESO PAPA 4012 5015 4 5 80 80
QUESO QUINUA 4012 5005 4 5 80 80
99
En conclusión, de 100 recetas base se extrajo un listado de 128 alimentos que
generaron 1075 combinaciones que formarán el dataset de entrenamiento de la red
neuronal que consta de cuatro entradas (alimento 1, alimento 2, tipo de alimento 1, tipo
de alimento 2) y dos salidas (combinación por tipo, combinación por sabor) (tabla 16).
Tabla 16
Entradas y salidas de la red neuronal
A1 A2 TIPO1 TIPO2 COMTIPO COMRECETA
1001 1028 1 1 60 80
1001 1040 1 1 60 80
1001 5002 1 5 80 80
1001 4013 1 4 80 80
1001 1004 1 1 60 80,2
1001 1023 1 1 60 80
1001 4010 1 4 80 80
1001 8001 1 8 50 80
1001 4003 1 4 80 80
1001 4011 1 4 80 80
1001 5005 1 5 80 80
1001 1021 1 1 60 80
1039 1005 1 1 60 80,2
1039 1023 1 1 60 80,2
1039 4023 1 4 80 80
… … … … … …
1039 4010 1 4 80 80,2
1039 1027 1 1 60 80,2
1039 5015 1 5 80 80,2
1039 4011 1 4 80 80,2
Estructura de la red neuronal
Una vez generados los patrones de la red neuronal backpropagation, un patrón de
4 entradas, emparejado con un patrón de 2 salidas deseadas, los resultados, se ajustan
a la forma que disminuya el error entre las salidas y las salidas deseadas. En cuanto al
100
número de neuronas en la capa oculta, según lo descrito en la sección 2.3.2. literal b,
esta debe ser menor al número de entradas, en este caso menor a 4, por tanto, con el fin
de determinar el número de neuronas de la capa oculta con el que mejor funciona la red,
se realizaron diferentes pruebas realizas considerando el error y el tiempo de
entrenamiento. (Anexo 6)
En conclusión, la estructura de la red neuronal backpropagation usada en el
sistema inteligente se muestra en la figura 28, la red neuronal con 4 entradas, 2 salidas
y una capa oculta con dos neuronas debido a que ofrecen el menor error y menor tiempo
de entrenamiento según las pruebas realizadas. Una vez establecida la estructura de la
red neuronal backpropagation, se aplicó el código Python mostrado en el Anexo 7.
Figura 28 Estructura de red neuronal del sistema inteligente
101
CAPÍTULO IV
Pruebas del sistema inteligente para la creación de recetas gastronómicas que
permitan dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” de la
ciudad de Latacunga.
4.1. Introducción del capítulo
En este capítulo se detallan las diferentes pruebas que se realizaron al sistema para
comprobar su buen funcionamiento. En la sección 4.2 las pruebas unitarias se realizaron
progresivamente, comenzando por los componentes simples y avanzando hasta probar
todo el software. En la sección 4.3 se detallan las pruebas de integración del sistema
neural-difuso que se divide en las pruebas del sistema difuso y en las de la red neuronal,
y en la sección 4.4 las pruebas de aceptación del sistema fueron realizadas por el usuario
y varios expertos en gastronomía con diferentes casos de prueba de generación de
nuevas recetas, además al final se incluye a cada uno una entrevista para captar sus
impresiones respecto al sistema inteligente.
4.2. Pruebas Unitarias
Con las pruebas unitarias se invoca al código de cada módulo que se quiere probar para
determinar si el resultado obtenido es el esperado. Si es igual, la prueba es exitosa, si
no, falla. En la tabla 17 mostramos las pruebas que aplicamos al sistema para verificar
su correcto funcionamiento.
102
Tabla 17
Check list pruebas unitarias
Nº Módulo Descripción Datos
Entrada
Salida Esperada Cumple
1 Modulo_Buscar_Receta
El sistema busca las
recetas que coincidan
con los ingredientes
ingresados por el
usuario
Alimentos con
los que
dispone el
usuario.
Dos recetas de
la BDD
Si
2 Modulo_Procesamiento
_de_ingredientes
El sistema separará los
ingredientes de las
recetas por cantidad
unidad y alimento
Receta Vector de
ingredientes de
receta
Si
3 Modulo_Cálculo_de_m
acronutrientes
Se calcula el porcentaje
de cada macronutriente
de la receta
Vector de
ingredientes
Vector de
porcentaje de
macronutrientes
Si
4 Modulo_Nuevo_ingredi
ente
Obtiene un nuevo
ingrediente
considerando cambios
de acuerdo al tipo y
porcentaje de
macronutrientes.
Porcentaje de
macronutriente
s, tipo de
ingrediente
Valor del nuevo
ingrediente
Si
5 Modulo_Comprobar_in
grediente_repetido
Comprueba que el
ingrediente no existe en
la receta o que ya se
haya reemplazado
anteriormente.
Vector
macronutriente
s, ingrediente
nuevo, vector
ingredientes
de receta.
Ingrediente
nuevo o
mensaje
"sincambios"
Si
6 Modulo_Reemplazar_in
grediente_nuevo
Reemplaza el nuevo
ingrediente en la receta.
Receta,
Ingrediente
nuevo
Receta nueva Si
7 Modulo_Predecir_comb
inación
Predice el porcentaje de
combinación de los
ingredientes de la receta
por su sabor y tipo.
Ingredientes
de la receta
Porcentajes de
combinación por
sabor y tipo
Si
8 Modulo_Calcular_ingre
dientes_por_persona
Calcula la cantidad los
ingredientes según el
número de personas
Número de
personas
Nuevas
cantidades de
los ingredientes
Si
CONTINÚA
103
9 Modulo_Guardar_recet
a
Almacena la receta en
"Recetas recientes"
Casilla Check
activa
Mensaje de
confirmación de
receta guardada
Si
10 Modulo_Evaluar_receta El usuario elige si la
receta fue de su agrado
o no
Opción de :Si
ó No
Cerrar pantalla
de Evaluar
Si
4.3. Pruebas de integración de sistema neural-difuso
Para realizar las pruebas de integración se comprobará el funcionamiento del sistema
neural-difuso ya integrado en la aplicación, en esta prueba se ingresan los datos en la
aplicación como lo hará el usuario y a partir de eso el procesamiento de datos es
automatizado, para su uso en el sistema.
Para realizar las pruebas de integración del sistema difuso se necesita realizar 3 fases
de pre procesamiento de los datos de la receta que son:
Búsqueda y procesamiento de receta
Cálculo de macronutrientes
Selección de ingredientes para el cambio
Búsqueda y procesamiento de receta
Antes de realizar las pruebas del sistema difuso se necesita ingresar el tipo de plato que
se desea (sopa, fuerte, postre) y los ingredientes para buscar una receta que coincida
con la búsqueda. A continuación, se indican los datos usados para el ejemplo:
Ingredientes ingresados: papa
Tipo de plato: fuerte
104
Con estas características el sistema busca en la base de datos las recetas que coincida
con el tipo de plato (fuerte) y que contengan los ingredientes ingresados (papa) en mayor
cantidad, para el caso las recetas obtenidas son: gratín de brócoli y champiñones que
contiene 100gr de papa y pollo al estilo de la abuela que contiene 100gr de papa
Recetas encontradas: gratín de brócoli y champiñones, pollo al estilo de la abuela
Una vez que el sistema encontró 2 coincidencias, elige la segunda receta que es la que
contiene una menor cantidad de los ingredientes ingresados (pollo al estilo de la abuela),
a continuación, separa los ingredientes de la receta y se procesan para utilizarlos,
separando la información (cantidad de ingrediente, unidad de cantidad, nombre de
ingrediente) como se muestra en la Tabla 18 para usarla en las siguientes etapas.
Tabla 18
Ingredientes de la receta procesados
Cantidad de ingrediente Unidad Ingrediente
120 Gr Pollo
20 Gr Aceite
50 Gr Cebollaperla
30 Gr Zanahoria
100 Gr Papa
30 Gr Champiñón
38 Gr Arveja
16 Gr Tomateriñon
Cálculo de macronutrientes
Con los ingredientes separados se realiza el cálculo de macronutrientes y el porcentaje
de calorías que proporcionan los ingredientes en la receta, según se describe en el marco
teórico Cálculo de calorías en una receta.
105
Primero se busca los valores de macronutrientes que contiene cada ingrediente en 100gr
de la base de datos (tabla 19).
Tabla 19
Información de ingredientes (macronutrientes por cada 100gr)
Nombre Proteína Grasa Carbohidrato
Pollo 21,39 3,08 0
Aceite 0 100 0
Cebollaperla 1,1 0,1 9
Zanahoria 0,9 0,1 9,4
Papa 1,71 0,1 20,01
Champiñon 1,8 0,3 6,5
Arveja 5,42 0,4 14,46
Tomateriñon 0,8 0,3 4,6
Con estos valores y la cantidad de cada ingrediente en la receta, el sistema calcula el
aporte de macronutrientes en la receta por medio de una regla de 3. (tabla 20)
𝐴𝑝𝑜𝑟𝑡𝑒 𝑝𝑜𝑟 𝑖𝑛𝑔𝑟𝑒𝑑𝑖𝑒𝑛𝑡𝑒
∶ 𝑐𝑎𝑛𝑡. 𝑑𝑒 𝑖𝑛𝑔𝑟𝑒𝑑𝑖𝑒𝑛𝑡𝑒 𝑒𝑛 𝑟𝑒𝑐𝑒𝑡𝑎 𝑔𝑟 ∗ 𝑎𝑝𝑜𝑟𝑡𝑒 𝑑𝑒 𝑚𝑎𝑐𝑟𝑜𝑛𝑢𝑡𝑟𝑖𝑒𝑛𝑡𝑒 𝑒𝑛 100𝑔𝑟
100
Tabla 20
Aporte de macronutrientes por cada ingrediente
Nombre Proteína en receta
Grasa en receta
Carbohidrato en receta
Pollo 120gr 25,668 3,696 0
Aceite 20 ml 0 20 0
Cebollaperla 50gr 0.55 0,05 4.5
Zanahoria 30gr 0,27 0,3 2,82
Papa 100gr 1,71 0,1 20,01
Champiñon 30gr 0.54 0,09 1,95
Arveja 38 gr 2,05 0,152 5,49
Tomateriñon 16 gr 0,128 0,048 0,736
Total 30,92 24,16 35,51
106
Se suman los valores y se obtiene el total de proteína, grasa y carbohidrato en la receta
en gramos (tabla 20). Con cada valor se calcula las calorías que proporcionan cada
macronutriente (ver seccion 2.2.4) y el total, para despúes realizar el cálculo del
porcentaje de cada uno. A continuación se muestra el cálculo para el ejemplo propuesto:
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐶𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠 ∶ 35.51 𝑔𝑟 × 4 𝑐𝑎𝑙
𝑔𝑟= 142.04𝑐𝑎𝑙
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝐺𝑟𝑎𝑠𝑎 ∶ 24.16 𝑔𝑟 × 9 𝑐𝑎𝑙
𝑔𝑟= 217.49𝑐𝑎𝑙
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠_𝑃𝑟𝑜𝑡𝑒í𝑛𝑎 ∶ 30.92 × 4 𝑐𝑎𝑙
𝑔𝑟= 123.7 𝑐𝑎𝑙
𝐶𝑎𝑙𝑜𝑟í𝑎𝑠𝑇𝑜𝑡𝑎𝑙: 142.04 + 217.49 + 123.7 = 483.23 𝑐𝑎𝑙
Una vez calculadas las calorías de cada macronutriente, se calcula su porcentaje, estos
valores serán usados como entradas en el sistema difuso.
142.04
483.23× 100 = 29.39 % 𝑑𝑒 𝑐𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠
217.49
483.23× 100 = 45.01 % 𝑑𝑒 𝑔𝑟𝑎𝑠𝑎
123.7
483.23× 100 = 25.6 % 𝑑𝑒 𝑝𝑟𝑜𝑡𝑒í𝑛𝑎
107
Selección de ingredientes para el cambio
Se separan los ingredientes que no ingresó el usuario de la receta y se los ordena de
mayor a menor, ya que según ese orden se buscara un ingrediente de reemplazo. Se
reemplazará cada siguiente ingrediente faltante de la lista hasta quedar sin opciones,
para el caso al ingresar papa se quita el ingrediente de la lista y obtenemos los
ingredientes para reemplazar como se indica en la Tabla 21.
Tabla 21
Lista de ingredientes a ser reemplazados
Cantidad Unidad de cantidad Ingrediente
120 Gr Pollo
50 Gr Cebollaperla
38 gr Arveja
30 gr Aceite
30 Gr Zanahoria
30 gr Champiñón
16 gr Tomateriñon
a) Pruebas de sistema difuso
Una vez se obtiene los datos necesarios previamente (porcentaje de calorías por
macronutrientes y la lista de ingredientes a reemplazar), se obtienen nuevos ingredientes
para reemplazar comprobando que estos no se repitan.
Para el primer ingrediente a reemplazar (pollo), se busca el sistema difuso para el tipo
de ingrediente en este caso carnes, para este sistema difuso se ingresa el porcentaje de
los 2 macronutrientes que más aporta el tipo carnes que son la proteína y la grasa en
este caso no se considera los carbohidratos debido a que las carnes no proporcionan un
valor para considerarlo. Los valores ingresados son de Proteína: 25,6% y de Grasa:
108
45,01% de la receta y se evalúa cada valor para ver a que función de membresía
pertenece y se resalta el grado de pertinencia que tienen.
Figura 29 Funciones de membresía Antecedentes1
En la figura 29 se observa que la grasa pertenece al valor 1 en la función mucho y la
proteína pertenece al valor 0,56 en la función mucho, al pertenecer a esas dos funciones
se aplica la regla para las carnes:
𝑅𝑒𝑔𝑙𝑎1 = 𝑠𝑖 𝐺𝑟𝑎𝑠𝑎𝑚𝑢𝑐ℎ𝑜 𝑌 𝑃𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑚𝑢𝑐ℎ𝑜 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 Carn𝑒𝑝𝑜𝑐𝑜
La regla1 usa el operador ‘y’ por lo que se selecciona el valor de pertinencia mínimo 0,56
y se proyecta en la función de membresia poco del consecuente Carne, el valor de salida
es el centro de masa del área (centroide) obtenida, de acuerdo a Mamdani, para el caso
el valor obtenido es 16,33 como se muestra en la Figura 30.
45,01 25,6
109
Figura 30 Función de membresía Consecuente1
El valor de salida obtenido (16.33) pertenece al rango de pollo en las carnes, como se
indica en la Tabla 22, el resultado es satisfactorio porque el nuevo ingrediente busca
disminuir el valor de grasa.
Tabla 22
Rangos para la asignación de un nuevo alimento grupo Carnes
Ingrediente Rango
pollo x <= 21
res x>21 and x<=23
cerdo x>23 and x<=25.5
corvina x>25.5
Puesto que el ingrediente de cambio (pollo) ya existe en la receta, se selecciona el
próximo ingrediente a ser reemplazado (ver tabla 21) para un nuevo cambio cebollaperla,
ese ingrediente propone champiñón para el cambio, pero debido a que ese ingrediente
ya existe en la receta, avanza al siguiente ingrediente en el listado arveja, que pertenece
al grupo granos y el proceso se repite:
Se ingresa el porcentaje de los dos macronutrientes que más aporta el ingrediente
(Carbohidrato, Proteína) de la receta y evaluando cada valor para ver a que función de
16,33
110
membresía pertenece, Carbohidrato: 29.39%, Proteína: 25.6%, la Figura 31 muestra las
funciones de membresía y se resalta el grado de pertinencia que tienen por su valor.
Figura 31 Funciones de membresía Antecedentes 2
El sistema difuso analiza los grados de pertinencia con las reglas del sistema difuso de
la para obtener un valor de salida, para el caso el valor obtenido es 16,82 como se
muestra en la Figura 32.
Figura 32 Función de membresía Consecuente 2
El valor de salida obtenido (16.82) pertenece al rango de frejolrojo en los granos, como
indica la Tabla 23, el resultado es satisfactorio porque el nuevo ingrediente busca
disminuir el valor de carbohidrato.
29,39 25,6
16,82
111
Tabla 23
Rangos para la asignación de un nuevo alimento grupo GranosSecos
Ingrediente Rango
garbanzo
𝑥 ≤ 16.5
frejolrojo
16.5 < 𝑥 ≤ 19.5
Frejolnegro
19.5 < 𝑥 ≤ 23
frejolblanco
23 < 𝑥 ≤ 26.5
Arveja
26.5 < 𝑥 < 30
Lenteja
30 < 𝑥 < 33.5
Haba
𝑥 > 33.5
Se realiza el cambio de ingrediente en la receta para posteriormente continuar el análisis
de la receta con la red neuronal, la tabla 24 muestra la receta que se generó con el nuevo
ingrediente.
Tabla 24
Nueva receta generada
Nombre pollo al estilo de la abuela 3
Ingredientes 120 gr pollo en presa, 20 gr aceite, 50 gr cebollaperla, 30 gr zanahoria, 100 gr papa, 30 gr champiñon laminado, 38 gr frejolrojo, 16 gr tomateriñon, sal, pimienta
Preparación Dore el pollo con el aceite por media hora, agregue la cebollaperla picada, deje que dore y añada el tomate en picado, añada agua y cocine por veinte minutos. Saque el pollo. Añada la zanahoria, a los diez minutos el champiñon en láminas, la papa y un poco más de agua. Cuando la zanahoria y la papa esten cocidas, vierta sobre el pollo y sirva caliente.
La Tabla 25 muestra todos los cambios que el sistema podrá generar con la receta
“pollo al estilo de la abuela” y si la utiliza o no.
112
Tabla 25
Cambios de ingrediente en la receta “Pollo al estilo de la abuela”
Ingrediente de la receta Ingrediente nuevo Realiza el cambio
Pollo Pollo No cambia, porque el ingrediente se mantiene
cebollaperla singrupo No cambia, porque el ingrediente no tiene
grupo
arveja frejolrojo Si cambia
aceite Sin grupo No cambia, porque el ingrediente no tiene
grupo
zanahoria champiñon No cambia, porque el ingrediente se repite
champiñon champiñon No cambia, porque el ingrediente se repite
tomateriñon Sin grupo No cambia, porque el ingrediente no tiene
grupo
b) Pruebas de red neuronal
Una vez que el sistema difuso realiza un cambio de ingrediente y se crea una
nueva receta, para que la red neuronal pueda predecir las combinaciones de tipo y sabor,
primero, se separan los ingredientes y se genera una lista que abarque las combinaciones
entre todos, después los elementos de esta lista serán las entradas de la red neuronal y
las salidas serán las predicciones de combinación por tipo y sabor.
Siguiendo la receta generada por el sistema difuso (tabla 24) los ingredientes de
la receta son [cebollaperla, champiñón, frejolrojo, papa, pollo, tomateriñon, zanahoria],
113
de donde se generan 21 pares de combinaciones cada una con nombres, identificadores
y tipos de los dos alimentos (tabla 26). Las entradas para la red neuronal serán 4 los
identificadores de los ingredientes (A1, A2) y los tipos (TIPO1, TIPO2).
Tabla 26
Combinaciones de nueva receta
NOM1 NOM2 A1 A2 TIPO1 TIPO2
CEBOLLAPERLA CHAMPIÑON 1005 1036 1 1
CEBOLLAPERLA FREJOLROJO 1005 4009 1 4
CEBOLLAPERLA PAPA 1005 5015 1 5
CEBOLLAPERLA POLLO 1005 4004 1 4
CEBOLLAPERLA TOMATERIÑON 1005 1018 1 1
CEBOLLAPERLA ZANAHORIA 1005 1020 1 1
CHAMPIÑON FREJOLROJO 1036 4009 1 4
CHAMPIÑON PAPA 1036 5015 1 5
CHAMPIÑON POLLO 1036 4004 1 4
FREJOLROJO PAPA 4009 5015 4 5
POLLO FREJOLROJO 4004 4009 4 4
POLLO PAPA 4004 5015 4 5
TOMATERIÑON CHAMPIÑON 1018 1036 1 1
TOMATERIÑON FREJOLROJO 1018 4009 1 4
TOMATERIÑON PAPA 1018 50 15 1 5
TOMATERIÑON POLLO 1018 4004 1 4
TOMATERIÑON ZANAHORIA 1018 1020 1 1
ZANAHORIA CHAMPIÑON 1020 1036 1 1
ZANAHORIA FREJOLROJO 1020 4009 1 4
ZANAHORIA PAPA 1020 5015 1 5
ZANAHORIA POLLO 1020 4004 1 4
Las salidas de la red son 2, el porcentaje de combinación por tipo y sabor de cada
par de combinaciones (tabla 27). Para obtener el porcentaje de combinación de toda la
receta se calculan las medias de la lista de predicciones generadas.
114
Tabla 27
Predicción de combinación por tipo y sabor de alimento
COMTIPO COMRECETA
0 0.500000 0.500000
1 0.500000 0.500000
2 0.999862 0.993180
3 0.500000 0.500000
4 0.500000 0.500000
5 0.500000 0.500000
6 0.500000 0.500000
7 0.999862 0.993180
8 0.500000 0.500000
9 0.500000 0.500000
10 0.500000 0.500000
11 0.500000 0.500000
12 0.500000 0.500000
13 0.993968 0.999997
14 0.993968 0.999997
15 0.500000 0.500000
16 0.993968 0.999997
17 0.993968 0.999997
18 0.993968 0.999997
19 0.993968 0.999997
20 0.500000 0.500000
Finalmente, la receta es presentada al usuario visualizándose el nombre, los
macronutrientes en porcentajes que suman entre ellos el 100%, los porcentajes de
combinación por tipo y sabor, un valor que representa el grado de equilibrio nutricional
de la receta y, las opciones para ver el detalle de la receta y una casilla de selección
guardar la receta. (figura 33)
115
Figura 33 Receta generada presentada al usuario
4.4. Pruebas de validación
Debido a que las pruebas fueron realizadas por dos usuarios expertos en
gastronomía y por el usuario final, los casos de prueba fueron generados por los mismos,
de manera que ingresaron alimentos y aprobaron o no, las recetas generadas,
considerando si los ingredientes combinan de manera que la receta tenga buen sabor. Al
final se realizó una entrevista para obtener la opinión general de los expertos respecto al
sistema inteligente. Las pruebas y entrevistas se detallan en el Anexo 8.
El total de recetas generadas en las pruebas realizadas fueron 30, de las cuales
11 son del tipo sopa, 17 del tipo fuerte y 2 de tipo postre, 26 fueron aprobadas, solo 4 de
las recetas no fueron aprobadas debido a cambios que generaban recetas con varios
alimentos del mismo tipo.
La asistente administrativa del “Hogar Para Sus Niños” también participó en las
pruebas del sistema inteligente durante un mes, probando las recetas generadas y
evaluándolas. Todas las recetas generadas ya sea aprobadas o no por los expertos
sirvieron como entrenamiento para la red neuronal y para expandir la base de datos de
recetas del sistema.
116
Según la opinión de los expertos y el usuario, los cambios de ingredientes son acertados,
el sistema genera recetas fáciles, equilibradas sin comprometer el sabor y aprovechando
los ingredientes que más se consumen el Ecuador, además señalan que la información
nutricional es muy útil porque los niños necesitan ingerir comida con todos los
macronutrientes de forma equilibrada.
117
CAPITULO V:
Validación del sistema inteligente
5.1. Introducción del capítulo
Una vez finalizado el desarrollo del sistema inteligente para la creación de recetas
gastronómicas que permitan dar apoyo a la nutrición de los infantes, y las pruebas
correspondientes con expertos en gastronomía, se realiza la entrega del sistema en el
“Hogar Para Sus Niños” para su posterior aceptación.
5.2. Entrega y recepción
118
5.3. Validación y aceptación
119
CAPITULO VI
Conclusiones y Recomendaciones
6.1. Conclusiones
El desarrollo del sistema inteligente para la creación de recetas gastronómicas
permitió dar apoyo a la nutrición de los infantes del “Hogar Para Sus Niños” de
la ciudad de Latacunga, mediante la educción de conocimientos de los expertos
plasmados en reglas difusas y en datos de entrenamiento para la red neuronal,
logrando un 87% de recetas aprobadas por los expertos, que además las
describen como equilibradas, diferentes y fáciles de preparar aprovechando de
mejor manera los alimentos que se disponen en una despensa ecuatoriana. El
13% de las recetas no fueron aprobadas debido a cambios que generaban
recetas con varios alimentos del mismo tipo.
El estudio teórico referente a alimentación, grupos de alimentos,
macronutrientes, comida saludable, cálculo de calorías y combinación de
alimentos permitió obtener el conocimiento necesario con el que se sustenta el
sistema inteligente neural-difuso, desde los grupos de cambios de alimentos
que la lógica difusa usa para sustituir ingredientes y generar una nueva receta
considerando el equilibrio nutricional a través del cálculo de macronutrientes,
hasta la forma en cómo se combinan los alimentos por tipo y sabor para
comprobar el porcentaje de combinación por receta.
La inteligencia artificial, hoy en día, es una ciencia muy amplia que está en
auge, debido a que la mayoría de sistemas, apps y/o aplicaciones móviles,
120
tienen embebido un sistema inteligente, lo que la ha permitido volverse una
tendencia a nivel mundial. En nuestro entorno, en el campo educativo la
inteligencia artificial no ha alcanzado su verdadero potencial ya que los tópicos
se estudian de manera básica, debido a la amplitud y complejidad de la
temática y al número de horas asignadas. Se puede indicar, que para el
desarrollo de nuestra tesis se analizaron muchas otras temáticas relacionadas
con la inteligencia artificial, que no se imparten en las asignaturas relacionadas
a la carrera, como son: las metodologías de ingeniería de conocimiento y sus
extensiones, que están relacionadas con el proceso de desarrollo de sistemas
inteligentes (utilizadas en el proceso de análisis y diseño), más aún si estas
metodologías se aplican a sistemas difusos y redes neuronales, como por
ejemplo la aplicabilidad de la metodología MAS-CommonKADS. También, se
han acoplado las pruebas unitarias y de integración del sistema, comparando
y analizando los resultados obtenidos con los expertos, lo que permitió
determinar un plan de pruebas para un sistema inteligente. Lo que ha permitido
desarrollar una tesis innovadora y creativa.
La aplicación de pruebas por parte de expertos en gastronomía, como se
muestra en el Anexo 8, permitieron la validación de las recetas generadas por
el sistema inteligente, así como también mejorar el entrenamiento de la red
neuronal y de acuerdo a los resultados obtenidos de las evaluaciones se puede
concluir que el sistema cumple con su objetivo que es el de crear recetas en
base a cambios de ingredientes, sin alterar significativamente, ni el equilibrio
nutricional ni su sabor.
121
A manera general, se puede concluir que el desarrollo de un sistema inteligente
conlleva al ingeniero de software dedicar una gran parte de su tiempo en
entender el problema, el vocabulario usado y las interacciones de los
conocimientos en un dominio específico, en este caso, en particular, sobre
nutrición infantil, en la generación de recetas equilibradas. Resultando
complicado tanto entender la forma en que piensa y toma las decisiones el
experto humano, ya que es un proceso no definido que sigue reglas difíciles de
precisar, así como entender, interpretar, traducir y plasmar la forma de procesar
la toma de decisiones en un programa inteligente por parte del ingeniero de
software. Cabe notar que, en esta tesis el desarrollo del sistema propuesto es
más complejo debido a que se han integrado dos sistemas inteligentes: redes
neuronales y lógica difusa (formando un sistema neural-difuso). Lo que ha
permitido desarrollar un sistema fácil de acceder, disponible y portátil, así como
también, entender el razonamiento aplicado para deducir los resultados, siendo
estas, ventajas de este tipo de sistemas.
6.2. Recomendaciones
Para el desarrollo de un sistema inteligente relacionado con la alimentación, se
recomienda tener el apoyo de expertos en el área como los son los nutricionistas
y gastrónomos, puesto que estos proporcionarán el conocimiento necesario y
verificado, basándose en las recomendaciones del MSP (Ministerio de Salud
Pública) y de las organizaciones internacionales como la FAO (Organización de
las Naciones unidas para la alimentación y la agricultura) y la OMS (Organización
122
mundial de la salud), con la adquisición de ese conjunto de conocimientos es
posible obtener un sistema de calidad.
Al momento de realizar las pruebas del sistema es importante contar además del
usuario final, con varios expertos que verifiquen que el conocimiento plasmado en
el sistema inteligente sea igual o lo más cercano posible al del experto humano,
de tal manera obtener un sistema validado y confiable para los usuarios y expertos.
Cabe notar que, en las pruebas realizadas se cubrió la mayor parte de las posibles
soluciones.
Para trabajos futuros se recomienda diversificar el alcance del sistema inteligente
aumentando más grupos de cambio de ingredientes con los que la lógica difusa
trabaja, lo que permitirá obtener más posibilidades de cambio con ingredientes
más similares en cuanto a nutrientes obteniendo recetas mejor equilibradas y
mantener un constante entrenamiento de la red neuronal, mediante la evaluación
de las recetas generadas por el sistema. Así como también centrarse no solo en
cambio de ingredientes sino también en su cantidad, logrando de esta manera un
rápido equilibrio nutricional en una receta.
123
REFERENCIAS BIBLIOGRÁFICAS
Academia. (s.f.). Sistemas neuro-difusos .Recuperado el 15 de Mayo del 2018. Obtenido
de https://www.academia.edu/8129071/sistemas_neuro_difusos
Alba, G. Á. (2016). Diseño de redes neuronales artificiales no supervisadas orientadas a
la inteligencia de negocio. Madrid: Universidad Politécnica de Madrid.
Benítez, M. I. (19 de Septiembre de 2014). Slideshare., de Sistemas Inteligentes y
Redes Neuronales. Recuperado el 15 de Agosto de 2018.Obtenido de :
https://es.slideshare.net/jcbp_peru/utp-sirns4red-perceptron
ByrdBredbenner, C., Beshgetor, D., Moe, G., & Berning, J. (2010). Perspectivas en
Nutrición. México,D.F.: McGRAW-HILL INTERAMERICANA EDITORES,S.A.
Carrillo, J. L. (2005). Análisis de metodologías para desarrollo de agentes. Riobamba.
Castellanos, A. (2013). Algoritmos para minería de datos con redes de neuronas. En A.
Castellanos. Madrid.
Castillo, M. Á. (2008). Tutorial de Introducción de Lógica Borrosa. Recuperado el 12 de
Septiembre de 2018. Obtenido de
http://www.dma.fi.upm.es/recursos/aplicaciones/logica_borrosa/web/tutorial_fuzz
y/introduccion2.html
Consumer. (2004). Frutos secos oleaginosos, no todo son grasas y
calorías.Recuperado el 24 de Julio de 2018 . Obtenido de
http://www.consumer.es/web/es/alimentacion/aprender_a_comer_bien/alimentaci
on_alternativa/2001/12/01/35589.php
Course Hero. (s.f.). Recuperado el 15 de Mayo de 2018. Obtenido de
https://www.coursehero.com/file/p2fekb0/es-el-principio-de-aprendizaje-
competitivo-en-el-que-los-elementos-compiten-por/
D’Aquila, R. (2005). Acerca de la inteligencia…de los sistemas inteligentes . Acadning,
16.
de Brio, B. M., & Sanz Molina, A. (2007). Redes neuronales y Sistemas borrosos.
México: ALFAOMEGA Grupo Editor.
DE VITO, E. L. (2006). Introducción al razonamiento aproximado: lógica difusa. Revista
Americana de Medicina Respiratoria.
124
Del Brio, B. M., & Sanz, A. (2002). Redes neuronales y Sistemas difusos. Alfa omega.
Diciembre Sanahuja, M. (2017). Sistemas de control con lógica difusa:Métodos de
Mamdani y de Takagi-Sugeno-Kang (TSK).
Ecured. (s.f.). Ecured. Recuperado el 25 de Mayo de2018. Obtenido de
https://www.ecured.cu/Anexo:Alimentaci%C3%B3n_humana
ESCOM. (22 de Septiembre de 2009). Construccion , Diseño y Entrenamiento de redes
neuronales artificiales.Recuperado el 23 de Julio de 2018. Obtenido de
https://es.slideshare.net/mentelibre/construccion-diseo-y-entrenamiento-de-
redes-neuronales-artificiales
Escuela Técnica Superior de Ingenieros de Sevilla. (2012). Algoritmo genético. Sevilla.
FAO. (2015). Macronutrientes y micronutrientes.
Fernández, C. Á. (1998). Definición de una metodología para el desarrollo de sistemas
multiagente. Madrid: Universidad Politécnica de Madrid.
Foodpyramid. (2015). Foodpyramid. Recuperado el 25 de Mayo. Obtenido de
http://www.foodpyramid.com/6-essential-nutrients
Freeman, J. A., & Skapura, D. M. (1993). Redes neuronales:Algoritmos,Aplicaciones y
Técnicas de programación. Massachusetts: Addison-Wesley.
Fullér, R. (1999). Fuzzy logic and neural nets in intelligent systems. Researchgate, 11-
12.
Gonzales Morcillo, C. (2011). Lógica Difusa Una introducción práctica.
HADDAD L, B. H. (1989). The impact of nutritional status on agricultural productivity:
wage evidence from the Philippines. 97.
Hinton G., A. D. (1984). Boltz-mann machines .
Icopcion. (2011). Icopcion ramas de la inteligencia artificial. Recuperado el 23 de Julio
de 2018. Obtenido de: https://icopcion.wordpress.com/2011/02/08/ramas-de-la-
inteligencia-artificial/
Jang, J.-s. (1993). ANFIS Adaptive-Network-based Fuzzy Inference System.
Kivy.org. (Octubre de 2018). Kivy. Recuperado el 23 de Mayo de 2018. Obtenido de
https://kivy.org/#home
125
Martín, J. D. (2000). Implementación de redes neuro-difusas para per aplicadas en
problemas de clasificación y modelización. En J. D. Martín. USA.
Matich, D. J. (2001). Redes Neuronales: Conceptos Básicos y Aplicaciones. Rosario.
Ministerio de Salud Pública del Ecuador. (2017). Guía de alimentación y nutrición para
docentes. Quito.
MPS, INEC. (2013). Encuesta nacional de salud y nutrición 2011 – 2013.
Nauck, D. D. (2013). Neuro-fuzzy systems: A short historical review. In computational
intelligence in intelligent Data Analysis. Springer, Berlin, Heidelberg., 91-109.
NILSSON, N. J. (2001). Inteligencia artificial Una nueva síntesis . Madrid: Mc Graw Hill.
OEA. (s.f.). Desarrollo infantil temprano. Recuperado el 8 de Julio de 2018 . Obtenido
de http://www.oas.org/udse/dit2/por-que/nutricion.aspx
Palma, J., & Marín, R. (2008). Inteligencia artificial técnicas, Métodos y aplicaciones.
Madrid: McGRAW-GHILL.
Perez Conesa, J. (2009). El libro del saber culinario. Madrid.
Polaa, K. (s.f.). Academia.edu. Recuperado el 27 de Mayo de 2018 . Obtenido de
http://www.academia.edu: http://www.academia.edu/8338655/Plato_Fuerte
Probart, C., & Menza, V. (2013). Eating well for good health: lessons on nutrition and
healthy diets.
Rawvana. (30 de Noviembre de 2016). Rawvana. Recuperado el 25 de Julio de 2018.
Obtenido de https://www.youtube.com/watch?v=DbakNq6-dOs
Rivera, V. M. (2008). Bases de la alimentación humana. España.
Rubio, T. (2013). Integracion de una nariz electronica ultra-portatil en un robot modular.
Madrid.
Sanchez, I. (5 de Octubre de 2014). Sistemas expertos. Recuperado el 1 de Septiembre
de 2018, de http://ignaciosg.blogspot.com/2014/10/sistemas-expertos.html
Shelton, H. (2017). La combinación de los alimentos. Obelisco.
Universidad de Málaga LCC. (s.f.). Redes neuronales multicapa. Málaga.
Valdivieso, P. A. (2016). Redes neuronales. El perceptrón. Granada.
126
VELSID. (17 de Enero de 2009). República. Recuperado el 7 de Agosto de 2018.
Obtenido de https://gastronomiaycia.republica.com/2009/01/17/grupos-de-
alimentos/
Viera, V. (3 de Julio de 2013). Entrenamiento de una neurona con la función sigmoide y
algo de BackPropagation Recuperado el 28 de Agosto de 2018.. Obtenido de
https://www.youtube.com/watch?v=9C8I5OCQI1I
WHO. (2014). Plan de aplicación integral sobre nutrición materna, del lactante y del niño
pequeño.
WHO. (2017). Malnutrición.
127
Anexos
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
CARRERA DE INGENIERÍA EN SOFTWARE
CERTIFICACIÓN
Se certifica que el presente trabajo de titulación fue desarrollado por los señores: Monar
Carrillo, Johanna Elizabeth y Naranjo Coello, Jimmy Andres.