Módulo_1. Introducción a la Industria 4.0.
- Introducción a la Industria 4.0.
- Evolución histórica.
- Internet de las cosas (IoT, Internet of Things).
- Usos de IoT y Tecnologías aplicadas en la IoT.
- Retos de las IoT. Ventajas e inconvenientes.
- Concepto de la Industria 4.0.
- ¿Qué es industria 4.0 o la empresa inteligente?.
- Cambios en el entorno industrial.
- Tecnologías para explicar la Industria 4.0
- Retos y oportunidades de la Industria 4.0.
Modulo_2. Introducción a la Inteligencia Artificial.
- Objetivos.
- Introducción a la Inteligencia Artificial (IA).
- Áreas de aplicación de la IA.
- Ramas de la IA.
- Sistemas inteligentes en los Sistemas Electrónicos.
- Tipos de Técnicas de la IA:
- Redes Neuronales.
- Fuzzy control (Lógica Borrosa)
- Sistemas Expertos.
- Algoritmos Genéticos.
- Optimización de Enjambres de partículas (PSO).
- Preguntas que hacerse de la IA.
Módulo_3. Lenguaje de programación "Node.js".
- Introducción. Ingeniería del conocimiento.
- ¿Qué es un Sistema Experto?
- ¿En qué áreas resultan útiles los sistemas expertos?
- Cuándo usar un Sistema Experto.
- Estructura de un sistema experto
- Características de un sistema experto
- ¿Cómo funciona un Sistema Experto?:
- Partes que integran un Sistema Experto:
- Base de Reglas, Motor de inferencia e Interfaz Usuario.
- Sistemas expertos basados en reglas (S.E.B.R.)
- Encadenamiento hacia adelante y hacia atrás.
- Ejemplo de un Sistema Experto basado en reglas.
- Algoritmos que integran un Sistema Experto.
- Ejemplo del control hacia adelante y hacia atrás.
Modulo_4. Lenguaje "Node.js" aplicado IA. Árboles.
- Introducción a la búsqueda con árboles.
- Estructuras Jerárquicas.
- Concepto de los Árboles de búsqueda.
- Terminología de los Árboles de búsqueda.
- Ejemplos de Árboles.
- Definición de Árbol BINARIO.
- Características de un Árbol BINARIO.
- Recorrido de los Árboles de búsqueda:
- Preorden
- Enorden
- Postorden
- Implementación en Node.js de un árbol de búsqueda.
- Árbol Binario de Búsqueda (ABB).
- Ejemplo: Codificación de la Búsqueda de un Nodo en un ABB.
- Introducción a la Resolución de Problemas. Busquedas
- ¿Qué son las técnicas de búsqueda y cuáles son sus elementos?
- Tipos de solucionadores:
- Búsqueda ciega
- Búsqueda heurística
- Búsqueda sin información del dominio o ciega:
- Búsqueda en amplitud
- Búsqueda en profundidad
- Búsqueda en profundidad progresiva
- Búsqueda bidireccional
- Representación de problemas. Espacio de Estados.
- Ejemplos: Puzzle-8, 8 Reinas y Jarras de agua.
- Algoritmo de Fuerza Bruta. Ejemplo.
- Grafos. Definición, Matriz de Adyacencia y aplicaciones.
- Recorridos en los Grafos: Primero en profundidad y anchura.
- Implementación en "Node.js" Algoritmo BFS y DFS.
- Árboles. Definición, aplicaciones. Ejemplo de implementación.
- Resumen de Estrategias de búsquedas.
- Algoritmo básico de búsqueda.
- Introducción del Agente Viajero (TSP, Travelling Salesman Problem).
- Planteamiento del TSP.
- Grafos. Algoritmo del vecino mas cercano. Ejemplos.
- Pseudocódigo del algoritmo del vecino mas cercano.
- Aplicaciones más importantes del TSP.
- Métodos de Resolución del TSP. “Fuerza Bruta”.
- Implementación del Algoritmo Vecino mas cercano.
- Problema del TSP, mediante programación dinámica.
- Resolución del problema del TSP, mediante programación dinámica.
- Implementación del Algoritmo Programación dinámica.
Módulo_5. Sistemas Expertos mediante la IA en Node.js.
- Introducción. Ingeniería del conocimiento.
- ¿Qué es un Sistema Experto?
- ¿En qué áreas resultan útiles los sistemas expertos?
- Cuándo usar un Sistema Experto.
- Estructura de un sistema experto
- Características de un sistema experto
- ¿Cómo funciona un Sistema Experto?:
- Partes que integran un Sistema Experto:
- Base de Reglas, Motor de inferencia e Interfaz Usuario.
- Sistemas expertos basados en reglas (S.E.B.R.)
- Encadenamiento hacia adelante y hacia atrás.
- Ejemplo de un Sistema Experto basado en reglas.
- Algoritmos que integran un Sistema Experto.
- Ejemplos de Sistemas Expertos en Node.js
Módulo_6. Sistemas Fuzzy mediante la IA en Node.js.
- Sistemas Fuzzy. Introducción.
- Diferencia entre la lógica de Bool y Fuzzy.
- La lógica difusa en la Inteligencia Artificial.
- Concepto de Lógica difusa.
- Representación de la Lógica Booleana y Difusa.
- Historia de la lógica difusa.
- Aplicaciones de la lógica difusa.
- Algoritmo de lógica difusa para un sistema con dos entradas y una salida.
- Resumen y desventajas de la lógica difusa.
- Control Difuso MANDAMI.
- Sistemas Basados en Reglas Difusas (SBRD).
- Proceso de Fusificación.
- Funciones de pertenencia ó membresía.
- Etapa para la Defusificación.
- Introducción. Simulación FUZZY con MATLAB.
- Entorno Simulación FUZZY con MATLAB: toolbox fuzzy.
- Representación del modelo. Funciones de pertenencia y Reglas.
- Formato del Fichero *.FIS
- Implementación del controlador-Fuzzy.
- Ejemplo: Control Fuzzy de un motor eléctrico. Simulación.
- Ejemplo de uso de Matlab para la lógica difusa (FUZZY).
- Laboratorio: Fuzzy aplicado al control de un Motor-DC.
- Codificación del Algoritmo Fuzzy para el control Motor-DC.
- Ejemplos aplicados en Fuzzy Logic mediante lenguaje Node.js.
Módulo_7. Regresión: Lineal y Logística aplicada con Node.js.
- Introducción. Regresión Lineal.
- El modelo de regresión lineal simple (RLS).
- El modelo de RLS. Estimadores de mínimos cuadrados.
- Medidas de dependencia lineal. La covarianza.
- El modelo de RLS. Ejemplo.
- Ejemplo de Regresión Lineal en “Node.js”.
- Ejemplo de Predicción-Fit con Regresión Lineal.
- Regresión Lineal Múltiple (RLM). Ejemplo.
- Ejemplo de Regresión Lineal Múltiple en "Node.js".
- Clasificación con Regresión Lineal (RL).
Módulo_8. Redes Neuronales aplicadas con Node.js.
- Introducción a las redes neuronales.
- Clasificación de redes neuronales:
- Estructura
- Entrenamiento
- Aplicación de las redes neuronales a la identificación de sistemas y otras.
- Conclusiones de la Redes Neuronales.
- El modelo de una neurona artificial. Funciones de la neuronas.
- Células de McCulloch-Pitts. Red monocapa.
- Ejemplo: Obtener la salida de la red neuronal función NOT.
- Codificación en Lenguaje “Node.js” de una red McCulloch-Pitts.
Módulo_9: Algoritmos Genéticos mediante la IA en Node.js.
- Introducción a los Algoritmos Evolutivos.
- Historia y Antecedentes.
- Características esenciales (de cualquier algoritmo evolutivo).
- Introducción y objetivos de los Algoritmos Genéticos (AG).
- Programación Genética y diferencia con los AG.
- Genética Básica. Ciclo de la vida.
- Fases del algoritmo Genético. Población y Fases.
- Limitaciones y debilidades de los AG.
- Área de aplicación de los AG.
- Etapas de un Algoritmo Genético: Población, ciclo y parada.
- Función de evaluación (fitness).
- Operadores genéticos:
- SELECCIÓN (Ranking, Torneo, Ruleta y otros).
- CRUZE ó RECOMBINACIÓN.
- MUTACIÓN.
- Ejemplo sencillo de un Algoritmo Genético Simple.
- Implementación en "Node.js" del Algoritmo Genético Simple (AGS).
- Ejemplos aplicados de los Algoritmos Genéticos con lenguaje "Node.js".
- Optimización de f(x) = x.
- Optimización de funcion(x)= 2x -10.
- Optimización de una función Diofantina
- Algoritmo del problema de la Mochila.
- Control de Agua caliente mediante un AG (Opcional)
Laboratorios prácticos (código Fuente en “Node.JS”).
Laboratorios- Lenguaje "Node.js". Introducción:
- Lenguaje_Node.js. Eventos.
- Lenguaje_Node.js. Promesas (“async” y “await”).
- Lenguaje_Node.js. Ficheros (*.csv).
- Lenguaje_Node.js. Ficheros JSON.
Laboratorios- Lenguaje "Node.js" aplicado I.A. :
- Lenguaje_Node.js. Colas.
- Lenguaje_Node.js: Jarras de Agua.
- Lenguaje_Node.js. Algoritmo de Dijkstra.
- Lenguaje_Node.js. Algoritmo Viajante (TSP).
Laboratorios- Sistema Expertos con Node.js:
- Lenguaje_Node.js. Sistema Experto Básico.
- Lenguaje_Node.js. Sistema Experto COVID19.
- Lenguaje_Node.js. Sistema Experto Dinámico.
- Lenguaje_Node.js. Sistema Experto Diagnosis.
Laboratorios- Fuzzy Logic con Node.js:
- Lenguaje_Node.js. Genérico Matlab (2E - 1S).
- Lenguaje_Node.js. Fuzzy de Propina (2E - 1S).
- Lenguaje_Node.js. Pendulo Invertido (2E - 1S).
Laboratorios-Regresión Lineal y Logística con Node.js:
- Implementación de una Regresión Lineal de una forma simple.
- Implementación de una Regresión Lineal aplicada a la estimación del coste de un vehiculo en función de los km recorridos.
- Implementación que partiendo de unos datos adquiridos de Pesos y estatura se obtenga una regresión Lineal empleando formato de matrices.
- Implementación Regresión Múltiple para ello se parte de unos datos adquiridos y almacenados en un fichero (peso_data.txt).
- Implementación que partiendo de unos datos adquiridos y aplicamos la regresión logística mediante la función sigmoide.
Laboratorios-Redes Neuronales con Node.js:
- Implementación de una red neuronal del tipo McCulloch-Pitts,.
- Implementación de una red neuronal del tipo "Perceptrón".
- Implementación del Perceptrón Multicapa con el método de Backpropagation.
- Identificación de patrones numéricos (par, impar, primo) utilizando Redes Neuronales Artificiales con el algoritmo BackPropagation.
- Lenguaje_Node.js. Jugar al Golf.
- Lenguaje_Node.js. Calidad del vino.
Laboratorios-Algoritmos Genéticos con Node.js:
- Lenguaje_Node.js. Algoritmo Genético Sencillo.
- Lenguaje_Node.js. Algoritmo Genético String.
- Lenguaje_Node.js. Optimizar funcion(x)= 2x -10.
- Lenguaje_Node.js. Función Diofantina.
- Lenguaje_Node.js. Mochila.