0% encontró este documento útil (0 votos)
20 vistas132 páginas

99260

Cargado por

Faridi Gongora
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas132 páginas

99260

Cargado por

Faridi Gongora
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

FACULTAD DE INGENIERIA EN SISTEMAS DE INFORMACIÓN

“INTELIGENCIA ARTIFICIAL MEDIANTE REDES NEURONALES


ARTIFICIALES PARA ANALISIS PREDICTIVO DEL CONSUMO DE GAS
DELOS CLIENTES DE UNA EMPRESA INDUSTRIAL”

RONY DAVID CARÍAS VIDAL

GUATEMALA, FEBRERO 2019


UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA
FACULTAD DE INGENIERIA EN SISTEMAS DE INFORMACIÓN

“INTELIGENCIA ARTIFICIAL MEDIANTE REDES NEURONALES


ARTIFICIALES PARA ANALISIS PREDICTIVO DEL CONSUMO DE GAS
DELOS CLIENTES DE UNA EMPRESA INDUSTRIAL”

TRABAJO DE GRADUACIÓN PRESENTADO

POR:

RONY DAVID CARÍAS VIDAL

PREVIO A OPTAR AL GRADO ACADÉMICO DE

LICENCIADO EN INGENIERIA EN SISTEMAS DE

INFORMACION Y CIENCIAS DE LA COMPUTACIÓN

Y TITULO PROFESIONAL DE

INGENIERO EN SISTEMAS DE INFORMACIÓN

Y CIENCIAS DE LA COMPUTACIÓN

GUATEMALA, FEBRERO 2019


AUTORIDADES DE LA FACULTAD Y ASESOR DEL TRABAJO DE

GRADUACIÓN

DECANO DE LA FACULTAD:

ING. JORGE ALBERTO ARIAS TOBAR

SECRETARIO DE LA FACULTAD:

M.A. HUGO ADALBERTO HERNÁNDEZ SANTIZO

ASESOR:
ING. VÍCTOR HUGO AVILÉS RODAS

III
IV
REGLAMENTO DE TESIS

Artículo 8°: RESPONSABILIDAD

Solamente el autor es responsable de los conceptos expresados en el trabajo de tesis. Su


aprobación en manera alguna implica responsabilidad para la Universidad.

V
Índice

Introducción ..................................................................................................................................... 1

Capítulo I - Anteproyecto de Investigación - ................................................................................... 3

1.1 Antecedentes ...................................................................................................................... 3

1.2 Justificación ....................................................................................................................... 4

1.3 Planteamiento del problema ............................................................................................... 5

1.4 Objetivos ............................................................................................................................ 6

1.4.1 Objetivo General ........................................................................................................... 6

1.4.2 Objetivos Específicos .................................................................................................... 6

1.5 Viabilidad ........................................................................................................................... 7

1.5.1 Técnica .......................................................................................................................... 7

1.5.2 Operativa ....................................................................................................................... 7

1.5.3 Soporte........................................................................................................................... 7

1.5.4 Administrativa ............................................................................................................... 8

1.6 Alcances ............................................................................................................................. 8

1.6.1 Geográfico ..................................................................................................................... 8

1.6.2 Tecnológico ................................................................................................................... 8

1.6.3 Tiempo........................................................................................................................... 9

1.7 Hipótesis............................................................................................................................. 9

1.8 Variables ............................................................................................................................ 9

1.8.1 Variables independientes ............................................................................................... 9

1.8.2 Variable dependiente ..................................................................................................... 9

1.9 Indicadores ....................................................................................................................... 10

1.10 Supuestos ......................................................................................................................... 10

VI
1.11 Herramientas de investigación ......................................................................................... 10

Capítulo II - Inteligencia Artificial - .............................................................................................. 13

2.1 Definición de Inteligencia Artificial .................................................................................. 13

2.2 Historia .............................................................................................................................. 14

2.2.1 Época pre Informática ............................................................................................... 14

2.2.2 Época Informática ....................................................................................................... 17

2.3 Agentes Inteligentes ......................................................................................................... 19

2.3.1 Clasificación de los Agentes Inteligentes .................................................................... 20

2.4 Enfoques de la IA ............................................................................................................. 21

2.4.1 Sistemas que piensan como humanos ......................................................................... 21

2.4.2 Sistemas que piensan racionalmente ........................................................................... 21

2.4.3 Sistemas que actúan como humanos ........................................................................... 22

2.4.4 Sistemas que actúan racionalmente ............................................................................. 22

2.5 Clasificación de la IA ....................................................................................................... 22

2.5.1 IA específica ................................................................................................................ 23

2.5.2 IA general .................................................................................................................... 23

2.6 Aplicaciones de la IA ....................................................................................................... 24

2.6.1 Ciencias de la computación ......................................................................................... 24

2.6.2 Finanzas ....................................................................................................................... 25

2.6.3 Industria ....................................................................................................................... 25

2.7 Relación con otras ciencias .............................................................................................. 26

2.7.1 Matemáticas................................................................................................................. 26

2.7.2 Neurociencia ................................................................................................................ 26

2.7.3 Informática .................................................................................................................. 27

2.8 Actualidad ........................................................................................................................ 27

VII
Capítulo III - Redes Neuronales Artificiales - ............................................................................... 29

3.1 Definición general ............................................................................................................. 29

3.2 La neurona biológica ......................................................................................................... 31

3.2.1 Doctrina de la neurona ................................................................................................ 31

3.3 Anatomía de la neurona ..................................................................................................... 33

3.3.1 Pericarión .................................................................................................................... 33

3.3.2 Dendritas ..................................................................................................................... 34

3.3.3 Axón ............................................................................................................................ 34

3.4 Sinapsis .............................................................................................................................. 35

3.4.1 Clasificación de las conexiones sinápticas .................................................................. 37

3.5 Funcionamiento de las redes neuronales biológicas .......................................................... 38

3.6 Neurona Artificial de McCulloch-Pitts.............................................................................. 39

3.7 Características de la neurona artificial............................................................................... 40

3.7.1 Pesos sinápticos .......................................................................................................... 40

3.7.2 Activación ................................................................................................................... 41

3.7.3 Propagación................................................................................................................. 41

3.8 El perceptrón..................................................................................................................... 42

3.8.1 Estructura del perceptrón ............................................................................................... 43

3.9 Aprendizaje en las RNA ................................................................................................... 44

3.9.1 Aprendizaje de las RNA mediante entrenamiento ...................................................... 44

3.9.2 Tipos de aprendizaje .................................................................................................... 45

[Link] Aprendizaje supervisado ................................................................................... 45

[Link] Aprendizaje no supervisado .............................................................................. 46

3.10 Aplicaciones de las RNA ................................................................................................. 47

VIII
3.10.1 Reconocimiento de imágenes ...................................................................................... 47

3.10.2 Análisis predictivo y reconocimiento de patrones .................................................... 49

Capítulo IV - Análisis y diseño - .................................................................................................... 51

4.1 Análisis .............................................................................................................................. 51

4.1.1 Descripción de la empresa .......................................................................................... 51

4.1.2 Componentes del Software ......................................................................................... 52

4.1.3 Estructura de datos ...................................................................................................... 54

4.1.4 Arquitectura del software de Logística ........................................................................ 55

4.2 Diseño ................................................................................................................................. 57

4.2.1 Requerimientos ............................................................................................................ 57

4.2.2 Descripción de la solución ........................................................................................... 58

4.2.3 Actividades clave ......................................................................................................... 60

[Link] Obtención de la información para el análisis ....................................................... 61

[Link] Obtención de las variables de entrada .................................................................. 63

[Link] Análisis de los datos ............................................................................................. 64

[Link] Representación gráfica de los datos ..................................................................... 66

[Link] Generación de la cotización ................................................................................. 67

Capítulo V - Implementación -....................................................................................................... 69

5.1 Componentes y procedimientos.......................................................................................... 69

5.1.1 Herramienta de programación ...................................................................................... 69

5.1.2 Estructura de clases ...................................................................................................... 70

[Link] TelemetriaController ............................................................................................ 71

[Link] TelemetriaService................................................................................................. 71

[Link] equipmentForecastCtrl ......................................................................................... 72

5.1.3 Análisis predictivo ....................................................................................................... 74

IX
[Link] TensorFlow™ ....................................................................................................... 74

[Link] Configuración de la RNA ..................................................................................... 76

[Link] Proceso de entrenamiento..................................................................................... 77

[Link] Pronóstico de la RNA ........................................................................................... 80

[Link] Calculo del Error .................................................................................................. 80

5.1.4 Representación gráfica de la información.................................................................... 81

[Link] Amcharts .............................................................................................................. 81

5.1.5 Implementación final ................................................................................................... 82

[Link] Pantalla principal .................................................................................................. 82

[Link] Pantalla de selección de equipo ............................................................................ 84

[Link] Interfaz principal de pronóstico............................................................................ 84

Capítulo VI - Resultados - .............................................................................................................. 87

6.1 Pruebas................................................................................................................................ 87

6.1.1 Equipo de Oxigeno Líquido ........................................................................................... 88

[Link] Análisis predictivo................................................................................................ 88

[Link] Pronóstico ............................................................................................................. 90

6.1.2 Equipo de Gas carbónico líquido ................................................................................. 91

[Link] Análisis predictivo................................................................................................ 91

[Link] Pronóstico ............................................................................................................. 93

6.1.3 Equipo de Nitrógeno líquido ........................................................................................ 94

[Link] Análisis predictivo................................................................................................ 94

[Link] Pronóstico ............................................................................................................. 96

6.2 Propuesta técnica ............................................................................................................... 97

6.2.1 Componentes de la propuesta ...................................................................................... 97

6.2.2 Herramientas a utilizar ................................................................................................. 98

X
[Link] [Link].................................................................................................................. 98

[Link] TensorFlow™ para [Link] ................................................................................. 99

6.2.3 Requerimientos .......................................................................................................... 101

Conclusiones ................................................................................................................................ 103

Recomendaciones ......................................................................................................................... 105

Anexos .......................................................................................................................................... 107

a. Mapa mental.......................................................................................................................... 107

b. Código fuente ........................................................................................................................ 108

Glosario ........................................................................................................................................ 111

Referencias ................................................................................................................................... 115

XI
Índice de figuras
Figura 1. Máquina Analítica de Babbage ...................................................................................... 16
Figura 2. Test de Turing, representación gráfica .......................................................................... 18
Figura 3. Agente Inteligente, modelo simplificado ....................................................................... 19
Figura 4. Modelo tridimensional de una red neuronal .................................................................. 29
Figura 5. Dibujo de Ramon y Cajal de las neuronas ..................................................................... 32
Figura 6. Anatomía de una neurona .............................................................................................. 33
Figura 7. Conexión sináptica......................................................................................................... 36
Figura 8. Modelo de neurona de MacCulloch-Pitts ...................................................................... 39
Figura 9. Perceptrón simple .......................................................................................................... 43
Figura 10. Detección y comparación de rostros de Azure ............................................................ 48
Figura 11. Componentes del software de logística ....................................................................... 52
Figura 12. Estructura de los datos de telemetría. ......................................................................... 54
Figura 13. Componentes del software ........................................................................................... 55
Figura 14. Diagrama de flujo general ........................................................................................... 59
Figura 15. Diagrama de secuencia del proceso ............................................................................. 60
Figura 16. Representación gráfica de regresión lineal .................................................................. 65
Figura 17. Ejemplo de gráfico comparativo de consumo real y calculado por la RNA. .............. 66
Figura 18. Ejemplo de gráfica de pronóstico ................................................................................ 67
Figura 19. Vista del área de trabajo del IDE PhpStorm. ............................................................... 69
Figura 20. Diagrama de clases ...................................................................................................... 70
Figura 21. Logotipo de TensorFlow.............................................................................................. 74
Figura 22. Integración de TensorFlowJs a un proyecto web. ....................................................... 75
Figura 23. Representación pictórica de la RNA............................................................................ 77
Figura 24. Fórmula para el cálculo del consumo de un equipo .................................................... 78
Figura 25. Tensores de entrada y salida para la RNA ................................................................... 79
Figura 26. Gráfica de línea de Amcharts ...................................................................................... 82
Figura 27. Pantalla principal del software..................................................................................... 82
Figura 28. Menú de Telemetría ..................................................................................................... 83
Figura 29. Pantalla de selección de equipo ................................................................................... 84

XII
Figura 30. Interfaz de pronóstico .................................................................................................. 84
Figura 31. Detalle del entrenamiento y análisis predictivo. .......................................................... 85
Figura 32. Área de gráficos ........................................................................................................... 86
Figura 33. Análisis predictivo de un equipo de Oxigeno Líquido ................................................ 88
Figura 34. Pronóstico y error a 2 meses: Equipo Oxigeno Líquido .............................................. 89
Figura 35. Equipo de Oxigeno Liquido: Gráfico de pronóstico .................................................... 90
Figura 36. Análisis de un equipo de gas carbónico usando 9 meses ............................................. 91
Figura 37. Pronóstico y error a 9 meses: Equipo Gas carbónico líquido ...................................... 92
Figura 38. Equipo de Oxigeno Líquido: Segundo gráfico de pronóstico ..................................... 93
Figura 39. Análisis predictivo de un equipo de Nitrógeno líquido ............................................... 94
Figura 40. Pronóstico y error a 2 meses: Equipo Nitrógeno líquido ............................................. 95
Figura 41. Equipo de Nitrógeno líquido: Gráfico de pronóstico .................................................. 96
Figura 42. Modificaciones propuestas .......................................................................................... 97
Figura 43. Comando de instalación de TensorFlow™ para [Link] ............................................. 99
Figura 44. Uso de TensorFlow™ en [Link] .............................................................................. 100

XIII
Índice de tablas
Tabla 1. Comparativa entre el cerebro y una computadora del año 2003 ..................................... 30
Tabla 2. Información de equipo de telemetría ............................................................................... 61
Tabla 3. Detalle de lectura diaria de los equipos de telemetría ..................................................... 62
Tabla 4. Web services para la obtención de la información .......................................................... 62
Tabla 5. Parámetros del Web Service de detalle de mediciones .................................................... 63
Tabla 6. Variables de la fecha ....................................................................................................... 64
Tabla 7. Web service para la creación de una cotización. ............................................................. 68
Tabla 8. Configuraciones de la RNA ............................................................................................ 76
Tabla 9. Adecuación del valor de consumo para la RNA ............................................................. 78
Tabla 10. Adecuación de la variable de salida ............................................................................. 79
Tabla 11. Cálculo de error de la RNA ........................................................................................... 80
Tabla 12. Equipos de muestra ....................................................................................................... 87

XIV
Introducción

La inteligencia artificial (IA) podría no ser considerada como un tema de actualidad debido a
que sus orígenes se remontan a una época previa a la aparición de los sistemas informáticos. Sin
embargo, en los últimos años ha tomado gran relevancia gracias a las capacidades actuales de los
sistemas de cómputo que han permitido realizar grandes avances en el área. Este mismo auge
hace que el tema pueda ser tratado como un modelo novedoso, y que se obtengan nuevos
resultados de las investigaciones realizadas en la materia.

Los países en vías de desarrollo, como Guatemala, deben de ponerse al día con el uso de estas
tecnologías para aprender de los resultados obtenidos por otros, y adquirir experiencias propias y
de primera mano al implementar y experimentar con las herramientas que en la actualidad están a
nuestra disposición.

Esta investigación indagará sobre la aplicación de la IA en el ámbito empresarial del país,


evaluando sus capacidades en el área de análisis predictivo. Se pretende conocer la factibilidad de
aplicación de estas herramientas validando los resultados que genere utilizando la información
histórica de una empresa nacional dedicada a la producción de gases para uso médico e industrial.

En el capítulo II se realiza un recorrido sobre los conceptos de la IA, mostrando como esta ha
sido una de las metas del ser humano desde que se tiene memoria, dada su tendencia creadora e
intentos de imitar lo que existe en la naturaleza que lo rodea, es por ello por lo que se pueden
rastrear estos intentos desde épocas muy antiguas y seguir sus pasos hasta nuestros días,
encontrando diversas ideas con diversos cambios en el tiempo; ideas que representaron hitos
siendo uno de los más notables la aparición de las computadoras lo que impulsó en gran manera
el desarrollo de la IA pero sin reconciliar los diversos enfoques que se tienen sobre lo que debería
ser considerado como IA y lo que no. Es digno de mencionar que, formada por diversas
disciplinas, la IA ha tenido relación con muchas áreas del conocimiento humano aprovechando
conceptos de ellas, y aportando nuevos conocimientos en cambio. Gracias a esto, la IA ha
encontrado aplicación en diversas áreas no solo científicas, ha llegado a formar parte de la vida
diaria de millones de personas alrededor del mundo.

El capítulo III explora las investigaciones más recientes sobre IA y como se han enfocado en
las RNA, mostrando como ocurrió su evolución a partir de los estudios de las redes neuronales
biológicas que llevaron al desarrollo de la neurona artificial, elemento fundamental en la

1
2

construcción de las RNA. Fue un psicólogo quien dio paso a las primeras investigaciones
relacionadas a las RNA, aunque también se debe agradecer al español Santiago Ramón y Cajal
por sus aportes en el entendimiento de la verdadera estructura del sistema nervioso, y por
extensión de las conexiones neuronales. La combinación de estos dos hechos contribuyó a que la
teoría neuronal se aplicara a la IA puesto que se descubrió la capacidad de las RNA de aprender,
y por lo tanto adaptarse para encontrar solución a una gran variedad de problemas.
En el capítulo IV se realiza una descripción de la empresa en la que se realizó la investigación
indicando el giro del negocio y las actividades económicas que realiza, a la vez que se muestra el
análisis de los componentes que conforman el sistema informático sobre el que se implementó la
solución y los requisitos que debieron ser cumplidos mediante las actividades que fueron
definidas.
El capítulo V se centra en la implementación de la solución, indicando las herramientas
utilizadas y las razones involucradas en su elección, se muestran los componentes creados, la
configuración necesaria y la interacción entre estos. Finalmente, en el capítulo VI se realizan las
pruebas correspondientes para la validación de los resultados y se concluye con una propuesta
técnica que indica los cambios necesarios y las ventajas obtenidas de implementarse.
Capítulo I - Anteproyecto de Investigación -
1.1 Antecedentes

Las Redes Neuronales Artificiales (RNA – acrónimo con las siglas en español) son un
concepto que nació junto con la era de la informática a mediados de los años 40. Una RNA es un
sistema o modelo matemático que busca emular las funciones de las redes neuronales biológicas,
y por extensión el funcionamiento del cerebro.

Al igual que en las redes neuronales biológicas, la unidad mínima de una RNA es la neurona
artificial, equivalente matemático de la neurona biológica, modelo que ya en 1943 fue propuesto
por Warren McCulloch y Walter Pitts en un artículo científico en el que trataron de explicar el
funcionamiento de las neuronas biológicas, mediante la matemática.

McCulloch y Pitts establecieron las bases para estudios posteriores que tomarían dos enfoques
distintos: el enfoque biológico que buscaba explicar funciones cerebrales como la memoria, el
conocimiento y la personalidad; y el enfoque que se centra en el uso del modelo en la inteligencia
artificial (IA - acrónimo con las siglas en español) mediante modelos informáticos o de software
computacional.

En 1957 el psicólogo Frank Rosenblatt propuso el perceptrón, que se convierte en una de las
más conocidas entre las primeras aplicaciones de las RNA, y cuya aplicación primigenia fue el
reconocimiento de imágenes. El perceptrón nació del modelo biológico del ojo humano, al tratar
de imitar la capacidad de procesamiento de las imágenes, por lo que también es conocido como
fotoperceptrón, nombre no usual. Actualmente el perceptrón es usado en otros esquemas para
realizar funciones más allá de la original como en el aprendizaje de máquina, toma de decisiones
y reconocimiento de patrones. Prueba de la versatilidad del perceptrón es el software NETalk que
por medio de redes neuronales es capaz de convertir el texto en inglés en su representación
fonética.

Casos recientes de éxito de la aplicación de las RNA incluyen a Google, con su servicio
Google Street, donde las fotografías de las calles fueron procesadas usando IA para poder
reconocer los números de calle, y otras indicaciones ubicadas en letreros y señales, con lo que se
obtuvo una precisión de hasta 96% de éxito en esta tarea.

En la actualidad, empresas como Facebook, Twitter y Google tienen implementadas


herramientas de IA que analizan datos de los usuarios, y les permiten predecir comportamientos y

3
4

hábitos de compra, con lo que han optimizado la forma en que se ofrecen a los usuarios y
potenciales clientes, sus productos o servicios logrando incrementar sus ventas a niveles
superiores en comparados con los obtenidos si se realizara un ofrecimiento aleatorio o
tradicional.

El caso por tratar está centrado en el uso de las RNA en el contexto empresarial, y para un
caso de uso específico. Nada evitará que los datos, y resultados obtenidos puedan ser aplicados en
otras áreas empresariales o científicas en donde se cuente con una fuente de datos históricos, y
que puedan ser aprovechados para realizar análisis predictivos.

Aunque las bases de conocimiento de las Redes Neuronales Artificiales fueron establecidas en
los años cuarenta; es en la primera década del siglo XXI cuando ha tomado auge su estudio; y,
por lo tanto, pueden ser consideradas como un tema actual del cual se pueden obtener resultados
interesantes, y brindar un aporte a la sociedad guatemalteca.

1.2 Justificación
Esta investigación pretende proporcionar una prueba más de las capacidades de las RNA en el
reconocimiento de patrones, el análisis de datos, y la extracción de sus características con el fin
de poder dar una predicción del resultado de casos particulares relacionados con el origen de
estos. Dado que, en Guatemala no existen suficientes casos conocidos de aplicación de esta
tecnología en el área empresarial, se considera que los resultados podrán demostrar la viabilidad
de su uso, y la evaluación de la eficacia en su implementación.

Un análisis predictivo eficaz mediante el uso de técnicas de IA, y orientado a los negocios,
permitirá dar una ventaja competitiva en la medida que las decisiones tomadas, y las estrategias
generadas serán más acertadas; y se minimizará la incertidumbre, que es la razón principal en la
dificultad de elección.

Grandes empresas como Google, Facebook, Twitter y otras de similar o menor magnitud
dentro del área de tecnologías de la información, y que generan cantidades enormes de datos, han
implementado soluciones de IA, y han obtenido resultados interesantes que han dado la pauta
para que se incremente el interés en las técnicas de aprendizaje de máquina (machine learning
ML), reconocimiento de imágenes, reconocimiento de patrones y análisis predictivo.
5

