Cb-95-017. Aplicaciones de Inteligencia Artificial
Objetivo
.
Introducir al alumno al uso de las técnicas de la Inteligencia Artificial aplicada a las disciplinas de la ciencia "dura" (computación, física, etc.) y de la ciencia "suave" (economía, sociología, etc.).

Estrategia.
Hacer un recuento de las inteligencia artificial tradicional (representación del conocimiento, sistemas expertos) y a la IA de vanguardia (redes neuronales, programación evolutiva); aplicar las técnicas a la solución de problemas concretos: optimización de funciones, reconocimiento de patrones, modelación de sistemas económicos, predicción de sistemas parcialmente caóticos (bolsa de valores).

Temario
1. Antecedentes de la IA.
La posibilidad de la IA. La tesis de Turing. Computabilidad. El teorema de Gödel. El experimento de Turing.

En este tema se discuten los fundamentos teóricos de la Inteligencia Artificial. ¿Qué entendemos por IA? ¿Es ésta posible en principio? El análisis de las funciones recursivas parciales y la correspondencia biunívoca de éstas con las máquinas de Turing (MTs). ¿Qué es una función "efectivamente computable"? En términos más genéricos: ¿Cómo se liga la tesis de Turing con el análisis de Gödel en cuanto a sistemas formales? Según algunos autores, los resultados de Godel implican que no es posible mecanizar la inteligencia. Turing resolvió este asunto planteando su "experimento". Esta posición, ¿nos satisface? Como conclusión se discuten los paradigmas modernos (modelos coneccionistas, lógica difusa y metaheurísticos) y se contrastan con los "tradicionales" de representación de conocimiento y tratamientos semánticos formales.

2. Inteligencia artificial clásica.
Representación del conocimiento. Sistemas expertos.

Aquí se hace un repaso breve de representación del conocimiento y los sistemas expertos como una alternativa más modesta (pero aplicable) de las técnicas de la computación para lograr sistemas que exhiban cierta dosis de inteligencia.
Se analizan las máquinas de inducción y los sistemas basados en reglas.
Se repasan aplicaciones.

3. El Paradigma Neuronal.
Redes neuronales. Variantes y aplicaciones.

Aquí hacemos un repaso del modelo conexionista. ¿Qué son las redes neuronales? ¿Qué es un perceptrón? ¿Una red auto organizable de Kohonen, una red de Hopfield, etc.? Se discuten técnicas de entrenamiento y la plasticidad de las redes neuronales. Se repasan aplicaciones.

4. Programación Evolutiva.
El aprendizaje automático. Estrategias evolutivas. Algoritmos genéticos.

Aquí analizamos el modelo evolutivo de la IA. Se hace un repaso de la forma en que estas técnicas fueron desarrollándose a partir de los 60s. Cómo el abaratamiento de los equipos de cómputo las ha ido haciendo más atractivas. ¿Qué sabemos de la evolución? ¿Cómo se liga con las técnicas de IA? ¿Qué ventajas y limitaciones tienen? ¿Qué es una estrategia evolutiva y qué un algoritmo genético? ¿Cuáles son sus ventajas/desventajas relativas?

5. Aplicaciones.
El reconocimiento de formas usando redes neuronales. El algoritmo de retropropropagación.

Se toca el tema de la aplicación de RNs al problema de reconocimiento de patrones (en el sentido más amplio: visuales, acústicos y otros de tipo más abstracto). ¿Cómo se usan las RNs para el minado de datos? Se tocarán otros ejemplos sugeridos por los alumnos.

6. Aplicaciones.
Optimización de funciones con restricciones no lineales. Aplicación a investigación de operaciones.

Analizamos aquí el problema de optimización con restricciones no lineales; el caso más general posible del problema de la optimización. Veremos que, resolviendo este problema, es posible resolver otros aparentemente no directamente relacionados: ceros de ecuaciones de alto grado y trascendentales; sistemas de ecuaciones simultáneas no lineales; ecuaciones diofánticas (con soluciones enteras), etc. En última instancia, el problema del aprendizaje es un problema de optimización no lineal con restricciones, igualmente, no lineales.
Estudiamos un conjunto de casos en los que la programación evolutiva se ha usado con éxito para resolver problemas NP completos (por ejemplo, el dilema del prisionero; la compresión de datos usando codificación predictiva; el problema del viajero, etc.)

7. Aplicaciones.
Predicción de sistemas dinámicos. Predicción del comportamiento de la bolsa de valores.

Analizamos aquí un caso práctico de interés porque a) Incluye técnicas de aproximación multivariada, de interés en el modelado de sistemas complejos; b) Incorpora el uso de un algoritmo genético para su solución; c) Se aplica a datos reales tomados de la bolsa de valores de NY; d) Funciona.

Bibliografía.


Capítulo 1.
Hofstadter, D., "Gödel, Escher, Bach: An Eternal Golden Braid", cap. XVII, XVIII, XIX.

Capítulo 2.
Rich & Knight, "Artificial Intelligence", cap. 1, 2, 4, 6, 8.

Capítulo 3.
Varios, IEEE Computer, March 1996, pp. 31, 45, 56, 64, 71.

Capítulo 4.
Kuri, "A comprehensive approach to Genetic Algorithms in Optimization and Learning", Vol 1, cap. 1, 2, 3,, 4.
IEEE Transactions on Evolutionary Computation, April 1997, p.3. "Evolutionary Computation: Comments on the History and Current State".
Kuri & Galavíz, "Algoritmos Genéticos".