Diagrama de temas
General
Curso de Inteligencia Artificial
Este curso busca que el alumno comprenda los principios de la vida y la Inteligencia Artificial. Curso orientado a alumnos de Ingeniería y Programación que necesitan aprender los algoritmos que permiten resolver problemas que por otros métodos sería imposible.
Bibliografía del Curso
1) Apunte del Curso "Principios de Inteligencia Artificial"
2) Libro Gratis (licencia cc) "Practical Artificial Intelligence Programming With JAVA"
3) Apunte de Julio Rubio de la Universidad de Zaragoza "Inteligencia Artificial e Ingeniería del Conocimiento con CommonLisp"
A continuación dejo todo el material para descargarlo:
Tema 1
Introducción a la IA
Se denomina inteligencia artificial (IA) a la rama de las Ciencias de la Computación dedicada al desarrollo de agentes racionales no vivos.
Para explicar la definición anterior, entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la racionalidad como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado (este concepto de racionalidad es más general y por ello más adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina).
Por lo tanto, y de manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura.
Existen distintos tipos de conocimiento y medios de representación del conocimiento. El cual puede ser cargado en el agente por su diseñador o puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje.
También se distinguen varios tipos de procesos válidos para obtener resultados racionales, que determinan el tipo de agente inteligente. De más simples a más complejos, los cinco principales tipos de procesos son:
- Ejecución de una respuesta predeterminada por cada entrada (análogas a actos reflejos en seres vivos).
- Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles.
- Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN).
- Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos).
- Razonamiento mediante una lógica formal (análogo al pensamiento abstracto humano).
Terminar de estudiar la definición en Wikipedia ( http://es.wikipedia.org/wiki/Inteligencia_artificial )
Tema 2
BUSQUEDA
- Estudiar del apunte del curso el punto 3.2, métodos de búsqueda no informados
Tema 3
LENGUAJE DE IA
JAVA -IA
Como explicamos al comienzo, en este curso nos basaremos en el libro de Mark Watson, "Practical Artificial Intelligence Programming With JAVA" el cual se puede descargar a continuación:
LISP - CommonLisp - Clisp y JESS en IA
CLIPS
CLIPS es un entorno para desarrollar sistemas basados en el conocimiento. Su lenguaje incluye caracteristicas de los sistemas de reglas y de frames y permite la programacion funcional
Video Tutorial de Jess sobre Java
/embed>
Tema 4
Hipergrafos
Estudiar el punto 3.4 del apunte; definición y aplicaciones, y el algoritmo AO*
- El siguiente portafolio es para la tarea. No permite archivos mayores a 2MB y solo acepta subir 3 archivos (preferentemente envíen todo comprimido en un archivo).
Tema 5
Arboles de Juego
Estudiar el punto 4 del apunte; procedimientos MINIMAX y ALFABETA.
Tema 6
Representación del conocimiento con Lógica de Predicados
Estudiar el punto 5 del apunte;
- conceptos, definiciones y notación
- Resolución, refutación, transformación a clausulas, unificación, deducción basada en reglas.
Tema 7
Software de Inteligencia Artificial (AI)
Tema 8
Enlaces importantes- En el portal del libro "Artificial Intelligence: A Modern Approach" es posible encontrar mucho material complementario al curso.
- Direcciones en la Web sobre IA
- Repositorio de código, algoritmos para el desarrollo en IA
- Cursos en el mundo que utilizan el material y por lo tanto + material
- Profesores, instructores y material sobre IA (examenes, certamenes y ejercicios resueltos)
Un excelente repositorio de código (algoritmos) en distintos lenguajes de programación (Java, Lisp,Python, C#, C++ y Prolog), son los que se mantienen en el portal del libro "Artificial Intelligence: A Modern Approach", donde encontrará:
- Java: aima-java por Ravi Mohan.
- Python: aima-python por Peter Norvig.
- Lisp: AIMA Lisp Overview, por Stuart Russell y Peter Norvig.
- Data: aima-data proyecto.
Tema 9
Temas y Sitios relacionados con IATema 11