En la empresa existe el interés de aprovechar el volumen de datos sobre la venta de gases,


como una herramienta de seguimiento a los clientes con el fin de mejorar la atención a quienes
los consumen. Ofreciendo un reabastecimiento oportuno se puede aumentar la posibilidad de que
las adquisiciones sean siempre con la empresa, manteniendo relaciones comerciales con ellos.

1.3 Planteamiento del problema

El éxito de las empresas depende de muchos factores, y uno de ellos es la correcta toma de
decisiones estratégicas en las operaciones de la organización. Los directores o gerentes de las
diversas áreas podrían optar por tomar las decisiones al azar, pero esto deja un exagerado margen
para cometer errores y fracasar en los proyectos. Lo usual es apelar a la experiencia de las
personas, lo cual incrementa las posibilidades de éxito. Estas decisiones vendrán siempre
inducidas con base en la observación de los comportamientos de los sistemas involucrados, y los
datos que se han generado anteriormente.

La empresa en cuestión es una empresa guatemalteca con múltiples actividades económicas,


entre las que destaca la producción, y venta de gases médicos e industriales; productos que son
adquiridos por diversos tipos de clientes, particulares o de sectores como el médico e industrial.
La empresa cuenta con una cartera de clientes que adquieren sus productos en volúmenes, y
presentaciones diferentes, así como en frecuencias variables.

El personal de ventas de la empresa mantiene un esfuerzo constante para lograr incrementar el


volumen de ventas o mantener el volumen actual. La fidelidad de los clientes es un factor
importante para cumplir el objetivo; y el esfuerzo del personal, se traduce en un consumo
constante de recursos y el riesgo de no ofrecer de manera precisa el producto a los clientes, al
dejar en manos de otras empresas brindar el suministro al permitir la posibilidad de disminución
de las ventas.

En la actualidad, no existe en la empresa ninguna herramienta que permita dar un pronóstico


sobre el consumo del producto o duración de la dotación del cliente, y la incertidumbre sobre este
dato influye en el incremento del esfuerzo y consumo de los recursos.

Actualmente, cuentan con registros detallados de ventas, pero estos solo tienen uso de manera
de historial de negocios y, datos de importancia monetaria; en lugar de aprovecharse como un
método para poder prever un patrón de consumo de los clientes, y anticiparse a ofrecer el
6

producto de manera acertada, desperdiciando el potencial que ofrecen herramientas de análisis


predictivo mediante IA. Por lo tanto, se formula el planteamiento del problema: La carencia de un
modelo, o método para pronosticar el tiempo de duración del suministro de producto de un
cliente, se traduce en un incremento de los recursos empresariales, y una probable pérdida de
fidelidad de los clientes debido a la presencia de competidores que intentan incrementar sus
ventas.

1.4 Objetivos

1.4.1 Objetivo General

Evaluar la posibilidad de implementación de técnicas de IA en una empresa nacional


productora de gases médicos e industriales, mediante el entrenamiento de una RNA con la
información de consumo de producto de los clientes, para generar predicciones que permitan la
mejorar la atención al cliente mediante un abastecimiento oportuno a la vez que se reduzca el
consumo de recursos de logística.

1.4.2 Objetivos Específicos

 Analizar las capacidades de una RNA en la predicción de patrones de consumo de los


productos ofrecidos por una empresa productora de gases en Guatemala, con el fin de
determinar la confiabilidad de los resultados obtenidos; y medir la posibilidad de
aplicación de técnicas de IA, como apoyo a las operaciones de una empresa nacional.

 Utilizar la información histórica de consumo de gases de los clientes de la empresa en el


entrenamiento de una RNA para el reconocimiento de patrones de consumo, al utilizar
información de las bases de datos en un rango de al menos un año, como valores de
entrada para el entrenamiento de la red.

 Crear en el software de logística de la empresa, un módulo que integre IA mediante


herramientas de RNA, modulo que apoye a los vendedores de la empresa en la atención a
los clientes, mediante pronósticos oportunos que permitan ofrecer los productos en el
tiempo preciso para aumentar la probabilidad de cierre de negocios, y por lo tanto un
incremento en el volumen de las ventas.
7

1.5 Viabilidad

1.5.1 Técnica

El funcionamiento de una RNA para el análisis predictivo de un sistema requiere de un


esfuerzo computacional cuya intensidad dependerá del nivel de complejidad del sistema, y la
cantidad de datos a utilizar. Se debe destinar un equipo de cómputo que realice esta labor. La
empresa cuenta con equipo de cómputo disponible con distintos niveles de poder computacional
para utilizarse en todo el proceso de investigación e implementación del sistema predictivo. El
equipo de cómputo de la empresa es además constantemente actualizado para ajustarse a las
exigencias de las operaciones y, la utilización de un sistema de ejecución distribuida permitirá
que el funcionamiento de la herramienta no interfiera con las operaciones normales.

Toda la parte que se necesita sea ejecutada en los servidores de aplicativo tampoco se verá
afectada, debido a que los mismos cuentan con los recursos de CPU suficientes para el
funcionamiento. De aparecer procesos que requieran un esfuerzo computacional mayor, se
realizarán de manera automática y en horarios no laborales.

1.5.2 Operativa

La operación de la Red Neuronal exige que exista personal que alimente con información al
sistema, personal que configure la Red Neuronal y que conozca la forma de obtener los
resultados. La alimentación de datos al sistema, y la operación para la obtención de datos queda
totalmente cubierta por el personal actual que maneja los sistemas de ventas, y el ERP de la
empresa. Pues cuentan con la experiencia de años de operación de estos sistemas, además de que
el funcionamiento de la Red Neuronal será transparente para ellos.

Para la configuración de la Red Neuronal, la responsabilidad queda en manos del personal del
departamento de informática que cuenta con recurso humano, con las capacidades necesarias para
cumplir con el requerimiento.

1.5.3 Soporte
La RNA será programada mediante una librería de código abierto proporcionada por Google
con soporte por parte de los ingenieros de la empresa como parte de la investigación de IA que es
8

realizada por Google quien además se beneficia al contar con el apoyo de miles de
desarrolladores alrededor del mundo quienes aportan constantemente mejoras.

El código fuente de la librería está disponible por lo que puede ser descargado y ser mejorado
por cuenta propia de ser necesario o mantenido en caso de que el proyecto original sea
abandonado por Google dejando siempre la abierta la posibilidad de que el proyecto sea tomado
por otros siempre bajo el modelo de librería de código abierto.

1.5.4 Administrativa

Algunos de los datos utilizados pueden ser considerados sensibles, aún con la aprobación de la
Ley de Protección de Datos Personales (Iniciativa 4090) no existiría ninguna repercusión legal
pues no se viola ninguna de las regulaciones establecidas, en la que a la fecha es una propuesta de
ley, ante la posibilidad de la aprobación de la ley, el cumplimiento de las obligaciones indicadas
esta, no representaría ningún problema de operación o funcionamiento de la Red Neuronal.

1.6 Alcances

1.6.1 Geográfico

La empresa cuenta con sucursales en otros países y la oferta de productos tiene algunas
diferencias en cada uno. Los datos utilizados se limitarán únicamente a los generados en
operaciones de ventas en Guatemala y los productos ofrecidos por la empresa en nuestro país.

1.6.2 Tecnológico

En la actualidad la empresa cuenta con diversos sistemas de software que apoyan en sus
operaciones comerciales, pero aún no existe una herramienta de seguimiento o análisis
predictivo, y en la búsqueda de la innovación apunta al uso de la IA como método para poder
predecir el consumo de sus productos por parte de los clientes.

El entrenamiento de la Red Neuronal se realizará mediante el método de aprendizaje


supervisado, al utilizar la información obtenida desde la base de datos vía un Web Service para
agregar el factor de interoperabilidad entre diversas tecnologías.

Para el funcionamiento de la Red Neuronal se busca crear un patrón de computación


distribuida para disminuir la carga de procesamiento en los servidores. La programación será
9

realizada en Java Script para facilitar la integración con el software de logística de la empresa,
de esta manera se podrá ejecutar en cualquier navegador Web que interprete el lenguaje utilizado.

1.6.3 Tiempo

Se invertirán 5 meses en el desarrollo de la investigación, distribuidos en 3 meses para el


diseño, programación y entrenamiento de la Red Neuronal, 1 mes en la integración con el
software de logística de la empresa; y 1 mes para el análisis de la confiabilidad de las
predicciones de la Red Neuronal basados en los resultados obtenidos en su operación.

Al finalizar este año se contará con el análisis de la eficacia de las RNA en la predicción del
consumo de gases por parte de los clientes, al usar los datos históricos de sus adquisiciones, al
comparar y cotejar el porcentaje de aciertos en las predicciones generadas por la RNA con el fin
de reducir la incertidumbre en la toma de decisiones.

1.7 Hipótesis

Una IA basada en una RNA del tipo perceptrón podrá predecir el consumo de gases de los
clientes de la empresa con un nivel de precisión superior al 70%, al utilizar para el entrenamiento
de la Red, los datos el consumo de gases correspondientes al año 2017. El nivel de precisión
obtenido aumentará en función de una mayor cantidad de datos utilizados en el entrenamiento de
la RNA.

1.8 Variables

1.8.1 Variables independientes

 El volumen de registros con el que se entrenará la RNA.


 El número de variables de entrada para la RNA

1.8.2 Variable dependiente

El porcentaje de precisión de las predicciones realizadas por la RNA reflejado en el número de


veces en que los valores proporcionados como resultados a los datos de entrada, se acercan a los
valores esperados y apegados a la realidad.
10

1.9 Indicadores

 En el año 2016, en materia de inversión orientada a investigación y usos de la inteligencia


artificial, el Aprendizaje de máquina (machine learning) atrajo casi el 60% del total de las
inversiones, mientras que las aplicaciones de visión artificial llegaron a niveles superiores
al 25%. Otras aplicaciones de la IA no alcanzaron el 10% de las inversiones (vehículos
autónomos: 3%, robótica: 3%, agentes virtuales: 1%, procesamiento de lenguaje natural:
6%). (MacKinsey Global Institute, 2017)

 Empresas de tecnología como Google y Baidu (motor de búsqueda Web chino) han
invertido en temas de investigación y aprovechamiento de la IA entre $20 mil millones y
$30 mil millones en el 2016, mientras que inversionistas de riesgo invirtieron entre $4 mil
millones a $5 mil millones en el mismo año. En ambos casos son cantidades que triplican
las cifras del año 2013. (MacKinsey Global Institute, 2017).

1.10 Supuestos

 Hasta un 30% de las decisiones financieras podrían llegar a tomarse mediante IA, ya que
puede realizar predicciones de hasta 5 días de diversos indicadores de un negocio como el
valor de sus acciones.

 Los expertos, en su mayoría coinciden en que la IA será capaz no solo de realizar las
mismas acciones de la inteligencia humana, si no que pronto la superará, al tomar como
referencia que hoy en día estamos rodeados de herramientas de IA como los asistentes
virtuales: Siri de Apple y Cortana de Microsoft.

 En los próximos años es posible que casi un 50% de los análisis realizados por las empresas
y que requieran de algún tipo de predicción o anticipación, estén basados en los métodos
que emplean en alguna forma técnicas de IA.

1.11 Herramientas de investigación

Se realizará una investigación de carácter exploratorio, ya que los usos de la IA en el sector


empresarial en Guatemala se encuentran poco documentados, y no existen investigaciones
previas que sirvan de referencia o antecedente. Esto debido a que las aplicaciones de la IA en las
empresas es un tema poco explorado en nuestro país.
11

Se tratará el tema en una empresa que no usa ningún tipo de herramienta de IA al indagar
sobre su uso en la resolución del problema planteado; el cual genera nuevas ideas que podrán ser
replicadas en sectores similares o adaptadas a otras organizaciones en el ámbito empresarial de
Guatemala. Se utilizará el lenguaje de programación Java Script para modelar la estructura de
una RNA con entradas correspondientes a los detalles de la información de ventas de la empresa.
Los experimentos por realizar serán por lo tanto realizados sobre tecnologías Web, y se ejecutarán
en un navegador Web. Se utilizarán diferentes configuraciones en el modelado de los datos, al
entrenar a la RNA de manera supervisada mediante valores conocidos para compararse con los
entregados por el sistema, tal como lo define esta modalidad de aprendizaje de máquina.
12
Capítulo II - Inteligencia Artificial -

2.1 Definición de Inteligencia Artificial


La Inteligencia Artificial (IA), es una disciplina de la informática que busca el desarrollo de
sistemas o máquinas que puedan cumplir con tareas que normalmente son realizadas por un ser
humano. El nombre de la disciplina está compuesto por dos términos comunes cuyo significado
por separado puede servir, como punto de partida para tener una idea general de su objetivo o
razón de existir.

El término “Inteligencia” hace referencia a la capacidad de resolver problemas (aunque esta


definición tiende a ser debatida) y la palabra “Artificial” nos hace notar el hecho de que es
creada, y carece de un origen natural, al englobar esta última palabra un significado aun mayor,
pues indica que es algo que pretende sustituir a lo natural. Aunque no necesariamente deberá
cumplir con todas las características del elemento al que se pretende emular.

La IA es también descrita en ocasiones como “Inteligencia Computacional”, debido a su


relación con las ciencias computacionales, y porque el uso de estas es primordial para alcanzar el
objetivo de emular las funciones cognitivas que poseen los seres humanos. En la actualidad, la
IA es una disciplina en pleno desarrollo, y de importancia para áreas distintas a las ciencias
computacionales, puesto que ha superado las expectativas planteadas originalmente por quienes
iniciaron con las investigaciones, y las capacidades en las que ha demostrado ser buena, pueden
aportar nuevos conceptos.

Existen varias definiciones respecto de que es la IA, casi siempre dada en función del enfoque
que se le está dando o en el ámbito en que se desarrolla, Takeyas la define como: “(…) una rama
de las ciencias computacionales encargada de estudiar modelos de cómputo, capaces de realizar
actividades propias de los seres humanos con base en dos de sus características primordiales: el
razonamiento y la conducta.” (Takeyas, 2007, pág. 1)

Otra definición igual de válida: “Disciplina científica que se ocupa de crear programas
informáticos que ejecutan operaciones comparables a las que realiza la mente humana, como el
aprendizaje o el razonamiento lógico.” (Real Academia Española, 2014).

Tanto en el concepto de Takeyas, como la definición de la Real académica española, se nos


deja entrever la importancia de que las acciones que se logren mediante la IA sean apegadas al

13
14

comportamiento humano. Aunque algunas investigaciones usen modelos simplificados obtenidos


en el estudio de los animales, se ven como un paso previo antes de alcanzar las capacidades
humanas.
Los conceptos y definiciones de IA también son influidos con el paso del tiempo, y han
cambiado de la mano de los diversos autores. Aunque todos coinciden en la búsqueda del
entendimiento de la inteligencia humana, como funciona la mente, los procesos que
desencadenan las acciones lógicas, y que es lo que realmente debería considerarse como IA.

2.2 Historia

El término “Inteligencia Artificial” no es contemporáneo, fue utilizado por primera vez en el


año de 1996 por el Científico Informático John McCarthy en un taller que fue realizado en
Dartmouth College, donde se presentaron diversos avances de la época en diversos
campos que incluían el estudio de la inteligencia y la teoría de autómatas.

El taller de Dartmouth no produjo ningún avance notable, pero puso en contacto a las figuras
importantes de este campo. Durante los siguientes 20 años, el campo estuvo dominado por
estos personajes, así como por sus estudiantes y colegas del MIT, CMU, Stanford e IBM.
Quizá lo último que surgió del taller fue el consenso en adoptar el nuevo nombre propuesto
por McCarthy para este campo: Inteligencia Artificial (Russell & Norvig, 2008, pág. 20).

Cada uno de esos investigadores realizaba por su propia cuenta diversos estudios relacionados
con la inteligencia humana, su funcionamiento y las formas de replicarlo, sin llegar a un consenso
del nombre con el que debían asignar a la rama de la ciencia que estaban tratando. Para algunos,
sus trabajos debían englobarse dentro de la matemática, para otros eran estudios sobre Psicología,
otros mantenían cierta firmeza en creer que sus trabajos simplemente eran otra rama más de la
Biología, por lo que McCarthy llegó a generar cierto orden, aclarando la incertidumbre imperante
entre sus colegas, y lo hizo de la manera más democrática: englobando todo en una nueva
ciencia, la IA.

2.2.1 Época pre Informática

McCarthy es considerado por muchos como el padre de la IA, pero el concepto de la


creación de máquinas que piensen o el estudio de la inteligencia humana es aún más
15

antiguo que el término mismo. En épocas muy remotas la humanidad concibió historias
de máquinas o artefactos a los cuales por medio de magia se les otorgaban
capacidades humanas, historias que se pueden encontrar en textos griegos, judíos y de
otras culturas alrededor del mundo.

Aparte de la magia y explicaciones esotéricas, el filósofo griego Aristóteles (384-


322 a. C) escribió una serie de obras sobre el pensamiento, y el razonamiento humano;
trabajos que se agrupan en un tratado bajo el nombre “Órganon” (herramienta), siendo
estos estudios los que lo llevaron a ser considerado el padre de la Lógica. Aristóteles
definió un conjunto de reglas que describen de manera parcial el funcionamiento de la
mente humana, y como esta llega a conclusiones racionales.

Aunque las reglas definidas por Aristóteles son simples, permitían definir claramente
la validez de ciertos enunciados; por lo que en su momento se consideraron exactos y
fueron ampliamente aceptados por muchos eruditos de la época.

El principal aporte del trabajo de Aristóteles fue su intento de lograr definir de


manera conceptual el razonamiento, sus trabajos siguen vigentes en la actualidad, pero
el estudio de la inteligencia humana cambio luego con la aparición de otras ciencias
como la Mecánica que buscaba formas de encontrar solución a los problemas mediante
artilugios, siendo muchos de estos problemas aquellos que su resolución solo era
posible mediante inteligencia humana.

Un hito importante para la IA se dio en la edad media; pues, “basándose en los


trabajos de Roger Bacon, Ramón Llull terminó desarrollando una de sus obras clave (al
menos, desde la perspectiva de la ingeniería y la inteligencia artificial); el Ars Magna”
(Velasco, 2014). Llull defendía la teoría de que el conocimiento puede ser obtenido
mediante medios mecánicos, su máquina funcionaba mediante una serie de palancas y
con ella, se pretendía verificar la veracidad de los enunciados. Al ser Ramón un
hombre religioso, tanto el nombre como el objetivo de la maquina hacen alusión a
tratados filosóficos y teológicos, pues su búsqueda era demostrar las verdades de
ambas ciencias.

Un área que fue beneficiada por los estudios de la IA mediante la generación de importantes
avances, es la automatización del cálculo matemático que dejó de ser una destreza exclusiva de
16

los seres humanos, y vio la llegada de las máquinas de calcular mecánicas, dispositivos como la
pascalina inventada en 1642 por el filósofo y matemático francés Blaise Pascal (1623-1662),
máquina que permitía realizar las operaciones aritméticas básicas a una velocidad superior a la
que un humano las realizaría, sobre todo con cantidades de muchas cifras.

El trabajo realizado por Pascal creó un nuevo interés en la construcción de máquinas con
capacidades de cálculo, siendo notable el trabajo del matemático Charles Babbage quien realizó
dos grandes aportes; primero con el diseño de una máquina diferencial capaz de calcular
funciones polinómicas, y su segundo aporte, la evolución de su máquina diferencial hasta el
diseño de la más famosa de sus obras: La Máquina Analítica, la cual para muchos es la
precursora de las computadoras modernas en una época en la que la electricidad no había tomado
la importancia que tiene en los tiempos modernos.

La Máquina Analítica de Babbage de la cual observamos una réplica en la figura 1, tenía un


diseño tan intrincado que debido a dificultades técnicas fue imposible llevar a cabo su
construcción, aunque ello no evitó que Babagge sea considerado como unos de los padres de la
informática moderna.

Figura 1. Máquina Analítica de Babbage


(Maquina Diferencial, 2018)
17

2.2.2 Época Informática

La aparición de las computadoras fue un evento gradual en el que surgieron diversos


dispositivos que utilizaron tecnologías eléctricas y mecánicas. En los albores de la informática
previa al auge de la computación, un hombre inglés destacó entre tantos, Alan Turing (1912-
1954) un matemático, lógico, criptógrafo, filósofo y científico de la computación, un hombre que
ha sido considerado junto a Babbage, uno de los padres de la informática. Turing es conocido
por haber ideado un modelo teórico de computador capaz de resolver cualquier problema que una
computadora digital sea capaz de resolver, esta máquina se conoce como “Máquina de Turing”.

La máquina de Turing rompió el paradigma en que las máquinas podrían construirse para
resolver algún problema en específico, pero era una imposibilidad la construcción de una que
pudiera resolver cualquier problema. Turing en su modelo ideó una máquina universal que
hipotéticamente sería capaz de resolver cualquier problema “computable”. Con una memoria
infinita y la capacidad de ser reprogramada, la máquina de Turing se convirtió por antonomasia
en el modelo de computadora actual.

En el campo de la IA, Turing cuestionó el hecho de que si las máquinas podrían llegar a
pensar, y fue un paso más allá proponiendo una manera de verificar si realmente pensaban, en su
artículo “Computing Machinery and Intelligence” describe lo que él llamó “El juego de la
imitación”. Turing realizó un ejercicio mental en el que 3 personas juegan; un hombre (a quien
identificamos como A), una mujer (a la cual le asignamos una B) y un interrogador (representado
como C) del cual no importa el género. El interrogador deberá analizar las respuestas de B y C a
sus preguntas, y determinar quién es el hombre y quien es la mujer, para eliminar el factor de la
voz Turing sugiere que las respuestas se reciban por medios escritos.

Ahora nos hacemos la pregunta, “¿Qué pasará cuando una máquina tome la parte de A en este
juego? ¿El interrogador decidirá erróneamente con tanta frecuencia cuando el juego es jugado,
así como cuando el juego es entre un hombre y una mujer?” Esa pregunta reemplaza nuestra
pregunta original “¿Pueden las máquinas pensar?” (Turing, 1950, pág. 1)

En la figura 2, observamos este ejercicio propuesto por Turing, en la actualidad se conoce


como “Test de Turing”, y brindó una herramienta usada en la actualidad para determinar la
eficacia de algunas IA desarrolladas y hace que, para algunos, Turing sea el padre de la IA por
18

ser un defensor de la idea sobre la posibilidad de emular el pensamiento humano por medio de la
computación.
Turing también nos proporciona una visión nueva para la construcción de máquinas
inteligentes al proponer un modelo en el que en lugar de construir un sistema que emule el
cerebro humano adulto, se imite el desarrollo humano mediante el aprendizaje.
En lugar de tratar de producir un programa para simular la mente adulta, ¿Por qué no más bien
tratar de producir uno que simule la de un niño? Si este se sometiera a un apropiado curso de
educación uno obtendría el cerebro adulto. (Turing, 1950, pág. 19).

Turing ofreció una visión interesante en la cual no solo la máquina imitaría al ser humano,
también proporcionó una forma de generar lo que él consideraba como una verdadera I: la
imitación de la naturaleza, y cómo mediante el aprendizaje se llega a obtener un razonamiento y
una inteligencia capaz de resolver los problemas a los que un ser humano se enfrenta.

Entre la década de los 80‟s y 90‟s se dio un gran interés en el desarrollo de sistemas expertos
capaces de solucionar problemas mediante una emulación del razonamiento humano. En la última
década del siglo XX y a inicios del siglo XXI, los estudios de IA se han centrado principalmente
en las capacidades de aprendizaje de los sistemas computacionales, y su aplicación en la
resolución de problemas inherentes a la lógica humana.

Figura 2. Test de Turing, representación gráfica


(Rouse, 2017)
19

2.3 Agentes Inteligentes

La palabra agente proviene del latín “agere” que significa hacer, y por lo tanto podemos
considerar a un agente como un sistema capaz de realizar acciones. Para el caso de estudio de la
IA se considera tanto a un sistema computacional, como a un elemento físico capaz de reaccionar
al entorno que lo rodea principalmente de manera autónoma; y sin la intervención de otro agente,
a no ser que dicha interacción sea de manera cooperativa.

Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores, y


actuar en ese medio utilizando actuadores (Russell & Norvig, 2008). Para un humano los
sensores son los sentidos que le ayudan a percibir el mundo, la vista, el tacto, el gusto, el olfato,
entre otros, y el símil para una IA basada en software serian elementos de entrada al sistema
computacional, como un teclado, el mouse, cámaras web y cualquier dispositivo o periférico que
le informe sobre el ambiente en el que se encuentra. Las reacciones de una agente deberán ir en
función de los datos recibidos, y deberán ser racionales y adecuadas a la solución de algún
problema.

Virtual o físico, la característica que relaciona a los agentes inteligentes con la IA es su


capacidad de tomar decisiones, y su definición no es limitada a las máquinas porque se puede
extender al ser humano o a los animales. Algunos ejemplos para un agente inteligente son:
 Un control ambiental en un laboratorio.
 Un sistema de asistencia para el frenado en vehículos.
 Un juego de computadora capaz de jugar ajedrez.

Figura 3. Agente Inteligente, modelo simplificado


(Russell & Norvig, 2008, pág. 38)
20

2.3.1 Clasificación de los Agentes Inteligentes

Un Agente Inteligente debe cumplir con 3 características principales:


 Inteligencia, la capacidad de resolver problemas de manera lógica o razonable.
 Interactividad, por su habilidad para reaccionar a los cambios en su entorno.
 Autonomía, pues debe cumplir con su funcionalidad sin intervención directa de otro
agente (aunque se acepta la colaboración entre agentes).

Una vez que un Agente cumple con esas características es posible agruparlos en diversas
categorías según sus características:

 Agentes reactivos: Es la forma más sencilla de agente, solo son capaces de reaccionar a
los estímulos actuales, y no pueden tomar en cuenta aquellas percepciones pasadas debido
a que no poseen algún medio de aprendizaje o memoria, por lo que no puede generar
ningún tipo de experiencia. El ejemplo más claro es el tipo de agente mostrado en la
figura 2.
 Agentes reactivos que se basan en un modelo: Son una mejora en el agente reactivo
básico; este agente puede almacenar información previa de su entorno y mantener un
estado interno que le servirá para mantener visibilidad de alguna sección de su entorno
que no puede ver. Poseen al menos una memoria primitiva que permite que sus decisiones
sean modificadas en lo ya percibido al crear cierto tipo de experiencia elemental.
 Agentes que se basan en objetivos: Son los agentes a los que se les proporcionan
detalles sobre la meta que deben alcanzar, y tienen una meta específica con la cual deben
cumplir; y toda la información que recibe de su entorno se enfoca en llegar a culminar con
lo que se le marcó como meta.
 Agentes que se basan en utilidad: Es el tipo de agente que puede tener varias soluciones
finales para la resolución del problema, pero es capaz de elegir la que optimice sus
recursos. También pueden tener algún tipo de memoria con lo cual podría realizar la
misma tarea varias veces al verificar cual es la forma óptima.
 Agentes con capacidad de aprender: Este tipo de agente puede empezar su
funcionamiento solamente con la instrucción sobre cuál es su meta, y llegar por sus
propios medios a encontrar la solución que satisfaga la necesidad para la que se creó. Es
capaz de modificar su propio comportamiento, según las experiencias que tiene. Además
21

de ser reprogramables, tendrán la característica de que lo hacen por sí mismos sin


intervención humana, quizá son los más complejos de todos los agentes.
 Agentes de consultas: Su principal función es responder preguntas, como su nombre lo
indica, realizan operaciones de consulta en bases de datos de conocimientos de acuerdo
con las peticiones que se le hacen, pueden aprender con base en las experiencias de otros
e incluso de las propias, según sus aciertos o errores. Principalmente están basados en
software con capacidades de interacción humana, mediante texto o lenguaje natural, y en
la actualidad son conocidos como sistemas expertos.

Un agente inteligente puede ser una mezcla de varios tipos, y será decisión del diseñador
elegir el patrón o combinación que asegure obtener los resultados esperados y en el tiempo
óptimo.

2.4 Enfoques de la IA

A lo largo de la historia se han utilizado diversos conceptos sobre lo que es la IA, y se han
seguido diversos enfoques para definirla. Mientras que algunos autores prefieren asociar sus
conceptos refiriéndose a procesos mentales y al razonamiento; otros han puesto su atención en las
definiciones que se apegan a la conducta. Existen dos formas de tratar con ambos enfoques, por
un lado, se toma como referencia el comportamiento de la IA y como se asemeja a la forma de
actuar de los humanos; y por el otro se considera aquellos casos que usan el concepto ideal de
inteligencia o racionalidad.

2.4.1 Sistemas que piensan como humanos

La complejidad de este enfoque es determinar cómo piensan los humanos, un tema que aún no
tiene una explicación completa más allá de extensos estudios que ofrecen diversos modelos que
no aportan una visión completa del proceso del pensamiento. Si existiera una teoría completa
sobre esos mecanismos, se podría modelar por medio de un programa de computadora, y evaluar
los resultados acordes a las reacciones humanas.

2.4.2 Sistemas que piensan racionalmente

Fundamentalmente este enfoque se basa en la lógica, como la definida por Aristóteles quien
por medio de sus silogismos trató de estructurar el pensamiento humano a través de la
22

argumentación para la obtención de conclusiones correctas, al partir de las premisas dadas. Si las
premisas eran las correctas, el resultado también lo es. Incluso se crearon notaciones para definir
elementos del mundo y relacionarlos entre sí, tal como se hace en la Matemática con los valores
numéricos.

2.4.3 Sistemas que actúan como humanos

El test de Turing se basa en la capacidad que podría tener una máquina para interactuar con un
ser humano, y no hacer notar el hecho de no serlo; el test no discute si la máquina es realmente
inteligente y valora más su capacidad para comportarse como un ser humano. Por ello existe
cierto debate sobre si esta forma de ver la IA es correcta, y si una máquina que logre pasar el Test
de Turing realmente será poseedora de una IA verdadera. El Test de Turing es el primer modelo
pensado, pero existen otros intentos de evaluación que implican la verificación de otros
comportamientos, como la capacidad de expresar sentimientos o la postura tomada por una IA
con respecto a temas psicológicos de los humanos.

2.4.4 Sistemas que actúan racionalmente

“Un sistema es racional si hace «lo correcto», en función de su conocimiento.”


(Russell & Norvig, 2008, pág. 2). De un agente inteligente se espera autonomía, y que sea capaz
de cumplir con su objetivo al proporcionar la mejor respuesta o la más optima, se espera que
tome las decisiones correctas haciendo uso de la información de la que dispone por medio de la
inferencia basado en los datos que posee, uno de los principales problemas con este enfoque es:
¿Quién define lo que es racional? mucho de lo que se cree correcto o racional viene dado por las
creencias personales del individuo, entonces sería interesante incluir el factor de las propias
creencias de la IA, y que tanto se ve influida la respuesta por quienes la hayan creado.

2.5 Clasificación de la IA

La IA puede ser clasificada de diversas formas; dejando a un lado los diversos enfoques,
también existe una clasificación de acuerdo con las capacidades que tienen o que en teoría
podrían llegar a tener las diversas tecnologías.
“Inteligencia Artificial es, más que nunca, un término de moda. Pero detrás de dos simples
palabras hay mucha profundidad que no puede ser catalogada bajo una simple perspectiva.” (Sabán,
23

2016). Es interesante ver como aún en la actualidad existen algunas discrepancias entre cual es la
verdadera definición de una IA.

Actualmente, se tienen dos conceptos que son ampliamente aceptados: IA específica e IA


general. Según como se definirán ambos conceptos, los avances actuales en IA han producido IA
del tipo específico, mientras que, para IA general, solo se tienen definiciones teóricas puesto que
no se han tenido resultados concluyentes y satisfactorios en las investigaciones.

2.5.1 IA específica

Es aquí donde se han dado la mayoría de los avances y resultados positivos en la IA, tal como
su nombre lo indica. Este tipo de IA se enfoca principalmente en la resolución de un solo
problema específico, en ocasiones también es llamada IA estrecha o débil, y sus usos son
dedicados a la resolución de una sola tarea en la que suelen ser muy buenas, pero si se les pide
que hagan otra cosa se vuelven completamente inútiles. Hoy una computadora es capaz de
ganarle al mejor jugador de ajedrez humano, pero no le ganaría en algo más simple como un
juego de damas chinas.

Aquellos que defienden este tipo de IA piensan que nunca podrá construirse un programa o
agente que tenga realmente una conciencia, pues lo único que se logrará serán emulaciones de los
procesos cognitivos. Una computadora con este tipo de IA podrá simular un razonamiento, pero
nunca tendrían un razonamiento cognitivo por sí mismo. La IA específica es la que mayor
atractivo ha generado en el mundo y así como el interés de muchas empresas en invertir en el
tema.

2.5.2 IA general

Es la IA que hemos visto en la mayoría de las películas de ciencia ficción, una IA que posee
mente propia y conciencia. Una computadora con este tipo de IA podría tener capacidades
humanas, como imaginación y un razonamiento más allá de la simulación.
También es llamada IA fuerte, y podría tener conciencia de sí misma, aunque se ve como algo
no alcanzable en el corto plazo, pues aún no se ha logrado descifrar el mecanismo de la
inteligencia humana. Tareas tan simples como reconocer un animal son realizadas con facilidad
por niños con tan solo observarlos una vez, mientras que para una computadora actual con visión
24

artificial le tomará mucho entrenamiento y tiempo, observará miles de imágenes del animal antes
de poder tener un nivel de reconocimiento aceptable, y aun inferior a un niño humano.

La IA general genera sentimientos encontrados en la humanidad, mientras algunos la ven


como una posibilidad buena, otros la consideran como una amenaza para la existencia propia del
ser humano, aunque esto último no ha evitado que se sigan dando esfuerzos en encontrar la forma
de alcanzar este nivel.

2.6 Aplicaciones de la IA

Las capacidades de la IA para realizar tareas humanas como el reconocimiento de imágenes,


reconocimiento de patrones, análisis predictivo e interpretación de lenguaje natural, ha influido
en la utilización de esta en muchos campos y a estar presente en muchas aplicaciones y
herramientas que se usan a diario.

En la mayoría de los casos la IA pasa de manera desapercibida para nosotros. Nick Bostrom,
director del Future of Humanity Institute de la Universidad de Oxford en el Reino Unido, dijo:
“Una gran cantidad de IA de vanguardia se ha filtrado en aplicaciones generales, a menudo sin
ser llamada IA, porque una vez que algo se vuelve lo suficientemente útil y lo suficientemente
común ya no se etiqueta como AI”. (CNN, 2006). Este mismo hecho podría ser uno de los
motivos por el que es difícil definir lo que es una IA; al ser tan cambiantes las expectativas y lo
que se acepta y se da por hecho como parte de las capacidades de las aplicaciones que manejamos
día a día.

La IA ha impactado en muchas de las actividades actuales; esto se ha incrementado en los


últimos años debido a que básicamente para su estudio se utilizan computadoras, y la ubiquidad
de estas ha hecho que una gran parte de la población mundial se encuentre usando la IA incluso
sin darse cuenta.

2.6.1 Ciencias de la computación

El advenimiento de las investigaciones sobre IA hizo notar la necesidad de una plataforma


para su funcionamiento. “Para que la inteligencia artificial pueda llegar a ser una realidad se
necesitan dos cosas: inteligencia y un artefacto. El computador ha sido el artefacto elegido.”
(Russell & Norvig, 2008, pág. 16).
25

Hasta la fecha, el principal medio para la investigación de la IA es la computadora, las


ciencias de la computación están formadas con un compendio de otras disciplinas de las cuales la
IA se ha beneficiado y no existe aún una forma de separar a una de la otra y su fusión parece
inevitable. Un ejemplo es el reconocimiento del lenguaje natural que se ha utilizado en la
computación para la generación de herramientas, como asistentes personales capaces de recibir
instrucciones y entregar resultados usando lenguaje entendible por los humanos.

2.6.2 Finanzas

Principalmente en el mercado bursátil, tan cambiante y de riesgo, las capacidades de la IA


para el reconocimiento de patrones se vuelven útiles para obtener predicciones de los probables
escenarios de inversión. En los próximos años es muy probable que en el área financiera se
incrementen los usos de la IA, una muestra de ello es que para las aseguradoras la IA se ha
convertido en una herramienta para detectar las probabilidades de accidentes para sus clientes, y
les permiten decidir qué tan riesgoso es aceptar asegurarlos.

La IA se ha utilizado en la prevención del fraude en transacciones económicas al detectar los


movimientos anómalos, predicción de fluctuaciones del tipo de cambio de monedas importantes,
reconocimientos de patrones de compra, y en otros usos donde el flujo de dinero es clave.

2.6.3 Industria

La industria se ha visto beneficiada con la automatización mediante la robótica, la


manipulación de objetos, y el ensamblaje asistido por computadora. La inclusión de las
computadoras ha relacionado la IA con las aplicaciones industriales.

La visión artificial es parte de la IA, y su capacidad de reconocer objetos, permite que los
robots sean totalmente autónomos en el proceso de manufactura de los productos. Además de
darle a las máquinas la capacidad de detectar piezas defectuosas a una velocidad muy superior a
la que tendría un ser humano, por lo que se obtienen lotes de piezas con una incidencia de fallas
muy inferior. La IA también permite predecir mantenimientos necesarios antes de que se
presenten problemas, y por lo tanto los costos sean menores pues se evitan fallas mayores.
26

2.7 Relación con otras ciencias

La IA está inmersa en una gran cantidad de campos y aplicaciones, debido a que su estudio es
la emulación de las capacidades humanas, es de suponer que por lo tanto pueda ser aplicada a
casi todas las actividades del hombre, “En este sentido, es un campo genuinamente universal”
(Russell & Norvig, 2008, pág. 1). Esto sigue siendo una certeza, debido a que aún para áreas
donde aparentemente no existían aplicaciones para la IA, eventualmente se logró encontrar
puntos donde se podría implementar. En su desarrollo la IA ha tenido contacto con diversas
ciencias, al apoyarse en las investigaciones de estas, y al aportar en cambio nuevos conceptos de
una manera simbiótica lo que permite que los avances sean acelerados para todas las partes.

2.7.1 Matemáticas

La matemática fue testigo de los primeros pasos en los intentos de explicar el razonamiento
humano, tal como se mencionó al principio en la historia de la IA. Los filósofos griegos hicieron
una aproximación bastante acertada, sobre los procesos del pensamiento, pero no formalizaron de
manera matemática sus trabajos.

La formalización que se considera llegó con George Boole (1815-1864) quien creó la lógica
Booleana que fue fundamental para el desarrollo de las computadoras, como se conocen hoy y,
que es el medio actual del funcionamiento de la IA.

2.7.2 Neurociencia

La neurociencia estudia el cerebro y el sistema nervioso, gracias a sus estudios proveyó


aportes a la IA. Por increíble que parezca no siempre se creyó que el cerebro fuera el centro del
pensamiento humano, se llegó a pensar que la conciencia humana estaba localizada en otros
órganos como el corazón. La neurociencia fue la primera en establecer la relación entre los
comportamientos humanos y el cerebro.

Como muestra de la relación entre ambas ciencias, Warren McCulloch era neurólogo, y sin
embargo en compañía de Walter Harry Pitts dieron a la IA el primer modelo descriptivo de las
Redes Neuronales, y como estas afectaban los comportamientos humanos. Además, postularon
una serie de conceptos que permitieron posteriormente la creación de las RNA.
27

2.7.3 Informática

Hoy es difícil separar la IA de la informática, estas tienen una relación muy cercana. En la
actualidad, la informática provee la plataforma principal sobre la cual se ejecutan las
investigaciones; las herramientas que se utilizan son los sistemas operativos, y los lenguajes de
programación sobre los cuales se modelan los sistemas de IA actuales.
La mayor limitación actual de la IA reside en el poder de procesamiento de las computadoras,
pero en las últimas décadas esto se ha ido reduciendo, debido al cumplimiento de la ley de Moore
que pronosticaba que las capacidades de las computadoras serian duplicadas cada 18 meses. Así
mismo, se espera que en un futuro sea la misma IA quien sobrepase las capacidades humanas en
las áreas de diseño y programación, por lo que será capaz de auto mejora, un hito que los
científicos han llamado: La singularidad.

2.8 Actualidad

Las empresas tecnológicas están invirtiendo grandes cantidades de dinero en las


investigaciones relacionadas con la inteligencia artificial, y muchas de estas tecnologías ya se
encuentran disponibles mediante los teléfonos inteligentes y de manera transparente; por lo que
para muchos es cotidiano utilizar el asistente virtual de su celular, y no se dan cuenta que es una
tecnología basada en la IA.
La IA disponible al público es capaz de expresarse mediante lenguaje natural al convertir el
texto a su representación fonética entendible para los seres humanos, al lograr que las máquinas
sean capaces de expresar sus repuestas de manera audible; a la inversa también son capaces de
entender las órdenes expresadas de manera verbal, y entender con un alto nivel de precisión.
Ambas capacidades disponibles en los asistentes virtuales que incluyen también características de
aprendizaje que les permiten ajustarse a la persona que los utiliza. Investigaciones recientes
hacen énfasis en las aplicaciones donde la IA sea totalmente autónoma, como el caso de la
conducción de vehículos donde la asistencia humana sea innecesaria.
La IA necesita de gran poder de procesamiento, sin embargo, empresas como Google, pone a
disposición de desarrolladores e investigadores mucho del recurso actual que poseen, Google es
de las empresas que han dedicado grandes recursos económicos en las investigaciones; recursos
que se traducen en altas capacidades computacionales de las cuales se puede echar mano cuando
no de manera gratuita, con un coste relativamente bajo.
28

En la actualidad, es fácil encontrar lo que se conoce como motores de IA, herramientas que
permiten aprovechar capacidades como el reconocimiento de objetos, y análisis predictivo de
datos, Amazon Web Services (AWS) y Azure de Windows son quienes lideran la prestación de
este tipo de servicio, al ofrecer sus herramientas en un plan de pago por uso, acercando las
tecnologías a cualquier persona.
Capítulo III - Redes Neuronales Artificiales -

3.1 Definición general

Las Redes Neuronales Artificiales (RNA) o simplemente Redes Neuronales, debido a que son
un modelo matemático inspirado en la biología, que trata de imitar el funcionamiento biológico
de las neuronas, y la forma en que se organizan para formar la estructura de un cerebro. Las RNA
son parte importante para la IA, pues por medio de estas se trata de crear modelos artificiales que
sean capaces de resolver problemas que no son fácilmente solucionables, mediante otras técnicas
de la IA o algoritmos convencionales. La figura 4 nos muestra un modelo en 3 dimensiones de
una red neuronal, solo para fines ilustrativos pues no es una representación fiel de estas.

Figura 4. Modelo tridimensional de una red neuronal


(Techne México, 2018)

Las RNA no son el único modelo que se ha utilizado para tratar de obtener un agente
inteligente, existen otros basados en modelos probabilísticos, otros en grafos como las redes
bayesianas, pero “las redes neuronales son candidatas óptimas para resolver una serie de
exigencias que un sistema de tratamiento de información capaz de imitar al humano” (Argente,
2002, pág. 32). Esto principalmente porque las RNA permiten diseñar un sistema que tiene
flexibilidad, y una estructura que permite obtener resultados muy rápidos, sin usar algoritmos
muy complejos y sobre todo tener la capacidad de adaptarse.

29
30

El cerebro que las RNA tratan de emular es el cerebro humano; el cual es el más complejo
cerebro en la naturaleza, se estima que el cerebro humano está formado por alrededor de 100 mil
millones de neuronas que interconectadas forman una red con alrededor de 500 billones de
conexiones.

Tabla 1. Comparativa entre el cerebro y una computadora del año 2003

Computador Cerebro Humano


Unidades computacionales 1 UCP, 108 puertas 1011 neuronas
Unidades de Almacenamiento 1010 bits RAM 1011 neuronas
Duración de un ciclo 1011 bits disco 1014 sinapsis
Ancho de banda 10-9 sec 10-3 sec
Memoria actualización/sec 1010 bits/sec 1014 bits/sec
109 1014

La complejidad del cerebro humano frente a la complejidad de una computadora (del año 2003), se ve la
superioridad del cerebro, aunque siguiendo la ley de Moore se espera que para el año 2020, los procesadores
igualen en complejidad a las conexiones cerebrales humanas. (Russell & Norvig, 2008, pág. 14)

En ocasiones a las computadoras se les conoce como cerebros electrónicos y, sin embargo, en
muchas áreas el cerebro humano con la complejidad que tiene vence la velocidad con la que
realiza los cálculos una computadora; permite que un humano sea capaz de realizar tareas como
el reconocimiento de imágenes y patrones; tareas que, son en exceso muy complejas aún para las
computadoras más avanzadas, debido a que el cerebro humano opera de manera distinta a como
lo hace un microprocesador electrónico, forma que en la actualidad aún no se conoce a la
perfección.

Carentes de una similitud exacta con las redes neuronales biológicas, las RNA artificiales han
generado resultados sorprendentes, comportamientos muy parecidos a los sistemas nerviosos de
los seres vivos entre otras características que han fascinado a los investigadores e incluso han
servido de apoyo para que se pueda entender mejor cómo trabaja nuestro cerebro.
31

3.2 La neurona biológica


La unidad mínima de una red neuronal es la neurona, la cual es una célula especializada que
forma parte del sistema nervioso. Su nombre viene del griego: νεῦρον neûron, „cuerda‟, „nervio‟.
La neurona es a una red neuronal lo que el transistor es a un procesador, y al ser parte del sistema
nervioso, su función principal es la trasmisión, conducción y recepción de los impulsos nerviosos
entre ellas mismas o a otros tipos de células, como las fibras musculares donde dichos impulsos
llegan como potencial de acción generando movimientos.

Aunque la neurona siga siendo una célula, posee características únicas que la diferencian de
las otras del cuerpo. Una de estas características es su incapacidad para dividirse, “Sin embargo,
aquellas células capaces de reproducirse son las células madres neuronales, localizadas en
distintas partes del cerebro. De esta forma, el cerebro si es capaz de generar nuevas neuronas en
la etapa adulta del individuo” (Gensel, 2016).

La incapacidad de reproducirse por división celular fue el motivo por el cual, durante algún
tiempo se consideró que los humanos nacían con un numero de neuronas que se iban perdiendo
mientras crecíamos, provocando un alto deterioro en las capacidades cognitivas. Actualmente se
niega esta teoría, pues se ha comprobado que, aunque no puedan dividirse, el cerebro si es capaz
de producir más neuronas a partir de otro tipo especial de células madre en un proceso conocido
como neurogénesis, un proceso que apenas empezó a observarse en los últimos años del siglo
XX, aunque no revierte el deterioro neuronal, frena considerablemente su aparición.

3.2.1 Doctrina de la neurona


Inicialmente, la teoría de la neurona no era aceptada, cuando se inició el estudio del sistema
neurológico, la mayoría de los investigadores pensaba que el sistema nervioso estaba formado
por una retícula. Es decir que su constitución era un solo sistema conectado tal como lo es por
ejemplo el sistema circulatorio, a esta línea de pensamiento se le conoció como Teoría reticular.
Camilo Golgi (1843-1926) el famoso médico y citólogo italiano, fue un asiduo defensor de esta
teoría, la motivación de la creencia en la teoría se vio reforzada por el hecho de que los
microscopios de la época no eran muy sofisticados.

La doctrina de la neurona fue postulada por Santiago Ramón y Cajal (1852-1934), un médico
español; él fue el primero en postular la individualidad de las neuronas, situándolas como
32

entidades discretas que formaban una especie de red que se intercomunica, mediante conexiones
especializadas, sentando las bases de la neurociencia moderna. La figura 5 muestra parte del
trabajo de Cajal, en un dibujo que representa las conexiones sensi-motoras de la medula espinal,
tal como él las vio.

Figura 5. Dibujo de Ramon y Cajal de las neuronas


(Investigación y ciencia, 2015)

La doctrina de la neurona es totalmente opuesta a la teoría reticulista que defendía Golgi, lo


cual fue la principal razón que hizo que se convirtieran en rivales científicos.

Para Golgi, el sistema nervioso poseía una estructura reticular, es decir, no había en él células
individuales como en otros tejidos, sino que las neuronas estaban totalmente conectadas a
través de sus prolongaciones. Cajal, por su parte, defendía la teoría neuronal: el sabio
español veía claro que las neuronas. (Investigación y ciencia, 2015)

Ramón y Cajal empleaba en sus investigaciones un método en el cual, mediante sales de plata
coloreaba secciones o cortes histológicos para ser observados mediante un microscopio, la tintura
de plata permitía ver con más detalle las células nerviosas. Mediante esta técnica realizó cada uno
de los dibujos que acompañaban su investigación. Curiosamente, el método de la tintura fue
creado por Golgi, por lo que Ramón y Cajal empleaba las mismas técnicas que el italiano; y sin
embargo cada uno vio e interpretó de manera diferente lo que colocaba bajo el microscopio
creándose la división entre los criterios, y la creación de dos teorías totalmente distintas.

Al final, tanto el trabajo del español como del italiano fue reconocido por la comunidad
científica pues, “El premio nobel de Fisiología o Medicina de 1906 fue otorgado conjuntamente a
33

Camillo Golgi y Santiago Ramón y Cajal en reconocimiento a su trabajo sobre la estructura del
sistema nervioso.” (The Nobel Prize in Physiology or Medicine 1906)

3.3 Anatomía de la neurona


Siendo la neurona un tipo de célula especializada, es de esperar que su constitución sea
diferente a las demás del cuerpo, y de hecho es así; pues posee partes únicas que le ayudan a
cumplir con su función.

Figura 6. Anatomía de una neurona


(10 Características de la neurona, s.f.)

La neurona es tan compleja como cualquiera de las demás células del cuerpo, además la
forma de cada una de estas tendrá variaciones relacionadas con la ubicación de esta, considerando
que no solo son parte del cerebro (que es parte del sistema nervioso central), encontrándose
distribuidas por casi todo el cuerpo. En la figura 6 se observa una representación completa de la
anatomía de la neurona con sus partes principales, de las cuales se describen las siguientes:

3.3.1 Pericarión
El Pericarión es la parte central de la neurona, aquí es el lugar donde se encuentra el núcleo
celular, y por lo tanto es aquí donde se producen la mayoría de las proteínas que sirven de
sustento a la célula al generar los niveles de energía suficiente para que se mantenga
funcionando, el Pericarión también recibe el nombre de soma, y sirve de origen para las demás
34

prolongaciones neuronales como las dendritas y el axón, además forma lo que conocemos como
“materia gris”.

“El tamaño medio de un soma neuronal es de unas 20 µm, aunque puede variar bastante
dependiendo del tipo de neurona”. (Atlas de Historia vegetal y animal, 2018). El pericarión
tendrá un tamaño variable, debido a que no todas las neuronas tienen el mismo tamaño. Así
mismo es parte importante para explicar la forma en que se propaga la información, entre las
demás células nerviosas.

3.3.2 Dendritas
Las dendritas tienen como función el servir de “entrada” para la neurona, es aquí donde se
reciben los impulsos nerviosos provenientes desde otras neuronas, básicamente se trata de
ramificaciones que nacen del cuerpo celular. Estas ramificaciones pueden ser encontradas en
todo el cuerpo, no solamente en el cerebro, pues se encuentran distribuidas también por la medula
espinal, los músculos, los órganos internos y los ganglios.

“La función de las dendritas en general, y de las espinas dendríticas en particular, es la


de hacer de principal toma de contacto de los neurotransmisores que llegan desde fuera” (Triglia,
s.f.) por lo que también son responsables del establecimiento de la transmisión de los impulsos
nerviosos y están relacionadas con la forma en que las RNA aprenden, pues las dendritas se
adaptan, y regulan la forma de interacción entre las neuronas, específicamente definiendo si se
tiene más, o menos interacción con las neuronas vecinas.

3.3.3 Axón
Así como la neurona tiene ramificaciones de entrada, para cumplir con la transmisión de las
señales nerviosas también debe de contar con un medio de salida. Este medio es el axón, “El axón
es, por tanto, una especie de conducto por el que pasan impulsos nerviosos a toda velocidad”
(Triglia, s.f.) Esto permite la comunicación entre las dendritas, pasando por medio el cuerpo
celular llegando a las dendritas de otras neuronas completando el ciclo del impulso nervioso.

El axón generalmente tiene un recubrimiento especializado que recibe el nombre de mielina,


una sustancia de color blanco que cumple la función de acelerar los impulsos nerviosos, la forma
del axón es como la de un “brazo” que se extiende desde el centro de la neurona, y tiene un largo
35

variable que depende del tipo de neurona, el lugar de su ubicación y la función que cumple dentro
del sistema nervioso.

Para las neuronas del cerebro el tamaño del axón suele ser muy pequeño, del orden de
milímetro, mientras que para otras neuronas ubicadas fuera el sistema nervioso central el axón
pueden llegar a medir hasta 20 centímetros. Esto es con el fin de acortar el número de
intermediarios entre el origen de una señal nerviosa y el destino.

3.4 Sinapsis
Las sinapsis no forman parte específica de la anatomía de las neuronas, pero es importante
hacer mención de este debido al papel que juegan para el funcionamiento de las redes neuronales.
La sinapsis es una región comprendida entre el extremo de un axón, y las dendritas de las demás
neuronas relacionadas en la estructura de red.

El concepto de sinapsis, descrito por primera vez por Ramón y Cajal y bautizado por
Sherrington, hace referencia a la existencia de una conexión entre dos neuronas, caracterizada
por la presencia de un pequeño espacio que sirve de vía para la transmisión de la información.
(Mimenza, s.f.).

La sinapsis es lo que rompe el modelo reticular que era defendido por Golgi, y es lo que hizo
que Cajal definiera la doctrina de la neurona. Esa separación haría parecer que el camino de los
impulsos nerviosos se interrumpiera, pero solamente si obviáramos la posibilidad de la
transmisión electroquímica. Para el mecanismo de la transmisión sináptica debemos considerar 3
condiciones:

 Existirá una neurona presináptica que es la que emite en primera instancia la


información nerviosa, esta información que recorre todo el axón hasta llegas al extremo
de este dónde existen ciertas prolongaciones que ayudan en el enlace. Esta transmisión
funciona mediante la emisión de químicos, que fungen como neurotransmisores.
 Existe un espacio entre cada neurona individual, y se define en el borde final del axón de
la neurona presináptica, antes de llegar la neurona que recibirá la información, este es el
espacio sináptico.
36

 El impulso nervioso llega a la neurona postsináptica, la cual es la célula receptora del


impulso, este puede llegar a por medio de las dendritas, al pericarión o al axón,
dependiendo del tipo de conexión sináptica.

Por lo general, el flujo del impulso nervioso va en una única dirección, y es por ello por lo
que deben existir estas tres características para cumplir con la transmisión de las señales
nerviosas.
La figura 7 muestra
una representación del
intercambio químico
utilizado en comunicación
de las neuronas. Si la
cantidad de neuronas en el
cerebro es inmensa, lo es
más la cantidad de
conexiones neuronales y
Figura 7. Conexión sináptica sinapsis.
(Collado, s.f.)
Todo esto al
considerar el hecho de que
una neurona puede tener conexión hasta con 10,000 de sus semejantes por lo que se estima que
un cerebro humano adulto poseerá hasta 1,000 billones sinapsis. “Se cree que la capacidad de
memoria del cerebro humano varía de entre 1 a 1,000 terabytes. Y es que hay más sinapsis en
nuestro encéfalo que estrellas en la Vía Láctea.” (Collado, s.f.). Por ello es fácilmente
entendible el hecho de que no se haya podido realizar un mapeo del cerebro humano para replicar
su funcionamiento puesto que muchos consideran que de ser esto posible, la IA seria fácilmente
alcanzable. Solamente se han hecho avances de este tipo en cerebros “más simples” como el de
algunos insectos, de los cuales se tiene un mapeo parcial, solo existe un animal del que se ostenta
el mérito de conocer toda su estructura conectiva cerebral “el gusano. C. elegans (Caenorhabditis
elegans) es un gusano microscópico con el sistema nervioso más simple que conocemos. Tiene
302 neuronas. Las conocemos todas, así como las 6.418 sinapsis que posee” (Orbe, 2012).
37

3.4.1 Clasificación de las conexiones sinápticas


Es tan grande la cantidad de sinapsis en un cerebro humano, y aunque todas cumplen con una
función similar, no todas son del mismo tipo ni funcionan de la misma manera, pues existen
varios tipos de neuro receptores y neurotransmisores que puede utilizar la neurona. Existe cierta
clasificación que se puede aplicar para distinguir la forma, medio y función de la conexión. Por
ello tenemos la posibilidad de clasificarlas de la siguiente manera:

Según la forma de transmisión de la información:

 Sinapsis eléctricas: Este tipo de conexión sináptica usa transmisión eléctrica mediante
iones, las membranas celulares de la neurona se tocan para realizar el intercambio de
químicos, no son muy abundantes y las podremos encontrar principalmente en el ojo y el
corazón, una de sus características es rapidez.
 Sinapsis químicas: Son más abundantes de las anteriores, su comunicación se da
mediante la liberación de químicos o neurotransmisores que son producidos por la
neurona presináptica que tienen interacción con las neuronas postsinápticas.

Según los efectos sobre las neuronas postsinápticas se puede diferenciarlas de la siguiente
manera:
 Sinapsis excitadoras: Este tipo de sinapsis son capaces de estimular las conexiones con
las demás neuronas, haciendo que la conexión de los impulsos sea mejor, son capaces de
disparar los impulsos mediante iones que liberan contribuyendo a polarizar la conexión.
 Sinapsis inhibidoras: Tienen un funcionamiento contrario a las anteriores, pues los
químicos que liberan limitan o restringen la transmisión de las señales nerviosas.

Clasificadas según el tipo de células que intervienen se clasifican como:

 Neurona – Neurona: En este tipo de interacción, tanto la célula presináptica como la


postsináptica son neuronas, las encontramos principalmente en el sistema nervioso
central.
 Neurona – Célula muscular: La célula postsináptica será una célula muscular, y la
presináptica una neurona; esta unión también se conoce como unión neuromuscular.
 Neurona – Célula secretora: Aquí, la célula presináptica es la neurona, mientras que la
postsináptica será alguna de las que secretan alguna sustancia química como alguna
38

hormona. “Un ejemplo sería la inervación de las células de la médula suprarrenal, que
provocaría la liberación de adrenalina en el torrente sanguíneo.” (Collado, s.f.).

3.5 Funcionamiento de las redes neuronales biológicas


Dado que el funcionamiento de las RNA se base en las redes neuronales biológicas, es
importante definir los aspectos básicos del funcionamiento de estas.

Cualquier modelo de red neuronal consta de dispositivos elementales de proceso: las


neuronas. A partir de ellas, se pueden generar representaciones específicas, de tal forma que
un estado conjunto de ellas puede significar una letra, un número o cualquier otro objeto.
(Hilera & Martinez Hernando, 1995, pág. 45).

Tanto el modelo biológico como el artificial cuentan con elementos básicos de construcción,
el procesamiento de la información será similar para ambos casos, considerándose la
construcción por capas:

 Se encuentra una serie de neuronas cuya función será la recolección de la información,


por ejemplo, aquellas neuronas que reciben estímulos sensoriales; estas neuronas serán
la entrada de datos al sistema, se les define como la primera capa.
 La información es transmitida a otras neuronas, estas pueden ser una o más capas que
son conocidas como capas ocultas, aquí es donde se realiza el proceso de conversión
de los datos, permitiendo o negando la transmisión de estos a la siguiente etapa.
 La etapa final es la parte donde se obtiene la respuesta, es la salida del sistema y la
capa final.

La capacidad de las neuronas de regular el flujo de los impulsos nerviosos es una de las
características sobresalientes de la célula, esta función especial la realiza regulando la cantidad de
neurotransmisores que emite, la emisión de estos químicos se da principalmente por medio del
axón. Los impulsos nerviosos son de naturaleza eléctrica, y su propagación entre las neuronas
depende de las diferencias de potencial eléctrico y la permeabilidad de la membrana celular.

Cada neurona tendrá un nivel de potencial que deberá sobrepasar antes de que los estímulos
que recibe sean transmitidos hacia su salida, el potencial eléctrico necesario para la transmisión
del impulso será regulado entonces con base en la concentración de los iones recibidos en sus
entradas.
39

3.6 Neurona Artificial de McCulloch-Pitts


Así como para las redes neuronales biológicas están construidas mediante células neuronales,
las RNA requieren de un componente para su construcción un bloque que contenga la mayor
similitud posible con las neuronas biológicas, siendo este bloque fundamental la neurona
artificial.

La neurona artificial fue definida por primera vez por Warren S. MacCulloch (1898-1969), y
Walter H. Pitts (1923-1969), la definición posee una estructura de funcionamiento muy similar a
su contraparte biológica. Warren MacCulloch de profesión neurólogo y cibernético, y Walter
Pitts, un lógico; ambos estadounidenses, publicaron en 1943 un artículo con el nombre: “un
cálculo lógico de las ideas inmanentes en la actividad nerviosa” en el cual describen el
funcionamiento de una neurona artificial, mediante un modelo matemático que incluye las
mismas partes que la neurona biológica dado que tiene:

 Elementos de entrada que recaban información tal como lo harían las dendritas.
 Un elemento central que procesa la información equivalente al Soma o Pericarion.
 Elementos de salida similares a los axones y por donde saldrá la información procesada.

Figura 8. Modelo de neurona de MacCulloch-Pitts


(Oberloier, 2016)

El esquema de la figura 8 está basado en el trabajo de MacCulloch y Pitts; y muestra las


partes de una neurona artificial.

Una de las definiciones importantes de MacCulloch-Pitts fue que “Debido al carácter „todo o
nada‟ de la actividad nerviosa, los eventos neuronales y las relaciones entre ellos se pueden tratar
mediante la lógica proposicional” (McCulloch & Pitts, 1943), esta facilidad de representación
40

permitió que se diera una explicación sencilla, pero a la vez muy consistente, y que puede ser
fácilmente representada mediante simbología matemática y lógica proposicional.

El modelo descrito por los autores es conocido como Neurona Artificial de McCulloch-
Pitts, y el artículo publicado, es considerado como el primero en la investigación de las RNA. La
síntesis realizada permitió además que, se lograra replicar lo descrito por McCulloch y Pitts por
medio de circuitos electrónicos, aunque a una escala pequeña, lo que abrió la posibilidad de
construir computadoras en un esquema muy diferente a como las conocemos en la actualidad, y
que en aquel entonces aún iniciaban. Las neuronas artificiales apuntaban a construir máquinas
con capacidades de procesamiento de información de una manera más similar de como lo hace el
cerebro humano.

3.7 Características de la neurona artificial


El modelo matemático de la neurona artificial tal como se observa en la figura 8, indica las
entradas del sistema mediante X1 …Xn, estos son los parámetros que definen si la neurona estará
activa o no. Los términos W1j…Wnj representan los pesos neuronales que determinan la
memoria de neurona y de la red que forma parte; el cuerpo de la neurona indicado mediante el
símbolo ∑ (sumatoria) realiza las operaciones necesarias para el proceso de la información, y
mediante el proceso de activación será entregada la salida correspondiente.

La neurona artificial cuenta con algunas características en las cuales se basa su


funcionamiento; estas características se pueden representar matemáticamente de la siguiente
manera:

3.7.1 Pesos sinápticos


Los pesos sinápticos son valores fijos que se establecen a las entradas de la neurona, tal como
las sinapsis de la neurona biológica. Tienen la capacidad de excitar o inhibir el paso de la
información; estos pesos son una representación de la intensidad de interacción entre las neuronas
de la red.

El ajuste de estos valores permite la adaptación de la Red Neuronal, ajustándola a diversos


usos. “En el contexto de las RNA el aprendizaje es un proceso mediante el cual las neuronas
modifican los pesos sinápticos en función de la información de entrada que reciban” (Montero &
Fernández Avilés, s.f.), los valores numéricos asignados como pesos sinápticos pueden ser
41

positivos (excitadores) o negativos (inhibidores); esto es similar a la liberación de los


neurotransmisores en las sinapsis neuronales que facilitan la transmisión de los impulsos
nerviosos.

3.7.2 Activación
Dentro de una RNA las neuronas artificiales podrán encontrarse únicamente en 2 estados, en
reposo y excitado; siendo estos los que se conocen como estados de activación. Una neurona
artificial contará con un umbral por lo que se agrega una función que se conoce como función de
activación, “la función de activación g se diseña con dos objetivos. Primero, queremos que la
unidad esté «activa» (cercana a +1) cuando se proporcionen las entradas «correctas», e «inactiva»
(cercana a 0) cuando se den las entradas «erróneas»” (Russell & Norvig, 2008, pág. 839). La
función de activación es la que regula el momento exacto en que la neurona se “dispara”, es decir
cuando emitirá la salida correspondiente, según la información que se encuentra procesando.

Dado que MacCulloch y Pitts establecieron de manera simplificada los estados de activación,
mediante el “todo o nada”. Se puede ver la similitud que existe entre este patrón y el
funcionamiento de las puertas lógicas; y por lo tanto la representación y ejecución de las
funciones del algebra booleana AND, OR y NOT con solo establecer los pesos neuronales
adecuados y crear la función de activación exacta.

3.7.3 Propagación
“Entre las unidades o neuronas que forman una red neural artificial existe un conjunto de
conexiones que unen unas a otras. Cada unidad transmite señales a aquellas que están conectadas
con su salida” (Hilera & Martinez Hernando, 1995, pág. 45).

Cuando una RNA se encuentra en funcionamiento, la información de entrada hará cambiar los
estados internos de cada neurona que forma la red; de tal manera que en algún momento se
tendrán neuronas en cualquiera de los dos estados de activación, las neuronas que se activen
transmitirán sus salidas a las neuronas que estén conectadas, desencadenando lo que se conoce
como propagación. El patrón de activación es el que define el comportamiento de la RNA, y este
obedecerá la estructura de la red, los pesos sinápticos y las funciones de activación de cada
neurona.
42

La propagación suele definirse como una función o fórmula llamada función de


propagación. Esta función es la directriz que marca cuando se ha llegado al umbral de
activación, y es necesario disparar la neurona pasando del estado de reposo al de activación. La
función de propagación más común es simplemente realizar una sumatoria de las entradas, por
los pesos sinápticos.

3.8 El perceptrón
El perceptrón tiene el mérito de ser el primer modelo de RNA, fue definido y desarrollado por
Frank Rosenblatt (1928- 1971), un psicólogo norteamericano cuyo trabajo más notable fue en el
campo de la IA. En 1958, en su artículo: “The Perceptron: a probabilistic model for information
storage and organizationin the brain”, al utilizar los conceptos de neurona artificial de
MacCulloch-Pitts, Rosenblatt desarrolló el concepto del perceptrón, el cual motivó un gran
interés entre aquellos que se dedicaban al estudio de la IA, debido a las capacidades que posee en
el aprendizaje para el reconocimiento de patrones.

El perceptrón descrito por Rosenblatt se conoce como perceptrón simple, y al ser el primer
modelo de RNA también es el más sencillo de todos, y cuenta con algunas limitaciones como el
hecho de que principalmente sirve para distinguir patrones en el que solo existan dos
posibilidades. Las limitaciones se resolvieron con los modelos mejorados que surgieron
posteriormente con base en el perceptrón simple.

Rosenblatt planteaba las siguientes preguntas:

1. ¿Cómo es detectada y medida por el sistema biológico la información sobre el mundo


físico?
2. ¿Cómo es guardada o recordada la información?
3. ¿Cómo la información contenida en almacenamiento o la memoria puede influir en el
reconocimiento y comportamiento? (Rosenblatt, 1958, pág. 1).

En las 3 respuestas que Rosenblatt plantea a sus preguntas, menciona la relación de la


forma en que las redes neuronales se conectan en el cerebro, hace referencia al “cableado” del
sistema nervioso, y como permite fenómenos como la memoria, o es capaz de definir el
comportamiento humano; pues era otro tema de interés de Rosenblatt al tomar en cuenta que
era un psicólogo.
43

3.8.1 Estructura del perceptrón


El perceptrón simple está inspirado en los modelos neuronales sensoriales de los animales,
principalmente en las observaciones de Rosenblatt de la retina. Rosenblatt esperaba definir la
forma en que la retina es capaz de procesar la información de las imágenes visuales (Rosenblatt,
1958). Un perceptrón puede estar formado por una, o dos capas neuronales.

En el modelo de dos capas; la primera se encarga de recolectar la información sensorial o de


importancia para el sistema, que generalmente corresponde a información de patrones o modelos
que se deseen clasificar, mientras que la segunda capa es la salida que es la que finalmente
clasifica los patrones de entrada con algo tan simple como su activación o su permanencia en
estado inactivo, la capa de salida cuenta con conexión con cada una de las neuronas de la capa de
entrada. En el modelo de una sola capa se ignora la primera capa pues se considera que la única
tarea que realiza es ser el enlace con la parte exterior de la red, este modelo es el representado en
la figura 9.

Figura 9. Perceptrón simple


(Soberón, 2014)

Aunque simple, el perceptrón de Rosenblatt fue capaz de mostrar que era posible el
aprendizaje de las RNA; y por lo tanto su adaptabilidad para la solución de problemas y puede ser
considerada como una unidad computacional universal puesto que “tiene la expresividad
equivalente a la lógica binaria ya que podemos crear un perceptrón que tenga el mismo
comportamiento que una función booleana NAND” (Neural Network Framework, s.f.) Y al
combinar compuertas NAND se pueden obtener todas las demás. Esto quiere decir que, con un
poco de esfuerzo, se podría construir una computadora completamente funcional con una RNA.
44

3.9 Aprendizaje en las RNA


Uno de los múltiples conceptos sobre el aprendizaje dice que es "la modificación del
comportamiento inducido por la interacción con el entorno y como resultado de experiencias
conducente al establecimiento de nuevos modelos de respuesta a estímulos externos". (Hilera &
Martinez Hernando, 1995, pág. 53). El aprendizaje de las RNA es la capacidad de adaptación que
tienen con respecto a las experiencias, y la interacción con las señales que llegan desde su
entorno. Esto permite que una misma red neuronal pueda tener diferentes formas de respuesta y
pueda utilizarse para resolver diferentes tipos de problema.

Si se aborda el tema del aprendizaje desde el punto de vista biológico, este está relacionado
principalmente con las características de las sinapsis, y los valores que las neuronas pueden fijar
en ellos. Por lo tanto, para las RNA su capacidad de aprendizaje está también en los valores de
los pesos sinápticos asignados a las conexiones entre las neuronas, por ello la capacidad de
aprendizaje de una RNA dependerá de su capacidad para modificar sus pesos neuronales.

Una RNA tendrá dos tipos de información durante su funcionamiento; la primera es la


información que recibe, y que puede considerarse de alguna manera una información dinámica; la
segunda es la información de memoria contenida en los pesos sinápticos, y que permite recordar
los patrones que la red ha aprendido, lo cual es muy parecido a el funcionamiento de una
computadora donde se tienen datos volátiles (contenidos en la memoria RAM), y datos
almacenados en memoria (Disco duro o memoria ROM) que representan el programa o los
programas que ejecutará.

3.9.1 Aprendizaje de las RNA mediante entrenamiento

Para que una RNA aprenda, se debe de ejecutar un entrenamiento, para el cual es necesario
tener los patrones que necesitamos que la red aprenda. Se debe aplicar una regla que se conoce
como regla de aprendizaje, esta regla tiene origen en algoritmos que usan fórmulas matemáticas
que buscan ajustar los pesos neuronales de cada neurona de la red basados en las entradas que se
realizan tomando valores del patrón que la red deberá aprender.

El o los patrones que se usan para el enteramiento de la red se conocen como patrones de
entrenamiento o de muestra, y el proceso más usual es hacer que la red ejecute estos patrones
de manera iterativa ajustando en cada iteración los valores de los pesos sinápticos, hasta que se
45

alcancen los valores óptimos que igualen lo que el patrón dicta. De esta manera al ingresar
valores nuevos, las respuestas de la RNA serán óptimas y relacionadas al patrón aprendido. Este
algoritmo de aprendizaje no es el único, pero es uno de los más utilizados, teniendo como
ejemplo las redes neuronales del tipo perceptrón.

3.9.2 Tipos de aprendizaje

Los tipos de aprendizaje para una RNA pueden ser clasificados en función de la manera cómo
se ejecuta el entrenamiento de esta. Un punto en común será la existencia de un conjunto de datos
que representan el modelo que se desea enseñar a la red. Principalmente se distinguen dos tipos
de aprendizaje

[Link] Aprendizaje supervisado

El aprendizaje supervisado se distingue por ser el más intuitivo; y su nombre se puede


distinguir por la forma en que se realiza. En el aprendizaje de este tipo, durante el entrenamiento
se debe notar que se conocen de antemano los datos de entrada del modelo y las respuestas a los
mismos. Los valores se ingresan a la red, y una vez obtenidos los resultados se contrastan con los
valores esperados, de tal forma que se verifica que tan cercanos están de la realidad; y luego se
aplica un factor de corrección a los pesos de la sinapsis, es por ello por lo que recibe el nombre de
aprendizaje supervisado.

Es importante observar que este procedimiento se repite en múltiples iteraciones al buscar


reducir al mínimo el error obtenido en la salida para refinar los resultados. Así mismo, también
contará con una figura externa responsable del comportamiento, y que supervisa las salidas a
manera de “profesor” o “supervisor”. Se distinguen los siguientes modelos básicos de corrección
de las sinapsis:
 Por corrección de error: Se ajustan los pesos sinápticos según las diferencias que
aparecen entre los valores deseados y las salidas de la red, y se corrige en función de este
error. El perceptrón usa este tipo de aprendizaje.
 Corrección Estocástica: Las correcciones a los pesos sinápticos se realizan en forma
aleatoria, y luego se evalúan los efectos de estos en las salidas en contraste de lo que se
esperaba.
46

 Por refuerzo: Para este modelo, se tienen los resultados de los valores de entrada, sin
embargo, el ajuste de los pesos sinápticos no se realiza en función de estos. En este
esquema el papel del supervisor se limita simplemente a decir si la salida es correcta o no,
por esto se trata del modelo de aprendizaje supervisado más lento.

[Link] Aprendizaje no supervisado

A diferencia del modelo de aprendizaje supervisado, en este modelo no se tienen los valores
de salida del modelo; y es la RNA la que debe de inferir o clasificar los patrones con base en las
características comunes que podrían presentar sin darle ningún tipo de etiqueta a la información.

Este modelo de aprendizaje también conocido como aprendizaje auto supervisado, pues
carece de un exente externo que actúe para ajustar sus pesos neuronales; y por lo tanto tampoco
tiene alguna referencia que le indique si las respuestas generadas son correctas o no. La labor de
encontrar las características, relaciones, y categorizar los datos son realizadas por la misma red,
cuentan con algunas de las siguientes características:

 No es necesario que tengan un agente externo para supervisar el entrenamiento


 Cuentan con un grado de auto organización.
 La RNA descifra los datos de manera autónoma.
 El entrenamiento es más rápido en contraste con las redes de entrenamiento supervisado.
 Los usos de estas redes son: agrupamiento y relación de características de datos, también
han sido utilizadas para la compresión de datos.

Las redes neuronales que usen este tipo de aprendizaje encontrarán grados de familiarización
entre la información proporcionada. En caso de que sea muy difícil la tarea de agrupación,
realizarán una cauterización (clustering) lo que le permitirá agrupar por categorías, y su salida
será una indicación sobre a qué categoría pertenecen los datos de entrada. Este tipo de
clasificaciones permiten realizar tareas de clasificación de una manera más rápida, y con
volúmenes tan grandes que serían muy difíciles para un humano o requerirían un enorme
consumo de tiempo.
47

3.10 Aplicaciones de las RNA

Las RNA han destacado en diversidad de campos al realizar distintas tareas relacionadas con
el procesamiento de datos. El objetivo de estas está heredado del objetivo de la IA, pues están
inmersas en esta, siendo la búsqueda de la emulación de las capacidades cognitivas del ser
humano. Tal como se ha mencionado, algunos autores esperaban que sus estudios de las redes
neuronales explicaran el funcionamiento de la inteligencia y que una vez comprendido se pueda
extender estos modelos a las RNA, al obtener una replicación de las funciones cerebrales.

En los últimos años del siglo XX y a inicios del XXI se han convertido en una tecnología
emergente con pocas disciplinas donde no se pueda aplicar, y en las que aparentemente no sea
posible, siempre se encuentra un área donde aplicarlas. Tanto en actividades diarias, como en las
investigaciones científicas más avanzadas las RNA se han convertido en la insignia de la IA.

Se pueden explicar distintos usos de las RNA; sin embargo, muchos de estos se engloban
dentro de grandes áreas de las cuales, gracias a su versatilidad de funcionamiento, su uso se
extiende de manera más amplia. Entre las más importantes se encuentran:

3.10.1 Reconocimiento de imágenes

El perceptrón es el principal exponente de esta aplicación de las RNA, dado su origen, pues
nace de las observaciones del sistema nervioso de la retina animal y humana. Una de sus primeras
aplicaciones fue el reconocimiento de imágenes, al llegar a desarrollarse incluso una versión de
perceptrón que se conoce como fotoperceptrón, debido a su uso en el procesamiento de señales
lumínicas. El fotoperceptrón también tuvo el mérito de ser uno de los primeros modelos de RNA
que se llevaron a un diseño totalmente electrónico, mediante el uso de tubos de vacío. Los
estudios de análisis y reconocimiento de imágenes por parte de las RNA han logrado que en la
actualidad sus usos se extiendan a:

 Reconocimiento óptico de caracteres (OCR): no solamente de textos impresos; si no


que también realizan proezas como reconocer los caracteres escritos a mano; así mismo,
aplicaciones en el reconocimiento de los dígitos de placas de vehículos, traducciones
automáticas a partir de fotografías, marcado de direcciones en mapas a partir de las
fotografías de los rótulos en las calles.
48

 Reconocimiento de rostros: Primero las RNA fueron capaces de identificar los rostros
dentro de las imágenes, pero han logrado ir más lejos pues en la actualidad pueden
distinguir a quien pertenecen (con el entrenamiento adecuado de por medio), en ambientes
complicados de poca iluminación, distintos ángulos de la imagen, accesorios como lentes
o la barba. Estos avances han permitido crear accesos biométricos donde por medio del
rostro se verifica la identidad; también han permitido refinar la búsqueda de personas ya
que fácilmente pueden ser encontrados en grabaciones de seguridad. Este tipo de
funciones pueden ser utilizada mediante servicios como los Microsoft Azure, que es un
servicio actual que permite el uso de RNA para la detección y comparación de rostros,
permitiendo su uso en ambientes donde será necesaria la verificación de identidad, esto se
observa en la figura 10.
 Clasificación de objetos: Una RNA puede ser entrenada para reconocer casi cualquier
tipo de objetos desde animales hasta elementos inanimados, como partes de maquinaria y
piezas de fabricación. El reconocimiento de imágenes se aplica en la visión por
computadora que se ha agregado a dispositivos como robots de ensamblaje, lo que les
permite que sean capaces de ubicar los componentes necesarios para su labor, además de
agregarles la capacidad de posicionarlos por sí mismo de manera tan precisa, como solo
una computadora lo puede hacer.

Figura 10. Detección y comparación de rostros de Azure


(Microsoft Azure, 2018)
49

3.10.2 Análisis predictivo y reconocimiento de patrones


Los humanos son capaces de identificar patrones y realizar predicciones, siempre que la
cantidad de datos no sea tan grande, y no incluya demasiadas variables.

El análisis predictivo es un proceso mediante el cual, mediante el análisis de datos; usando


diversas técnicas estadísticas y analíticas, se crea un modelo que permita predecir eventos futuros
y las RNA tienen entre sus capacidades, el análisis de datos y modelos.

El ejemplo más típico sobre análisis predictivo es el pronóstico del clima, aunque en la
actualidad también se aplican técnicas predictivas sobre modelos financieros, de ventas, consumo
eléctrico, entre otros. “El análisis predictivo ha recibido mucha atención en los últimos años
debido a los avances en la tecnología que lo respalda, especialmente en las áreas de big data y
aprendizaje automático.” (MathWorks, 2018).

En la actualidad se aprovecha el uso de las RNA para este tipo análisis, mediante técnicas de
aprendizaje automático, al permitir responder preguntas del tipo: ¿Qué tan probable es que bajo
las condiciones actuales un componente falle? O ¿En cuántos días el cliente volverá por más
suministro?
El éxito del análisis predictivo depende en gran medida de la calidad de los datos analizados;
así como del volumen de estos, y el proceso será muy similar sin importar la finalidad del
análisis. Los datos para los análisis predictivos deben representar un historial de comportamiento
del fenómeno bajo estudio; y un modelo bien construido permitirá obtener resultados a partir de
valores actuales y previos a que ocurra el fenómeno que se estudia.
50
Capítulo IV - Análisis y diseño -

4.1 Análisis
4.1.1 Descripción de la empresa
El software de Logística en cuestión pertenece a una empresa guatemalteca que cuenta con
una división comercial dedicada a la venta y distribución de gases para uso en el sector médico e
industrial, siendo además líder a nivel centroamericano en este rubro. Entre los gases que la
empresa distribuye se encuentran:

 Gases médicos: Oxigeno médico, Helio, Óxido nitroso, Aire comprimido, Dióxido de
carbono, Nitrógeno líquido, Nitrógeno gaseoso, Hexafloruro de azufre.
 Gases para uso industrial: Argón, Nitrógeno líquido, Nitrógeno gaseoso, Oxígeno
gaseoso, Hielo seco, Dióxido de carbono, Aire, Etileno, Óxido nitroso, Hidrógeno,
Metano, Hexafloruro de azufre, Helio, Acetileno.

La labor comercial de la empresa cuenta además con otras actividades económicas en las que
se incluyen una división comercial que distribuye equipos, herramientas y maquinarias de uso
industrial de marcas internacionales y de alta calidad en las siguientes categorías:

 Equipo médico
 Equipo de soldadura
 Seguridad industrial

La empresa también es pionera centroamericana en la producción de gases, con una historia


en el país de varias décadas, tiempo en el que además de los gases y el equipo industrial se
especializó también en la prestación de servicios como:

 Diseño industrial: Cálculo, diseño y evaluación de proyectos de sistemas para el manejo


de los gases.
 Capacitaciones: A empresas y clientes, por medio de cursos para el aprendizaje del
manejo seguro de los productos de la empresa.
 Respaldo sistemas domiciliares: Para el equipo médico domiciliar de los clientes,
brindando además del mantenimiento y asesoría técnica para su uso y operación.
 Telemetría: Sistema de monitoreo en tiempo real del nivel de producto de los clientes.

51
52

El desarrollo se centra en la elaboración de un nuevo módulo que se integre al software que la


empresa utiliza en la logística de venta y distribución de los productos a sus clientes. La función
del módulo será aprovechar la información sobre el consumo por cliente de los productos:
Oxigeno, Nitrógeno y Gas Carbónico, todos en su presentación líquida.

El aprovechamiento de la información consiste en su utilización para realizar un análisis


predictivo mediante una RNA que permita establecer una fecha de reabastecimiento de producto
a los clientes, evitando que estos se queden sin producto, la razón de agregarse al software de
logística es debido a que en el mismo ya se cuenta con acceso a la información histórica del
consumo de los productos.

La información de consumo de los productos se actualiza constantemente gracias a la red de


equipos que envían información sobre el nivel en los recipientes que contienen los productos, esta
configuración conforma un sistema de telemetría que alimenta la base de datos que es consultada
por el software.

4.1.2 Componentes del Software

Figura 11. Componentes del software de logística


(Elaboración propia)

En la figura 11 se observa una vista pictórica de cada uno de los componentes que forman el
software de logística de la empresa como se encuentra en la actualidad, se distinguen los
siguientes componentes:
53

 Equipo remoto: El equipo remoto está conformado por los recipientes contenedores del
producto, los cuales pueden ser diferentes dependiendo del tipo de producto almacenado,
cilindros para productos en estado gaseoso, o termos; para los productos en presentación
líquida y que se encuentran a muy bajas temperaturas. Los contenedores cuentan con un
equipo de medición que monitorea la cantidad de producto disponible de manera
constante, este valor es enviado al listener mediante GPRS (Servicio General de Paquetes
vía Radio –Por sus siglas en inglés), la estructura forma una red de telemetría siendo esta
la razón del nombre de Equipos remotos.
 Listener: Es un servicio escrito en [Link] (versión 8.12.0) y que se ejecuta en otro
servidor. La función del listener es recibir la información de los equipos de telemetría
mediante una conexión web y una TCP/IP, también se encarga de interpretar la
información recibida para poder ser insertada en la base de datos, la información debe de
ser adecuada debido a que existen diversos tipos de equipo que envían la información en
formatos diferentes. El nombre en inglés de este componente de software es debido a su
función de “escucha” constante de los datos de entrada.
 Servidor de Base de Datos (BD): Aquí se almacena toda la información sobre los
equipos y la información que es enviada por el sistema de telemetría en cada dispositivo
de almacenamiento de producto, su estructura es del tipo relacional y el sistema gestor de
la base de datos (DBMS –Por sus siglas en inglés) es PostgreSQL 10.5.
 Capa de servicios: La conexión entre el Servidor de BD y el servidor web no se realiza
de manera directa, entre ellos existe un intermediario el cual es la capa de servicios. La
capa de servicios se encarga de proveer de web services que a su vez se conectan a otros
servicios y sistemas, esto debido a que su función principal es proporcionar una capa de
abstracción entre diversas tecnologías. Para el caso del software de logística, la capa de
servicios cumple funciones como el proporcionar información sobre rutas de distribución,
órdenes de venta y para el caso de este desarrollo permite la extracción de la información
de los equipos remotos y de las lecturas de nivel de producto en cada equipo de
telemetría.
 Servidor Web: Aquí es donde se ejecuta el software de logística pues este es del tipo
web, todas las peticiones que realiza las ejecuta por medio de la capa de servicios. Las
tecnologías utilizadas por el software son: html5, AngularJs y Php7 integradas mediante
54

el framework de desarrollo web Laravel 5.7 que se ejecuta mediante un servidor Http
Apache ejecutándose sobre el sistema operativo Ubuntu Server 18.04.1 LTS.
 Usuarios: Los usuarios finales son el personal de logística de la empresa, al ser el
software del tipo web, tienen la posibilidad de usarlo desde distintas plataformas como
computadoras y dispositivos móviles como tabletas, Smartphone y cualquier otro capaz
de ejecutar un navegador web. Los usuarios pueden utilizar el sistema para la creación de
rutas de distribución de los productos asignando las cotizaciones y órdenes de venta a
camiones y vehículos adecuados para el transporte, además poseen la opción de consultar
la información de los equipos de telemetría, información que contiene: estado general del
equipo, alertas emitidas, nivel actual de producto e información histórica de consumo.

4.1.3 Estructura de datos

Figura 12. Estructura de los datos de telemetría.


(Elaboración propia)
55

La información vital para el análisis predictivo se encuentra en las tablas que se muestran en
el diagrama de Entidad – Relación de la figura 12, figura que muestra una toma parcial del
diagrama de la base de datos del software. El detalle de las tablas se describe a continuación:

 tlremotelocationtable: Contiene información sobre el equipo remoto, permite


identificarlo y conocer detalles específicos como: tipo de producto, capacidad de
almacenamiento del contendor, ubicación, cliente al que pertenece, nivel de
reabastecimiento y nivel crítico de producto.
 tlinputtable: Es el encabezado de lectura, se registra una vez por día y hace referencia a
un conjunto de registros que pertenecen a un equipo determinado.
 tlinputdetail: Son todas las mediciones que son recibidas desde los equipos, siempre la
última medición indicará el estado actual del equipo y el nivel de producto disponible en
el depósito, también almacena otros datos relevantes como el nivel de batería el cual es
importante para aquellos equipos que no están conectados a la red eléctrica.

4.1.4 Arquitectura del software de Logística

Figura 13. Componentes del software


(Elaboración propia)
56

El software está construido mediante el uso de diversas tecnologías que tienen la cualidad de
poder ser ejecutadas sobre un ambiente web y, por ende, sobre un navegador o browser, los
componentes interactúan mediante la integración de un framework de desarrollo web, en la figura
13 podemos observar una representación gráfica de la forma en que está integrada cada
tecnología.

 Laravel 5.7: Laravel es un framework de desarrollo web de código abierto y


multiplataforma que permite la construcción de sitios y sistemas web escritos en PHP con
integración con otras tecnologías que también se ejecutan en navegadores. El lema de
Laravel es: “The PHP Framework For Web Artisans” (Laravel, s.f.) que en español
traducimos como “El framework PHP para artesanos web”, su estructura usa el patrón
MVC (Modelo - Vista - Controlador).
 Php7: Es un lenguaje de programación que tiene la característica de ser interpretado (no
compilado) del lado del servidor, esto permite el desarrollo web con contenido dinámico.
PHP fue uno de los primeros lenguajes de programación que tuvo la capacidad de ser
integrado directamente en documentos HTML.
 Html5: Es la última versión del lenguaje de etiquetas: HTML (Lenguaje de marcas de
hipertexto -Por sus siglas en inglés-). Se emplea para la construcción de páginas web
definiendo la estructura de estas mediante etiquetas de texto que el navegador interpreta
para permitir la visualización el contenido.
 Bootstrap: Es un conjunto de herramientas multiplataforma y de código abierto que
permite aplicar estilos y diseños a sistemas y páginas web. Es una combinación de
bibliotecas de clases CSS (Hojas de estilo en cascada –Por sus siglas en inglés-) y de
JavaScript que permiten dar forma y generar distintos efectos visuales a las interfaces de
usuario de los sistemas en los que se integra.
 JavaScript: Es otro lenguaje de programación utilizado en el desarrollo web, también es
interpretado como PHP, pero a diferencia de este, su ejecución es del lado del cliente,
tiene una sintaxis similar a C, pero toma también características de Java. Su uso permite
mejorar las interfaces de usuario y la creación de páginas web dinámicas.
 AngularJs: Es un framework de código abierto que es mantenido por Google, está basado
en JavaScript y permite extender el uso del lenguaje hasta el lado de HTML mediante la
integración de directivas en las etiquetas, las cuales obedecen a lo programado mediante
57

AngularJs uniendo comportamientos e información contenida en los archivos de


JavaScript que conforman el proyecto.

4.2 Diseño
La solución implica el agregado de una nueva sección al software de Logística y no un
desarrollo totalmente nuevo, por lo tanto, el módulo debe apegarse al uso de las tecnologías que
en la actualidad usa el software y los componentes que se agreguen deben de respetar la
arquitectura inicial y no causar ningún conflicto con alguno de los componentes funcionales. Una
de las ventajas es que se aprovecharan componentes ya programados tal como elementos de estilo
que deben se seguir siendo los mismos ya disponibles.

4.2.1 Requerimientos
Para alcanzar el objetivo se definen una serie de requerimientos funcionales que deben
cumplirse:
 Selección del cliente: Se debe poder seleccionar el cliente al cual se le realizará el
análisis predictivo, los clientes pueden ser representados mediante el código del equipo
remoto. Los clientes o equipos disponibles serán aquellos que se encuentran instalados
en Guatemala, no se considerarán los que se encuentran en los demás países de Centro
América en los que la empresa tiene operaciones de venta de gases.
 Rango de tiempo configurable: El rango de fechas que se utilizarán para la obtención
de los datos usados en el entrenamiento de la Red Neuronal se deberá poder seleccionar
entre los valores de tiempo adecuados con el fin de encontrar aquellos rangos que
permitan que la RNA calcule los mejores resultados en cuanto al nivel de certeza alto y
bajo porcentaje de error.
 Visualización mediante gráfica: Los resultados de la predicción deben ser visualizados
mediante una gráfica que indique la correlación entre los datos reales y los datos
calculados mediante la RNA, así como los valores de pronóstico sobre los datos que
sean actuales para la estimación del tiempo correcto para reabastecimiento de producto.
 Indicación del porcentaje de certeza y/o error: Se deberá mostrar el porcentaje de
certeza de los valores calculados por la RNA o el error con el que los datos cuentan con
respecto a los valores reales de entrenamiento.
58

 Generación de cotización: Cuando se realice un pronóstico con un nivel de certeza


aceptable, se calculará una fecha de acuerdo con el nivel de advertencia para
reabastecimiento del equipo y se deberá poder crear una cotización con el nivel
adecuado para reabastecer y con una fecha de atención según el pronóstico de la RNA.

4.2.2 Descripción de la solución


En la figura 14 vemos un diagrama de flujo basado en los requerimientos la solución en el que
se puede observar de manera general los pasos que deben cumplirse para llegar al resultado. La
solución deberá permitir que cualquier usuario del software pueda tener acceso al análisis
predictivo, el cual será invocado por medio del listado de equipos ya disponible en el software.

Una vez que el usuario seleccione un equipo, en una nueva pantalla deberá mostrar un análisis
inicial basado en la información del consumo del último mes, también se mostrará una gráfica
comparativa entre la información real y la información que la RNA calcule sobre los mismos
datos con el fin de verificar el porcentaje de error y el porcentaje de confianza de los resultados
obtenidos.

Si el pronóstico es aceptable, entonces se mostrará un botón que permita crear una cotización
con una fecha futura según sea calculada por la RNA y con un porcentaje de producto que
permita reabastecer completamente al cliente, es en ese momento donde juega un papel muy
importante la información sobre el equipo pues entre esta se encuentra los datos necesarios para
la generación de la cotización.
El pronóstico inicial podría no ser el adecuado debido a que el error calculado sea muy alto y
por lo tanto no se tenga una certeza alta mostrando un resultado poco confiable, por ello la
decisión de crear la cotización quedará en manos del usuario quien deberá apoyarse en la
información generada por la RNA y los valores del porcentaje de certeza y/o error mostrado. En
caso de no aceptar el análisis inicial, el usuario podrá cambiar el rango de tiempo sobre el que se
tomarán los datos de consumo hasta alcanzar un nivel de certeza aceptable.
59

Figura 14. Diagrama de flujo general


(Elaboración propia)
60

4.2.3 Actividades clave

Figura 15. Diagrama de secuencia del proceso


(Elaboración propia)
El funcionamiento de la solución depende de una serie de actividades que deben ejecutarse en
el orden preciso tal y como se observa en la figura 15 donde aparece la secuencia en que se
ejecutan los procesos y los actores que se ven involucrados.

 Usuario
 Software de logística
 Capa de servicios
 Base de datos
61

Algunos de estos actores ya fueron mencionados en la figura 1 como parte de los componentes
del software. De las distintas actividades en el proceso podemos separar una serie de ellas que
son parte central del análisis predictivo y deben ser descritas para tener en cuenta durante la
implementación del módulo.

[Link] Obtención de la información para el análisis

La información se encuentra disponible en la base de datos, no es necesaria la creación de un


mecanismo para su extracción puesto que ya se cuenta con una forma de obtenerla mediante web
services que devuelven información necesaria:

 Información general del equipo


 detalle histórico de los niveles diarios de los equipos.

Tabla 2. Información de equipo de telemetría

Información Detalle
Código Ubicación ER-000649T
Cliente Hospital Privado de Especialidades Médicas,
S.A. -
Código de Transmisión 10195
Capacidad 6038 pies Cúbicos
Nivel 52%
Capacidad 6038 pies Cúbicos
Ubicación Quetzaltenango
Batería 9
Nivel de Reorden 29.81%
Nivel Crítico 10%
Especialidad Oxigeno Liquido
Fuente: (Elaboración propia)

En la tabla 2 se observa la información del equipo remoto que se encuentra almacenada en la


tabla tlremotelocationtable de la BD. De este segmento de información, la capacidad del
contenedor y el nivel o punto de reorden (representado en un porcentaje con respecto a la
capacidad) son de los datos más importantes en el análisis de la información.
62

Tabla 3. Detalle de lectura diaria de los equipos de telemetría

Nivel % Batería Fecha de Medición


73 9 23 Jun 2017
68 9 24 Jun 2017
65 9 25 Jun 2017
58 9 26 Jun 2017
50 9 27 Jun 2017
43 9 28 Jun 2017
35 9 29 Jun 2017
28 9 30 Jun 2017
25 9 01 Jul 2017
23 9 02 Jul 2017

Fuente: (Elaboración propia)

En la tabla 3 se observa una sección de la información de consumo de un equipo, los niveles


están representados usando un porcentaje representativo a la capacidad del contenedor, se cuenta
también con la dimensional de la fecha que nos permitirá la representación del consumo con
respecto al tiempo. El dato correspondiente al nivel de batería no será utilizado porque carece de
utilidad para el análisis del consumo al no tener relación con ello.

Tabla 4. Web services para la obtención de la información


Web Service Descripción
1 api/devices/{remoteLocationId} Obtiene detalle de una
ubicación remota
2 api/devices/inputRange Obtiene listado de
lecturas en un rango
establecido

Fuente: (Elaboración propia)

El detalle de los webs services disponibles se encuentra en la tabla 4, la primera dirección web
permite la obtención del detalle del equipo de telemetría, como único parámetro recibe el
identificador del equipo el cual se envía como parte de la URL.
63

La segunda dirección corresponde al Web Service para la obtención del detalle de mediciones
del equipo, este Web Service no recibe ningún parámetro como parte de la URL, sin embargo, se
le deben de enviar una serie de parámetros en el cuerpo de la petición web, en la tabla 5 se
detallan los datos necesarios, su tipo y la descripción de cada uno.

Tabla 5. Parámetros del Web Service de detalle de mediciones

Nombre Descripción Tipo

maxNumber Número máximo de datos Integer

dateFrom Fecha inicial del rango Date

dateTo Fecha final del rango Date

remoteLocationId Identificador del equipo String

Fuente: (Elaboración propia)

Los parámetros: dateFrom y dateTo permiten configurar el rango de tiempo de los datos que
capturaremos y usaremos en el entrenamiento de la RNA para nuestro análisis predictivo. Si fuera
necesario limitar la cantidad de datos que serán recibidos, esto se realizará mediante el campo
maxNumber.

[Link] Obtención de las variables de entrada

La información general sobre el equipo no forma parte de los datos de entrada para la RNA, el
entrenamiento de la red se realizará utilizando los datos de consumo del equipo por lo que es a
estos a los cuales se les aplica un proceso para hacerlos entendibles a la RNA la cual para su
funcionamiento es recomendable que le sean ingresado valor continuos comprendidos entre 1 y 0.
La información del consumo contiene únicamente:

 Nivel disponible de producto (porcentaje)


 Fecha de la lectura

Una vista general podría indicarnos que solamente se contará con una variable de entrada para
el entrenamiento puesto que, el nivel de producto será parte del resultado entregado por la Red
Neuronal; sin embargo, se aprovechará la información contenida en la fecha de forma tal que se
64

cuenten con 3 variables de entrada, realizando una adecuación tomando como valores
independientes de la fecha, el mes y el día de la semana en que ocurrió la lectura.

En la tabla 6 se brinda una visión sobre la forma en que se dará formato a la fecha para extraer
las tres variables con las que se dispondrán para el entrenamiento de la RNA:

Tabla 6. Variables de la fecha

Dato Variables
Fecha: 26
26 de septiembre Mes: 9
Día: 3

Fuente: (Elaboración propia)

 Fecha Es un valor numérico representativo del número del día de la lectura, estará
comprendido entre el 1 o 30 (o 31 según el mes).
 Mes Es un valor numérico que representa el número de mes del año, su valor estará
comprendido entre 1 y 12. (enero 1, febrero 2, marzo 3, etc.)
 Día Es una representación numérica del día se la semana, su valor será un numero entre 1
y 7. (lunes 1, martes 2, miércoles 3, etc.)

[Link] Análisis de los datos

Una vez que se realice la adecuación de los datos debe ejecutarse el proceso de análisis de la
información por medio de la RNA.

Este análisis se realiza en dos pasos:

 Entrenamiento de la RNA: Se realiza utilizando la información ya procesada como


entrada de la RNA, los datos históricos son importantes pues la RNA recibe en su
entrenamiento un lote de datos que representan al sistema bajo análisis y cuya salida o
respuesta ya es conocida. La Red Neuronal realiza los cálculos correspondientes y
compara el valor de salida resultante con el dato real esperado, generalmente el valor de
salida no es el correcto y los valores internos de la red son ajustados de manera
automática por el sistema por lo que el proceso es del tipo iterativo con el objetivo de
obtener la mejor respuesta con el valor más cercano al real.
65

 Generación del pronóstico: El consumo del producto causa que los niveles disponibles
caigan poco a poco, pasando desde el estado lleno hasta llegar al punto de reorden. Es de
suponer que esto causa un descenso paulatino del nivel que tiene cierta constancia y en
algunos momentos alguna irregularidad, si graficamos este comportamiento mediante una
gráfica de puntos, se observará una sucesión de puntos a diferentes niveles, pero con una
tendencia a caer. Para este tipo de comportamiento se puede calcular una línea de
tendencia que representa una línea que, trazada entre el inicio y el final de las lecturas,
pasará muy cerca de la mayoría de las marcas. Si se calcula una línea de tendencia
entonces se podrá hacer una aproximación o pronóstico de los valores faltantes en la serie
numérica. Una RNA tiene entre sus posibilidades la realización del cálculo de esta línea
mediante un análisis conocido como regresión lineal que toma una forma tal como se ve
en la figura 16. La razón de elección de este modelo es debido a que su uso nos permite
encontrar el valor de una variable cuando otra u otras toman un valor específico de un
sistema que muestre un comportamiento decreciente o creciente, por este motivo el
análisis de los datos usando este modelo se acopla debido a que el consumo representa
una linealidad entre el uso del producto y el tiempo.

Figura 16. Representación gráfica de regresión lineal


(REGRESIÓN LINEAL O MÍNIMOS CUADRADOS, s.f.)
66

[Link] Representación gráfica de los datos

Los datos numéricos representados de forma tabular pueden causar algún tipo de confusión o
dificultad para ser interpretados. Por este motivo, la solución proporcionará una representación de
estos por medio de graficas lo que permitirá contar con una forma más visual de comparar los
resultados. El tipo de gráfico a utilizar será por medio de puntos sobre los cuales se trazará una
línea, definiendo dos tipos de gráfica:
 Gráfica de análisis comparativo: En este gráfico se mostrará la información
correspondiente a dos series de datos, la primera con la información real del consumo en
el rango de tiempo analizado y la segunda correspondiente con línea de consumo
calculada sobre los mismos datos por medio de la red neuronal. Tal como se aprecia en la
figura 17, si la RNA mediante el entrenamiento logró adaptarse a un modelo cuyo
comportamiento se aproxime al real, entonces la información calculada por la RNA
deberá apegarse al modelo de regresión lineal descrito en la figura 6, por lo que la línea
que se muestre en la segunda serie de datos deberá mantenerse lo más cerca posible a la
línea de consumo marcada por los puntos de la información real con lo que podemos tener
una idea más clara sobre la certeza de los datos.

Figura 17. Ejemplo de gráfico comparativo de consumo real y calculado por la RNA.
(Elaboración propia)
67

 Gráfica de pronóstico: Con la RNA entrenada se procede a generar un pronóstico del


consumo para los días siguientes, el pronóstico debe mantener la forma decreciente según
lo marcado en la línea de pendiente. De esta forma se obtendrá, en base al nivel de
reorden, una fecha aproximada en la cual deberá despacharse producto. La función de la
gráfica es proporcionar una segunda verificación sobre el resultado de los cálculos de la
RNA, pues una observación del pronóstico permitirá dar una idea de la correlación lógica
con los datos reales y los proyectados. La figura 18 nos muestra la forma en que se deberá
observar la gráfica del pronóstico, mostrando al inicio la información real y luego en otro
color lo que la RNA calculó.

Figura 18. Ejemplo de gráfica de pronóstico


(Elaboración propia)

[Link] Generación de la cotización

Como parte final de un análisis y pronóstico confiable, se habilita la posibilidad de crear una
cotización para brindar la atención oportuna al cliente. La funcionalidad para crear una cotización
ya es parte del software por lo que solamente se integrará al módulo de análisis predictivo, con la
diferencia de que datos como la fecha y la cantidad de producto a despachar serán fijados en base
68

a lo pronosticado por la RNA. Al igual que con la obtención de datos para el análisis, la
generación de la cotización se realizará mediante un web service especifico que se detalla en la
tabla 7.

Tabla 7. Web service para la creación de una cotización.

Web Service Descripción


1 api/devices/createQuotation/{remoteLocationId} Crea una cotización para
el equipo remoto

Fuente: (Elaboración propia)

El parámetro que se envía por medio de la URL es el identificador del equipo remoto,
mientras que en el cuerpo de la petición es necesario enviar:

 Fecha para la cotización: que indica la fecha de entrega del producto.


 Porcentaje: La cantidad de producto que deberá ser despachada.

Finalmente, la cotización es creada solo quedando en espera de ser aprobada o rechazada.


Capítulo V - Implementación -

5.1 Componentes y procedimientos


En el capítulo anterior se describieron los diversos componentes del software en el que se
integrará la solución. En este capítulo de realiza la descripción detallada de los procedimientos
necesarios y las partes involucradas en la implementación.

5.1.1 Herramienta de programación

Figura 19. Vista del área de trabajo del IDE PhpStorm.


(Jetbrains, 2018)
Dado que el software está construido mediante el framework Laravel, la programación del
módulo de análisis predictivo se realizó en el IDE (-Entorno de desarrollo integrado por sus
siglas en inglés-) PhpStorm que es una herramienta de la empresa JetBrains que cuenta con
herramientas para programar en PHP. La elección de este IDE está basada en las siguientes
ventajas de la herramienta:

 Soporte para diversos frameworks de programación web entre los que se incluye Laravel.
 Soporta diversas versiones de PHP.

69
70

 Incluye e integra tecnologías de front-end como HTML5, CSS, JavaScript y tecnologías


derivadas tal como Angular.
 Incluye un potente motor de depuración de código.

PhpStorm es una herramienta con una gran cantidad de herramientas integradas tal como se
ve en la imagen 19, su uso requiere del pago de una licencia, sin embargo, esto se ve solventado
gracias a que se posee una licencia de uso del tipo estudiantil.

5.1.2 Estructura de clases


En la figura 20 se muestran las clases que contienen la lógica de funcionamiento del módulo
que se agregará al software de logística. En este punto se integra PHP y JavaScript gracias a la
ejecución del servidor web y del navegador cliente del software.

Figura 20. Diagrama de clases


(Elaboración propia)
71

[Link] TelemetriaController

Es una clase escrita en PHP que vista desde el lado de Lavarel cumple el papel de
Controlador. La función de esta clase es la conexión con la capa de servicios y los web services
de la tabla n.
Las variables de la clase son:

 jsonResponse: Almacena un objeto Json (notación de objeto de JavaScript –Por sus


siglas en inglés) en su representación en texto, es reutilizada por todos los métodos de la
clase.

Las funciones que contiene la clase son:

 getDetailsRemoteLocation: Establece la conexión con el web service que proporciona la


información sobre el equipo remoto, la respuesta es en formato Json.
 getRemoteLocationMeasures: Establece la conexión con el web service que proporciona
el detalle de las medidas de nivel de producto del equipo remoto, al igual que la función
anterior la respuesta es un objeto en formato Json.

Los procesos de esta clase se ejecutan del lado del servidor web y según el modelo de
programación definido por Laravel, se pueden ejecutar sus métodos mediante una ruta basada en
una URL interna a la estructura del software. Internamente cada método crea un enlace que
apunta a otra URL externa alojada en la capa de servicios.

La razón para utilizar el formato Json para las respuestas es por la versatilidad que ofrece para
el intercambio de información entre distintas tecnologías y es de muy fácil manejo en JavaScript.

[Link] TelemetriaService

Esta clase está escrita en JavaScript, bajo el modelo del framework Angular, su función es la
creación de un servicio reutilizable desde cualquier otra clase donde se inyecte según el modelo
de programación Angular.
Las variables de la clase son:

 serviceBase: Almacena en formato de texto un fragmento de la URL a donde deben de


realizarse las llamadas a los web services.
72

 telemetriaFactory: Es un objeto nativo de Angular que permite la exportación del


servicio como un objeto inyectable en otras clases.

Las funciones que contiene la clase son:

 _getRemoteLocationDetails: Utilizando la clase TelemetriaController, obtiene la


información sobre el equipo remoto, la respuesta mantiene el formato Json.
 _getRemoteLocationMeasures: De manera similar a la función anterior, obtiene el
detalle de las medidas de nivel de producto del equipo, manteniendo el formato de
respuesta.

A diferencia de la clase anterior, los procesos de esta clase se ejecutan del lado del cliente
web, es decir en el navegador. El uso de la clase TelemetriaController y TelemetriaService
agrega 2 capas de aislamiento desde el cliente web y la capa de servicios.

[Link] equipmentForecastCtrl

Clase también escrita en JavaScript, ejecuta las operaciones finales para el análisis y
presentación de los resultados. Bajo la arquitectura de Angular es una clase del tipo Controlador,
teniendo entre sus funciones enlazar los datos con la interfaz gráfica que se construye con
HTML5.

 model: Instancia de clase de la librería utilizada para la creación de la RNA.


 config_hidden, config_output, hidden, output: son objetos de estructura Json que
establecen la estructura con la que se construye la RNA.
 optimize, config: Objetos Json que configuran la forma de operación de la RNA.
 x_train_tensor, y_train_tensor: Arreglo de datos de entrada y salida para el
entrenamiento de la RNA.
 rnaData: Objeto Json para almacenar la información que será graficada, contiene los
datos de consumo real y los calculados por la RNA.
 foreCastData: Objeto Json, almacena los datos de pronóstico de la RNA que al igual que
la variable anterior será graficada.
 remoteLocation: Identificador del dispositivo en formato de texto.
73

 months: Número que indica el número inicial de meses que abarca el rango de datos para
el análisis.
 deviceCapacity: Número que representa la capacidad de almacenamiento del equipo.
 averageError: Número que indica el promedio error en los cálculos de la RNA con
respecto a los datos reales, es un valor porcentual.
 acumulatedError: Número que marca el porcentaje acumulado de error en los cálculos
de la RNA.
 reorderDateForecast: Fecha de reorden pronosticada.
 showForecastDetails: Variable booleana que indica si se debe mostrar o no los
resultados del pronóstico.
 highError: Variable booleana que indica la existencia de un error de pronóstico muy
alto.
 today: Fecha del día.
 dateRange: Objeto que contiene la fecha de inicio y fecha final que marca el rango de
datos para el análisis predictivo.

Las funciones y procedimientos se describen a continuación:


 makeChart: Procedimiento que se encarga de realizar la gráfica comparativa de los datos
reales y los calculados por la RNA usando para ello el objeto json rnaData.
 makeForecastChart: Procedimiento que grafica la línea de pronóstico de la RNA usando
el objeto json foreCastData.
 getRemoteLocationDetail: Invoca el servicio de consulta de los detalles de un equipo
remoto
 getDataGraph: Invoca el servicio de consulta del detalle de consumo de un equipo
remoto.
 getDateToStr: Convierte una fecha a tipo texto desde un tipo Date.
 zeroFill: Utilizada por la función getDateToStr, agrega los 0´s necesarios para completar
el texto a un formato legible.
 changeData: Se invoca cuando el usuario realiza un cambio de fecha en el rango de
análisis.
74

 getTensors: Realiza el proceso de adecuación de la información para que sea entendible


por la RNA, también cumple la función de realizar el proceso de entrenamiento de esta y
generar el análisis predictivo.
 goRemoteLocation: Redirecciona la página hacia el listado de todos los equipos.
 genQuotation: Inicia el proceso de creación de una cotización.
 confirmCreateQuot: Completa el proceso de creación de la cotización.

5.1.3 Análisis predictivo


El análisis predictivo es la parte final del funcionamiento del módulo y es la función principal
que cumple la RNA. En la clase equipmentForecastCtrl la variable model es quien cumple toda
esta función. La herramienta para el modelado de la RNA debe de cumplir con los siguientes
requisitos:
 Poder configurar una RNA con diferentes valores de entrada y salida.
 Capacidad para realizar un análisis del tipo de regresión lineal.
 Ser compatible con las tecnologías empleadas en el software de logística.

[Link] TensorFlow™

TensorFlow™ es una biblioteca de IA de código abierto utilizada en tareas como el


aprendizaje automático, reconocimiento de imágenes y de patrones. La librería fue desarrollada
por Google con el fin de construir Redes Neuronales y para sus investigaciones en el área de la
IA. Inicialmente la librería fue desarrollada para uso interno de Google para la integración en sus
productos e investigaciones, “antes de ser publicado bajo la licencia de código abierto Apache 2.0
el 9 de noviembre de 2015”. (Wikipedia, 2018).

Figura 21. Logotipo de TensorFlow


(TensorFlow, 2018)

TensorFlow™ es capaz de realizar cálculos numéricos usando matrices multidimensionales


llamados tensores con la capacidad de ejecutarse en una o varias CPU o GPU de computadoras
75

de escritorio, dispositivos móviles o servidores por lo que se ha convertido en una herramienta de


propósito general para uso en distintos campos y aplicaciones.

TensorFlow™ posee una API principal (Interfaz de programación de aplicaciones -Por sus
siglas en inglés) en Python, pero ofrece versiones para otros lenguajes de programación como
C++, Haskell, Java, Go y Rust. La integración en el módulo de análisis predictivo es gracias a
una de estas versiones específicamente para JavaScript, versión conocida como TensorFlowJs y
que es fácilmente integrada a cualquier proyecto web mediante una etiqueta en el código HTML
gracias a una etiqueta de script que permite la descarga de la librería gracias a una red de
distribución de contenidos (CDN -por sus siglas en inglés-).
El uso de un CDN permite que no sea necesario instalar ni realizar ningún procedimiento
especial para empezar a usar la librería, la cual estará disponible directamente en cualquier
archivo JavaScript del software de logística que es donde finalmente se usará.

Figura 22. Integración de TensorFlowJs a un proyecto web.


(TensorFlowJs, Getting Started, s.f.)
76

[Link] Configuración de la RNA

El diseño de una RNA con TensorFlow™ no presenta ninguna dificultad, luego de realizado
el modelo generado gracias a la librería, este debe ser adecuado de acuerdo con el tipo de
información que analizará, el tipo de análisis que se requiera y el tipo de resultado que deba
generar.

Las configuraciones necesarias para la red neuronal son las siguientes:

 Capa de entrada: Recibe los parámetros de entrada o variables que intervienen en el


sistema para la generación de la salida. Son datos referentes al entorno y que influyen en
la forma en que la salida cambia.
 Capas ocultas: Son neuronas que no tienen conexión directa con los datos de entrada ni
con los datos de salida de la RNA. En estas capas ocurre la mayoría de los cálculos
necesarios para generar el resultado.
 Capa de salida: Es la etapa final y la que provee la salida o solución del sistema que
representa el pronóstico de la RNA.
 Tipo de análisis: Se eligió un análisis de regresión lineal puesto que se busca encontrar
la línea de tendencia para el consumo de los productos.
 Tipo de activación: Según la forma de funcionamiento de las RNA vista en el capítulo 2,
sabemos que cada Neurona Artificial tiene una forma de activación o de disparo que es el
momento en el que pasa de estar en reposo a transmitir la información a la siguiente
Neurona en la Red. TensorFlow™ ofrece distintas formas de activación de las cuales se
eligió la función sigmoide debido a que la mayoría de los procesos naturales presentan
ese tipo de activación.

Tabla 8. Configuraciones de la RNA


Parámetro Configuración elegida
Capa de entrada 3 neuronas
Capas ocultas 2
Capa de salida 1 neurona
Tipo de análisis Regresión lineal
Tipo de activación Sigmoide
Fuente: (Elaboración propia)
77

Las configuraciones para la RNA pueden observarse en la tabla 1, las neuronas de entrada
están definidas considerando lo descrito en la tabla 8 donde se describe la razón por la cual se
cuenta con 3 datos de entrada.

La capa de salida es una sola neurona donde convergen los cálculos de las capas ocultas, se
usará solo una neurona debido a que la predicción es únicamente un valor que representará el
consumo del equipo en momento determinado en el futuro. La representación de la RNA
empleada se observa en la figura 23.

Figura 23. Representación pictórica de la RNA


(Elaboración propia)

[Link] Proceso de entrenamiento

El entrenamiento de la RNA consiste en la introducción de un lote de datos con su respectiva


salida y de manera iterativa comparar el resultado calculado con el real, ajustando los valores
internos de la red hasta que el resultado se acerque lo más posible al dato correcto. Este proceso
se realiza de forma automática y solo nos debemos preocupar por proporcionar el grupo de datos
adecuado.

El entrenamiento de la RNA hace que el modelo inicial definido por las configuraciones al
modelo cambie hasta que su ajuste al modelo real, esta habilidad de la RNA es lo que conocemos
como aprendizaje. La calidad de la información es vital para el entrenamiento y por ello es
78

importante que ésta sea correcta en su estructura y adecuada a la forma de trabajo de la RNA, en
la tabla N observamos el esquema en que se presenta la información sobre los consumos de los
equipos mientras que en la tabla 9 notamos la forma en que se obtienen las variables de entrada.
En la adecuación de la información debemos considerar el tipo de dato que representan:

 Información de consumo: Indica los distintos niveles de producto y como desciende día
con día, expresado en un nivel porcentual. Esta información no indica de manera directa
cuanto se consumió, nos indica un estado o cantidad disponible en un momento dado y
por ello se debe trasladar el dato a uno que nos indique cuanto del producto fue
consumido. El proceso de descenso del nivel del producto nos dice que, para cada dato, el
dato anterior debería ser superior, por lo que para conocer cuánto producto se consumió
basta con restar del valor inmediato anterior, el valor que se está analizando.

Tabla 9. Adecuación del valor de consumo para la RNA

Nivel % Fecha de medición Conversión de la información Resultado

65 25 Sep 2017 –

58 26 Sep 2017 (65 – 58) ÷ 100 0.07

50 27 Sep 2017 (58 – 50) ÷ 100 0.08

43 28 Sep 2017 (50 – 43) ÷ 100 0.07

Fuente: (Elaboración propia)

El proceso de adecuación de los datos de consumo es visible en la tabla 9 y se realiza según la


fórmula de la figura 24 donde:

 V1 es el valor inmediato anterior


 V2 es el valor bajo análisis

( )

Figura 24. Fórmula para el cálculo del consumo de un equipo


(Elaboración propia)
79

Debido a que los cálculos se realizan sobre un valor porcentual, la respuesta será un consumo
también porcentual, por lo tanto, se procedió a dividir el valor entre 100 para que el dato se
mantenga en un valor entre 0 y 1.

El valor inicial en el cálculo se descarta debido a que no existe un dato anterior con el cual
aplicar la fórmula y obtener el valor de consumo para ese punto en la información. El conjunto de
datos así obtenidos, son procesados por la clase equipmentForecastCtrl y representados en la
variable x_train_tensor.

Tabla 10. Adecuación de la variable de salida

Dato Variables Conversión de la información Resultado


Fecha: 26 26 ÷ 100 0.26
26 de septiembre Mes: 9 9 ÷ 100
0.09
Día: 3 3 ÷ 100
0.03

Fuente: (Elaboración propia)

 Valores de Entrada: En tabla 10 vemos la forma en que se obtiene la información de


entrada para la RNA tal como se ve en la tabla X del capítulo IV. Sin embargo, se aplica
una conversión final para que estas variables tengan correlación con la salida. La
modificación consiste simplemente en dividir entre 100 la variable original manteniendo
constante que se mantengan entre 0 y 1. Los valores así obtenidos se convierten en la
variable y_train_tensor completando la información necesaria para el entrenamiento de
la red tal y como se muestra en la figura 25.

x_train_tensor y_train_tensor

.26
. 9 .7
. 3
Figura 25. Tensores de entrada y salida para la RNA
(Elaboración propia)
80

[Link] Pronóstico de la RNA

El entrenamiento de la RNA provee el modelo ajustado a las características del sistema de


consumo por lo que si les la correcta, la red deberá proporcionar a su salida valores de pronóstico
muy cercanos a los reales al ingresar valores nuevos de los cuales se desconoce el resultado. El
pronóstico se realiza tomando en cuenta el ultimo nivel del equipo y el nivel de reorden, se crea
una iteración con variables de entrada generadas simulando el cambio de fecha y calculando el
nivel del equipo que deberá apegarse a la tendencia de descenso provocado por el consumo de
producto. La iteración se detiene en el momento en que el pronóstico alcanza el nivel de reorden
tomando como resultado la fecha futura en la que se espera el nivel de producto sea lo
suficientemente bajo como para requerir el reabastecimiento.

[Link] Calculo del Error

Un elemento importante para el análisis del resultado y validación del pronóstico es el margen
de error de los cálculos. Este error indica la desviación que pueda ocurrir de los datos calculados
por la Red Neuronal tomando como referencia los datos reales, siendo esta variación un indicador
de que tan cercano o alejado está el modelo entrenado del sistema real.

Tabla 11. Cálculo de error de la RNA

Valor real Cálculo por la RNA Cálculo de desviación Error


5098 5090 (1 – (5090 ÷ 5098)) * 100 0.1569 %
5000 5030 (1 – (5000 ÷ 5030)) * 100 0.5964 %
4050 4100 (1 – (4050 ÷ 4100)) * 100 1.2195 %
4000 4050 (1 – (4000 ÷ 4050)) * 100 1.2345 %

Fuente: (Elaboración propia)

La desviación en los resultados pude darse hacia el extremo inferior o superior del valor real y
la forma elegida para su representación es un valor porcentual el cual se calcula con el
procedimiento de la tabla 11 el cual da como resultado un porcentaje equivalente al margen de
error entre los datos evaluados.
81

5.1.4 Representación gráfica de la información


El módulo muestra una parte de la información en forma tabulada, sin embargo, ofrece una
perspectiva visual por medio de dos gráficas lo que permite un análisis más completo sobre los
resultados ofrecidos por la RNA. Para la creación y visualización de estos gráficos se empleó una
herramienta que al igual que TensorFlow™, se acopla con las tecnologías empleadas por el
software.

[Link] Amcharts

Amcharts es la librería utilizada para la realización de las gráficas mostradas por el módulo,
en su sitio web se describe como “un conjunto de bibliotecas y herramientas de programación
para todas las necesidades de visualización de datos en la web” (Amcharts, 2018).

Para el uso de la librería puede optar por comprar la licencia correspondiente pero los
desarrolladores también permiten su uso en software no comercial y para evaluación de sus
funcionalidades. Amcharts posee diversas características por las cuales se eligió para mostrar de
manera gráfica la información, entre estas características están:

 Es una herramienta exclusiva para su uso en entornos web debido a que está escrita en
JavaScript y la integración con el software se realiza de manera sencilla.
 Configuración de los datos por medio de notación de objetos Json.
 Gran variedad de tipos de gráficos entre los que se incluyen: de línea, área, columna,
barra, XY y dispersión. En la figura 26 se observa un ejemplo de una gráfica de línea
realizada con Amcharts.
 Capacidad para combinar distintos tipos de gráfico.
 Manejo de fácil de los ejes de tiempo y fecha.
 Se pueden crear gráficas interactivas y en tiempo real.
 Permite la exportar los datos en formatos de imagen como PNG y JPG además de PDF,
Excel y CSV.
 Compatible para su visualización desde dispositivos móviles con pantalla táctil.
 Se adapta a los cambios en el tamaño las ventanas del navegador desde el que se
visualice.
82

Figura 26. Gráfica de línea de Amcharts


(Amcharts, 2018)

5.1.5 Implementación final


[Link] Pantalla principal

Figura 27. Pantalla principal del software


(Software de Logística)
83

En la figura 27 se observa la pantalla principal del software con la identificación de las


principales partes de la interfaz:
1. Acceso al menú principal: Permite el despliegue de todas las funciones disponibles en el
software.
2. Indicador de la empresa: Muestra y permite seleccionar entre las diferentes según los
países donde se usa el mismo software.
3. Indicador de la sucursal: Muestra la sucursal que el usuario tiene asignada.

El menú principal permite invocar todas las funciones con las que cuenta la herramienta y tal
como se observa, entre sus funciones se encuentran no solamente las funciones de telemetría,
también se incluyen funciones para la administración y generación de rutas para la distribución
de los productos y un apartado para el seguimiento de cotizaciones.

Figura 28. Menú de Telemetría


(Software de Logística)
En la figura 28 se muestra el menú del software y la sección de telemetría con las funciones
disponibles entre la que destaca el listado de equipos que se pude desplegar con la información
relevante sobre cada uno de ellos.
84

[Link] Pantalla de selección de equipo

Figura 29. Pantalla de selección de equipo


(Software de Logística)
La figura 29 muestra el listado general de equipos, cada uno de ellos mediante su Id, permite
que se pueda ir al módulo implementado.

[Link] Interfaz principal de pronóstico

Figura 30. Interfaz de pronóstico


(Software de Logística)
85

En la figura 30 se observa la interfaz principal en la que se realiza el análisis predictivo,


remarcado en rojo a la izquierda se encuentra el área de gráficos en la que se encuentran el
gráfico comparativo del entrenamiento y el gráfico de pronóstico. El recuadro derecho detallado
en la figura 13 se encuentra información sobre el análisis, partiendo de la parte superior (1) la
información general del equipo y a continuación (2) un detalle tabulado sobre la información
utilizada para el entrenamiento y los valores calculados por la RNA que sirve para el cálculo del
error en estos. Finalmente, en la parte inferior (3), un resumen del análisis y la opción para la
creación de una cotización.

Figura 31. Detalle del entrenamiento y análisis predictivo.


(Software de Logística)
86

Figura 32. Área de gráficos


(Software de Logística)
En la figura 32 se observa la sección correspondiente al área de gráficos, en el recuadro se
encuentran los controles que permiten que se ajusten las fechas para el rango que se usará para la
obtención de los datos para el análisis. Para visualizar las distintas gráficas, se debe realizar el
cambio de pestañas que se encuentran en la parte superior izquierda del gráfico.
Capítulo VI - Resultados -

6.1 Pruebas
Para verificar el funcionamiento del análisis predictivo se eligió una muestra de 3 equipos con
los productos: Oxigeno, Nitrógeno y Gas Carbónico en presentación líquida, en la tabla 1 se
muestra la información sobre los equipos que se utilizarán, indicando el identificador del equipo
y el producto que almacena.
Para realizar el entrenamiento de la RNA y el posterior análisis predictivo se utilizó
información de lecturas de los equipos seleccionados en un rango de 2 meses con el fin de
determinar la precisión alcanzada en dicho periodo. La parte visual se complementa con una
descripción de los gráficos obtenidos del análisis y el pronóstico correspondiente con la inclusión
del detalle de las últimas 10 lecturas con el cálculo del error acumulado y el error promedio para
determinar la precisión obtenida.
Para la gráfica de análisis, se representará en color rojo la información real de las lecturas de
los equipos de telemetría; mientras que, en la gráfica de pronóstico el color celeste representará
las últimas lecturas completando la gráfica con el color naranja para mostrar los valores
obtenidos por la RNA como del pronóstico.

Tabla 12. Equipos de muestra

No. Equipo Producto

1 EQ-000649 Oxigeno Líquido

2 EQ-0000 Gas Carbónico

3 EQ-00003 Nitrógeno Líquido

Fuente: (Elaboración propia)

87
88

6.1.1 Equipo de Oxigeno Líquido

[Link] Análisis predictivo

Figura 33. Análisis predictivo de un equipo de Oxigeno Líquido


(Software de telemetría)

La figura 33 muestra el resultado del análisis predictivo para un equipo que contiene Oxigeno
Líquido. Podemos observar que, al final de la gráfica los cálculos se separan con respecto a la
línea de consumo real, en la figura 34, se tiene la información tabulada de las ultimas 10 lecturas,
el valor calculado y el error o desviación que se tiene considerando el valor real.
89

Figura 34. Pronóstico y error a 2 meses: Equipo Oxigeno Líquido


(Software de Logística)

La ponderación del error de la figura 34 nos muestra que el error acumulado llega al 94% del
cual extraemos el error promedio de estas últimas lecturas el cual, aun cuando la gráfica muestra
una desviación notable, este no supera el 9.4% y podemos establecer que la precisión es 90.6% lo
cual habilita la opción para la creación de una cotización con fecha 30 de octubre de 2018.
90

[Link] Pronóstico

Figura 35. Equipo de Oxigeno Liquido: Gráfico de pronóstico


(Software de Logística)

La última lectura del equipo analizado ocurrió el 15 de octubre por lo que el pronóstico de la
figura 35 se anticipa 15 días al nivel de reorden del equipo dando un margen adecuado para poder
despachar el producto al cliente.
91

6.1.2 Equipo de Gas carbónico líquido

[Link] Análisis predictivo

Figura 36. Análisis de un equipo de gas carbónico usando 9 meses


(Software de logística)
Para el caso de la figura 36, fue necesario realizar un análisis utilizando información con un
rango de 9 meses, debido a que un rango menor no generaba un resultado valido mientras que en
ese rango, se genera una gráfica con una aproximación mucho más cercana a la información real.
Algo que podemos resaltar es el consumo constante que presenta el equipo sin cambios abruptos
en los niveles.
92

Figura 37. Pronóstico y error a 9 meses: Equipo Gas carbónico líquido


(Software de logística)
La linealidad de los datos y una mayor aproximación de los resultados dados por la RNA
también significa un incremento en el nivel de precisión en el pronóstico, con un error promedio
en las últimas 10 mediciones de tan solo 0.29% lo que lleva el nivel de certeza a 99.71% el cual
es un nivel aceptable para sugerir la creación de una cotización tal como se ve en la figura 37.
93

[Link] Pronóstico

Figura 38. Equipo de Oxigeno Líquido: Segundo gráfico de pronóstico


(Software de logística)
El consumo de producto para este equipo es más discreto por los leves descensos diarios por
lo que fue necesario el uso de un rango mayor de datos para el entrenamiento de la RNA, por ello
la gráfica de pronóstico de la figura 38 extiende sus valores hasta un rango aproximado de un mes
para que el equipo llegue a el nivel de reorden.
94

6.1.3 Equipo de Nitrógeno líquido

[Link] Análisis predictivo

Figura 39. Análisis predictivo de un equipo de Nitrógeno líquido


(Software de logística)
En este caso particular, es notable que en algunos puntos la línea de consumo se mantiene sin
cambio alguno durante algún periodo de tiempo lo que nos indica que, en esos días el cliente no
consumió el producto. Aun así, la gráfica de la figura 39, que fue generada por la RNA se
mantiene lineal y muy cerca de todo el recorrido durante todo el rango de tiempo analizado.
95

Figura 40. Pronóstico y error a 2 meses: Equipo Nitrógeno líquido


(Software de logística)
Con dos meses de datos el pronóstico llega a un factor de certeza del 99.64% aun
considerando las alteraciones de consumo mostradas por el equipo pues según lo visto en la
imagen 40, cada valor en el pronóstico posee desviaciones de menos del 1% de error.
96

[Link] Pronóstico

Figura 41. Equipo de Nitrógeno líquido: Gráfico de pronóstico


(Software de Logística)
La imagen 41 muestra la gráfica de pronóstico correspondiente al equipo de nitrógeno líquido,
la gráfica muestra cambio notable de un nivel muy bajo a un nivel de producto algo, indicando
esto un llenado o reabastecimiento. La línea de pronóstico se apega entonces al consumo anterior
al llenado.
97

6.2 Propuesta técnica


Las pruebas realizadas al módulo de análisis predictivo permiten que se pueda realizar una
propuesta técnica que busca la automatización del proceso de análisis realizado a los equipos. La
necesidad de lograr la autonomía nace debido a la existencia de más de mil equipos remotos del
sistema de telemetría, número que se incrementa debido a la solicitud de nuevos clientes por lo
que a un mediano plazo podría volverse inmanejable el análisis humano.

Las tecnologías empleadas en el software de logística y su arquitectura (figura 11) permiten


que se pueda realizar una implementación que utilice los mismos conceptos del módulo de
análisis predictivo y cumpla su función de manera automática.

La propuesta toma como base el funcionamiento del listener debido a la configuración,


herramientas usadas, por su arquitectura y porque es capaz de realizar operaciones de manera
autónoma debido a la función que cumple.

6.2.1 Componentes de la propuesta

Figura 42. Modificaciones propuestas


(Elaboración propia)
98

Tal como se propone, el análisis predictivo dejaría de ser parte del software de logística y
pasaría un servicio más del servidor en el que se ejecuta el listener, las modificaciones necesarias
para la implementación del modelo planteado son mínimas y todas se realizarían del lado del
servidor Node tal como se aprecia en la figura 10 que incluye los mismos elementos mostrados
en la figura 42 pero; con el agregado de una línea punteada sobre los componentes que ya no
serían necesarios o que pasan a un segundo plano.

6.2.2 Herramientas a utilizar

[Link] [Link]

Node es la tecnología utilizada en el listener de telemetría, la “js” al final del nombre es


debido a que el lenguaje en que se implementa es una versión de JavaScript que, a diferencia del
usado en la mayoría de las aplicaciones web, no se ejecuta del lado del cliente si no que en el lado
del servidor. [Link] está basado en tecnología de Google, específicamente en el motor Chrome
V8 utilizado para la ejecución del lenguaje JavaScript.

Según la página web de [Link] este es “concebido como un entorno de ejecución de


JavaScript orientado a eventos asíncronos, Node está diseñado para construir aplicaciones en red
escalables” ([Link], 2018).

Algunas de las características de [Link] son:

 Asíncrono y orientado a eventos: esto quiere decir que sus funciones se ven disparadas
en basa a eventos y acciones recibidas, tal como la recepción de información de los
equipos de telemetría con la cualidad de que, es capaz de recibir múltiples peticiones sin
bloquear su funcionamiento gracias a su ejecución asíncrona que difiere de la ejecución
lineal que no permite se ejecute un proceso hasta que se complete el anterior, [Link]
puede ejecutar tareas de forma paralela y simultánea.
 Alta velocidad de ejecución: Una cualidad es que, la ejecución de los programas en
[Link] no se realiza de la manera típica como se hace con JavaScript ya que su
compilación genera código de máquina nativo esto gracias a la implementación de
Chrome V8 que, aunque originalmente se ejecuta sobre el navegador, [Link] se encarga
de ejecutarlo desde el lado del servidor.
99

 Licencia de código abierta: No se requiere la adquisición o pago de una licencia debido


a que es de código abierto y mantenido por Google y por la comunidad de usuarios
alrededor del mundo.
 Módulos: [Link] incorpora de forma nativa una gran variedad de módulos compilados
en la instalación original. Existen además una gran cantidad de módulos realizados por
terceros y que se pueden descargar e integrar a nuestros proyectos
 Gestor de paquetes: [Link] utiliza npm como su manejador de paquetes por defecto
siendo instalado incluso en conjunto con [Link], se ejecuta desde una línea de comandos
y escrito enteramente en JavaScript.

Esta serie de características hicieron que [Link] fuera elegido componente principal del
listener y permiten que pueda utilizarse para la automatización del proceso de análisis
predictivo.

[Link] TensorFlow™ para [Link]

En el capítulo 5 se menciona lo referente a TensorFlow™ y su integración al software de


logística mediante el uso de su versión para JavaScript. Para la ejecución de la propuesta se hace
necesario el uso de la versión de la librería para [Link] la cual pude instalarse mediante
comandos desde una terminal, utilizando el manejador de dependencias Yarn o un comando del
manejador de paquetes (npm) tal como se muestra en la figura 43.

Figura 43. Comando de instalación de TensorFlow™ para [Link]


(TensorFlow, 2018)
100

TensorFlow™ ofrece distintas API‟s para la programación de aplicaciones, así como también
ofrece dos formas de ejecución del software que emplee sus librerías. Para [Link] también
ofrece esta posibilidad por medio de las siguientes versiones:

 Librería para uso en equipo que solo cuenta con microprocesador como unidad central de
proceso.
 Versión para uso en equipos que posean procesadores gráficos o GPU basados en tarjetas
gráficas NVIDIA.

El comando por ejecutar para su instalación dependerá entonces del tipo de librería que
sutilizará para la programación, siendo recomendado el uso de una GPU por estar optimizadas
para cálculos con tensores.

El uso de la librería dentro de un proyecto [Link] se muestra en la figura 44, donde se puede
observar que se realiza de manera muy similar a su versión para JavaScript presentando pequeños
cambios con respecto a la sintaxis por lo que; la configuración de una RNA y la ejecución del
análisis predictivo por medio de esta no tendría grandes cambios.

Figura 44. Uso de TensorFlow™ en [Link]


(TensorFlow, 2018)
101

6.2.3 Requerimientos
Los requisitos propuestos son similares al módulo de análisis implementado, con el agregado
de aquellos que tienen que ver con el funcionamiento automático del sistema propuesto. Basados
en esos requisitos previos, se proponen los siguientes:

 Creación de un usuario virtual: Al operar de manera autónoma, el módulo deberá tener


la capacidad de cumplir algunos de los roles que cumpliría uno de los colaboradores del
área de logística. Por lo tanto, deberá contar con un usuario dentro del sistema con los
permisos adecuados y operar como una entidad virtual o un agente inteligente como los
definidos en el capítulo 2.
 Ejecución fuera de horarios laborales: Considerando la alta velocidad de ejecución de
[Link] y de un sistema informático automatizado frente a un humano, el uso de los
recursos del sistema podría verse comprometido debido a la ejecución de múltiples
procesos en conjunto con las actividades de los usuarios de logística. Para evitar casos de
bloqueos o que se perciba lentitud por el alto consumo de recursos, la ejecución del
análisis predictivo deberá ejecutarse en horarios no laborales para que el sistema
automatizado utilice todo el recurso disponible sin afectar a los demás usuarios.
 Reajuste automático: El módulo debe tener la capacidad para poder realizar ajustes
automáticos tales como: el reajuste de los rangos temporales utilizados para solicitar el
lote de datos para el análisis predictivo, esto con el fin de encontrar el mejor pronóstico
basado en la certeza. También debe ser capaz de descartar equipos en los cuales el análisis
no arroje un resultado confiable.
 Realizar cotizaciones preautorizadas: Cuando se realice un pronóstico con un nivel de
certeza alto, y para el equipo analizado no exista una cotización previa creada o denegada
dentro del rango pronosticado, el sistema deberá ser capaz de crear una cotización
preautorizada para ser revisada por un integrante del equipo de logística para ser aprobada
o denegada según lo considere oportuno.
 Parametrización de valores: Se deberá poder realizar ajustes del sistema por medio de
parámetros que le indiquen el comportamiento o patrón a seguir. Los parámetros por
ajustar deben ser: porcentaje de certeza mínimo para aceptar un pronóstico, horario de
ejecución de las tareas de análisis, rango máximo y mínimo para el tiempo de análisis,
cantidad máxima de repetición del análisis antes de descartar un equipo.
102

 Recuperación ante fallos: Dada la naturaleza autónoma del servicio, este deberá ser
capaz de terminar sus procesos o reiniciarlos también de manear automática cuando por
algún motivo se ejecute una acción que lo lleve a un estado en el que no se llegue a una
respuesta o cuando el tiempo de ejecución sobrepase un máximo admisible.
 Log de operación: Todas las operaciones realizadas por el módulo deben quedar
registradas en un log donde se indique los equipos analizados y las cotizaciones creadas.
Conclusiones

1. El uso de una RNA demostró altas capacidades para la predicción de patrones de


consumo en clientes, en específico y con precisión superior al 80%, fue el resultado de la
aplicación realizada dentro de la empresa de investigación. Por lo tanto, se comprobó que
el uso de la IA en esta empresa guatemalteca si es factible, dado que los resultados
obtenidos superaron la precisión definida inicialmente.
2. La calidad de la información histórica sobre el consumo del producto es vital, para el
ajuste que la RNA realiza durante su entrenamiento. Y con respecto al volumen de datos
necesario, tiene una variación que depende de factores tales como: el tipo de producto y el
giro del negocio del cliente; las cuales se reflejan en la rapidez con la que se consume el
producto.
3. El volumen de datos entre un año y un mes fue suficiente para que los pronósticos a corto
y mediano plazo permitieran mayor certeza al emitir una cotización de producto;
demostrando que, si se aumenta el periodo de los datos, no se afecta significativamente el
resultado y se evita un mayor uso de recursos en el entrenamiento de la RNA.
4. Las capacidades actuales en procesamiento y recursos de las computadoras de tecnología
reciente permiten que se pueda simular una RNA compleja en equipos personales y/o
portátiles, incluyendo hasta los dispositivos móviles. Motivando el uso de librerías como
TensorFlow™, mencionadas en el capítulo 5, que permiten la creación y configuración de
Redes Neuronales sin tener conocimientos profundos en el tema y que además ofrece
múltiples versiones en distintos lenguajes de programación, lo cual incrementa las
posibilidades de integración de la herramienta en múltiples dispositivos y tecnologías.

103
104
Recomendaciones

1. Evaluar otros procesos y actividades de la empresa, que puedan beneficiarse al aplicar


herramientas y técnicas de IA, basados en RNA; dentro de los que se pueden mencionar:
el tiempo estimado de entrega de productos con camiones de distribución y el manejo
inventarios.
2. A estudiantes y profesionales, investigar la aplicación de técnicas de IA en las
operaciones de otras empresas nacionales con giros de negocio diferentes como las del
sector de productos de consumo diario en procesos como la optimización de materias
primas.
3. A profesionales o estudiantes de licenciatura que investiguen temas sobre IA, se considera
que opten por otras técnicas de IA que no están basadas en Redes Neuronales, tales como
las redes bayesianas y modelos puramente estadísticos.
4. Estudiar los equipos que no muestran un consumo lineal de producto, esto con el fin de
determinar los factores que puedan influir en el descenso de los niveles, y plasmarlos en
el modelo por medio de variables que incrementen el número usado en el entrenamiento
de la RNA para mejorar la precisión del pronóstico para esos casos.
5. Verificar que la información enviada por los equipos de telemetría sea lo más fiel posible,
asegurándose que los valores proporcionados se apeguen a la realidad, y que no presenten
ningún tipo de alteración debido a errores de medición inherentes a los equipos,
tecnologías o ambiente en el que se encuentren instalados.
6. Incrementar el número de variables proporcionadas por los equipos de telemetría,
incluyendo valores como aquellos relacionados a TensorFlow™, el medio ambiente de
los puntos geográficos donde se encuentran los equipos; valores como la temperatura, la
humedad relativa y presión atmosférica. Esto debido a que estos valores pueden incidir en
la forma en que los productos son consumidos.
7. Agregar características a los equipos de telemetría, de tal forma que el tipo de producto no
sea la única manera de categorizarlos, permitiendo que se puedan agrupar por
características como: ubicación geográfica y actividad económica del cliente. De esta
forma se podrá establecer relaciones que una RNA podría emplear para mejorar el
pronóstico.

105
106

8. Utilizar otras herramientas de IA diferentes a TensorFlow™, considerando aquellas que


poseen una licencia de pago y que ofrecen la posibilidad de modelar y ejecutar procesos
en servidores en la nube tales como Microsoft Azure.
Anexos

a. Mapa mental

107
108

b. Código fuente

[Link]('equipmentForecastCtrl',
function ($scope,$rootScope,$http,$routeParams, telemetriaService,localStorageService,
$location,quotationMode,customModalService,$modal,vrpService,$filter,$window,
NgTableParams,UserConfig,socket,ngAuthSettings) {

//****************************************************
//Section of neronal network config
const model = [Link]();
//config for layer
const config_hidden = {
inputShape:[3],
activation:'sigmoid',
//activation:'softmax',
units:10
}
const config_output={
units:1,
activation:'sigmoid'
//activation:'softmax'
}
//defining the hidden and output layer
const hidden = [Link](config_hidden);
const output = [Link](config_output);

//adding layers to model


[Link](hidden);
[Link](output);

//define an optimizer
const optimize=[Link](1);
//config for model
const config={
optimizer:optimize,
loss:'meanSquaredError'
}
//compiling the model
[Link](config);
[Link]('Model Successfully Compiled');
//End Neuronal Network config
$scope.x_train_tensor = [];
$scope.Y_train_tensor = [];
//*****************************************************
109

$[Link] = [];
$[Link] = [];

//Gráfica para el análisis comparativo entre la información real y la Red Neuronal


$[Link] = function(){
$[Link] = [Link]("chartdiv", {
"type": "serial",
"theme": "light",
"legend": {
"useGraphSettings": true
},
"dataProvider": $[Link],
"synchronizeGrid":true,
"valueAxes": [{
"id":"v1",
"axisColor": "#FF6600",
"axisThickness": 2,
"axisAlpha": 1,
"position": "left"
}],
"graphs": [{
"id": "graph_real",
//"valueAxis": "v1",
"lineColor": "#FF6600",
"bullet": "round",
"bulletBorderThickness": 1,
"hideBulletsCount": 30,
"title": "real: ",
"valueField": "value",
"fillAlphas": 0,
//"balloonText": "<span style='font-size:12px;'>Real: [[value]]</span>"
}, {
"id": "graph_ann",
//"valueAxis": "v2",
"lineColor": "#FCD202",
"bullet": "square",
"bulletBorderThickness": 1,
"hideBulletsCount": 30,
"title": "RNA:",
"valueField": "rnaValue",
"fillAlphas": 0,
//"balloonText": "<span style='font-size:12px;'>RNA: [[rnaValue]],Error:[[percent]]%</span>"
110

},],
"chartScrollbar": {
"graph": "graph_real",
"oppositeAxis": false,
"offset": 30,
"autoGridCount": true,
"scrollbarHeight": 40,
"backgroundAlpha": 0,
"selectedBackgroundAlpha": 0.2,
"selectedBackgroundColor": "#888888",
"graphFillAlpha": 0,
"graphLineAlpha":0.5,
"selectedGraphFillAlpha": 0,
"selectedGraphLineAlpha":1,
"color":"#AAAAAA"
},
"chartCursor": {
"cursorPosition": "mouse"
},
"categoryField": "date",
"categoryAxis": {
"parseDates": true,
"axisColor": "#DADADA",
"minorGridEnabled": true
},
"export": {
"enabled": true,
"fileName": "value",
"menu": [ {
"class": "export-main",
"menu": [ {
"label": "Descargar Imagen",
"menu": [ "PNG", "JPG", "SVG" ]
}, {
"label": "Descargar Archivo",
"menu": [ "CSV", "PDF" ]
}]
}]
},

})
Glosario
Aeróbico:
1. adj. Biol. Perteneciente o relativo a la aerobiosis o a los organismos aerobios. Ambientes
aeróbicos.
2. adj. Que se produce con la utilización de oxígeno libre. Ejercicios aeróbicos.
Antonomasia:
1. f. Ret. Sinécdoque consistente en emplear un nombre apelativo en lugar de uno propio, como
en el Filósofo por Aristóteles.
Artilugio:
1. m. Mecanismo, artefacto, sobre todo si es de cierta complicación.
Browser:
Es un navegador de Internet: un software que permite la visualización de los contenidos que
presenta una página web. Este tipo de programa informático dispone de las herramientas que se
necesitan para la interpretación del código de una página, que puede estar compuesto por uno o
más lenguajes de programación.
Bursátil:
1. adj. Econ. Perteneciente o relativo a la bolsa, a las operaciones que en ella se hacen y a los
valores cotizables.
Compendio:
1. m. Breve y sumaria exposición, oral o escrita, de lo más sustancial de una materia ya expuesta
latamente.
Concebir:
1. tr. Formar una idea o un designio en la mente.
2. tr. Formar la idea de algo en la mente.
DBMS:
(Data Base Management System). Son las siglas en inglés para los Sistemas de Gestión de Bases
de Datos (SGBD). Bajo este nombre se conoce a productos de fabricantes como Oracle, Sybase,
Informix, Ingres, Borland, Microsoft, IBM, etc.
Electrólisis:
1. f. Quím. Descomposición en iones de una sustancia en disolución mediante la corriente
eléctrica.

111
112

Emular:
1. tr. Imitar las acciones de otro procurando igualarlas e incluso excederlas.
ERP:
El término ERP se refiere a Enterprise Resource Planning, que significa “sistema de
planificación de recursos empresariales”. Estos programas se hacen cargo de distintas
operaciones internas de una empresa, desde producción a distribución o incluso recursos
humanos.
Erudito:
1. adj. Instruido en varias ciencias, artes y otras materias. U. t. c. s.
2. m. y f. Persona que conoce con amplitud los documentos relativos a una ciencia o arte
Framework:
Framework. En el desarrollo de Software, un framework es una estructura conceptual y
tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, en
base a la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede
incluir soporte de programas, librerías y un lenguaje interpretado entre otros programas para
ayudar a desarrollar y unir los diferentes componentes de un proyecto.
GPRS:
El servicio general de paquetes vía radio, en inglés: General Packet Radio Service (GPRS), fue
creado en la década de los 80 Una conexión GPRS está establecida por la referencia a su nombre
de punto de acceso (APN). Con GPRS se pueden utilizar servicios como Wireless Application
Protocol (WAP), servicio de mensajes cortos (SMS), Multimedia Messaging System (MMS),
Internet y para los servicios de comunicación, como el correo electrónico y la World Wide Web
(WWW).
Intrincado:
1. adj. Enredado, complicado, confuso.
Iterativo:
1. adj. Que se repite.
2. adj. Que indica repetición.
Pauta:
1. f. Instrumento o norma que sirve para gobernarse en la ejecución de algo.
2. f. Modelo o norma.
113

Primigenia, Primigenio:
1. adj. Primitivo, originario.
Primordial:
1. adj. Principal o esencial.
2. adj. Primitivo o primero.
Repercusión:
1. f. Acción y efecto de repercutir.
2. f. Circunstancia de tener mucha resonancia algo
Replicar:
1. intr. Instar o argüir contra la respuesta o argumento.
TCP/IP:
El modelo TCP/IP es usado para comunicaciones en redes y, como todo protocolo, describe un
conjunto de guías generales de operación para permitir que un equipo pueda comunicarse en una
red. TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser
formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario.
Ubicuidad, Ubicuo:
1. adj. Dicho principalmente de Dios: Que está presente a un mismo tiempo en todas partes.
2. adj. Dicho de una persona: Que todo lo quiere presenciar y vive en continuo movimiento.
Umbral:
1. m. Valor mínimo de una magnitud a partir del cual se produce un efecto determinado.
Web Service:
Un servicio web (en inglés, web service o web services) es una tecnología que utiliza un conjunto
de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas
aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas
sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de
ordenadores como Internet.
114
Referencias

Amcharts. (2018). Recuperado el 11 de Octubre de 2018, de


[Link]
Argente, T. d. (2002). Homo cybersapiens. La inteligencia artificial y la humana. España:
Ediciones Universidad de Navarra, S.A.
Atlas de Historia vegetal y animal. (8 de Agosto de 2018). Recuperado el 12 de Agosto de 2018,
de [Link]
Caracteristicas. (s.f.). Recuperado el 15 de Agosto de 2018, de
[Link]
CNN. (9 de Agosto de 2006). [Link]. Recuperado el Noviembre de 2018, de
[Link]
Collado, S. M. (s.f.). Psicoactiva. Recuperado el 15 de Agosto de 2018, de
[Link]
Gensel, J. (7 de Agosto de 2016). Noisy Science. Recuperado el 09 de Agosto de 2018, de
[Link]
Hilera, J. R., & Martinez Hernando, V. (1995). Redes neuronales artificiales : fundamentos,
modelos y aplicaciones (Primera ed.). Madrid, España. Recuperado el 15 de Agosto de
2018
INGENIERIA INDUSTRIAL ONLINE. (s.f.). Recuperado el 01 de Octubre de 2018, de
[Link]
industrial/pron%C3%B3stico-de-ventas/regresi%C3%B3n-lineal/
Investigación y ciencia. (18 de Marzo de 2015). Investigación y ciencia. Recuperado el 9 de
Agosto de 2018, de [Link]
Jetbrains. (2018). Jetbrains. Recuperado el 18 de Octubre de 2018, de
[Link]
Laravel. (s.f.). Laravel. Recuperado el 22 de Septiembre de 2018, de [Link]
MacKinsey Global Institute. (2017). Artificial Intelligence, The Next Digital Frontier?
MathWorks. (2018). Predictive Analytics. Recuperado el 17 de Mayo de 2018, de
[Link]

115
116

McCulloch, W. S., & Pitts, W. H. (1943). Un calculo lógico de las ideas inmanentes en la
actividad nerviosa. Boletin de matemática Biofisica, 5, 18. Recuperado el 15 de Agosto de
2018
Microsoft Azure. (2018). Microsoft Azure. Recuperado el 17 de Octubre de 2018, de
[Link]
Mimenza, O. C. (s.f.). Psicologia y Mente. Recuperado el 15 de Agosto de 2018, de
[Link]
Montero, J. M., & Fernández Avilés, G. (s.f.). Wolters Kluwer. Recuperado el 06 de enero de
2019
Neural Network Framework. (s.f.). Neural Network Framework. Recuperado el 18 de Agosto de
2018, de [Link]
[Link]
[Link]. (2018). [Link]. Recuperado el 20 de Octubre de 2018, de [Link]
Oberloier, S. (30 de Enero de 2016). voltfolio. Recuperado el 17 de Agosto de 2018, de
[Link]
Orbe, A. (16 de Junio de 2012). Hipertextual. Recuperado el 15 de Agosto de 2018, de
[Link]
Real Academia Española. (2014). Diccionario de la lengua española. (23). Recuperado el 08 de
Mayo de 2018, de [Link]
Rosenblatt, F. (1958). The Perceptron: A probabilistic model for information storage and
organization. Psychological Review, 65(6), 386-408. Recuperado el 18 de Agosto de 2018
Rouse, M. (Diciembre de 2017). TechTarget. Recuperado el 02 de Agosto de 2018, de
[Link]
Russell, S. J., & Norvig, P. (2008). INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO
(Segunda edición ed.). (J. M. Corchado Rodríguez, F. Martín Rubio, J. M. Cadenas
Figueredo, L. D. Hernández Molinero, E. Paniagua Arís, R. Fuentetaja Pinzán, . . . R.
Rizo Aldeguer, Trads.) Madrid: PEARSON EDUCACIÓN, S.A.
Sabán, A. (28 de Diciembre de 2016). HiperTextual. Recuperado el 26 de Julio de 2018, de
[Link]
117

Soberón, L. F. (27 de Enero de 2014). [Link]. Recuperado el 19 de Agosto de 2018, de


[Link]
perceptron
Takeyas, B. L. (2007). Introducción a la Inteligencia Artificial. Instituto Tecnológico de Nuevo
Laredo, Nuevo Laredo, Tamps. México.
Techne México. (15 de Enero de 2018). Techne. Recuperado el 02 de Agosto de 2018, de
[Link]
TensorFlow. (2018). Recuperado el 07 de Octubre de 2018, de
[Link]
[Link]. (s.f.). Recuperado el 07 de Octubre de 2018, de [Link]
The nobel Prize. (s.f.). Recuperado el 10 de Agosto de 2018, de [Link]
Triglia, A. (s.f.). Psicologia y Mente. Recuperado el 15 de Agosto de 2018, de
[Link]
Triglia, A. (s.f.). Psicologia y Mente. Recuperado el 15 de Agosto de 2018, de
[Link]
Turing, A. M. (1950). Computing Machinery and Intelligence. Mind(49), 433-460.
Velasco, J. J. (26 de Noviembre de 2014). [Link]. Recuperado el Octubre de 2018, de
[Link]
Wikipedia. (2018). Recuperado el 01 de Mayo de 2018, de
[Link]
Wikipedia. (28 de Septiembre de 2018). Wikipedia. Recuperado el 07 de Octubre de 2018, de
[Link]

También podría gustarte