Inteligencia Artificial-UBB
(
técnicas de programación
)
CLASE DE PRESENTACIÓN
Clemente Rubio Manzano (
[email protected]
)
Ayudante: Christian Rodríguez
Formación:
-
Doctor en Informática (3 años – 2008/2011).
-Máster en Tecnologías Informáticas (2 años – 2006/2008).
-Ingeniería Superior Informática (5 años – 2001/2006).
-Curso Experto en Desarrollo de Videojuegos (1 año-2015/2016)
Material, Apuntes, Lecturas recomendadas,
en:
http://www.face.ubiobio.cl/~clrubio/ia2017
Clase de Presentación
•
Objetivos del ramo.
•
Contenidos.
•
Metodología.
•
Evaluación.
•
Bibliografía.
Objetivos del ramo:
Introducción a la
IA y sus técnicas de programación
•
Inteligencia
Artificial:
Disciplina
científica que tiene como objetivo la
creación
de
sistemas
artificiales
inteligentes
–
Artificial significa que es creado por el
hombre, no por la naturaleza.
–
Filosofía: si la naturaleza creó al hombre y el
hombre creó máquinas inteligentes, por
transitividad, la naturaleza creó máquinas
inteligentes ?.
Automático Inteligente Informática (disciplina para el
proceso automático de la información)
Las aplicaciones de
informática reciben una
entrada, procesando los datos dan una salida.
Habitualmente son sistemas estáticos, sensibles a los cambios de la entrada.
Una entrada o cambio en las características
Requiere un nuevo diseño de la aplicación
Informática Inteligente (disciplina para el proceso automático e inteligente de la información)
Las aplicaciones de informática inteligente reciben una entrada,
procesando los datos dan una salida.
Durante la ejecución es posiblemente que se produzcan cambios. Habitualmente son sistemas dinámicos, menos sensibles a los cambios de la entrada. Una entrada o cambio en las características
no requiere un nuevo diseño de la
aplicación. Un sistema inteligente puede aprender de los datos que recibe para mejorar el procesamiento y dar mejores salidas
Objetivos del ramo:
Introducción a la
IA y sus técnicas de programación
•
Un sistema artificial inteligente es una
entidad que cuando se observa produce
en el espectador una la
ilusión de
inteligencia.
–
Ejemplo: entornos virtuales creados por los
alumnos del ramo
Objetivos del ramo:
Introducción a la
IA y sus técnicas de programación
•
Un sistema artificial podría ser un robot, o
cualquier máquina (avión, coche, etc).
•
Sin embargo, Nosotros nos restringiremos a
sistemas
artificiales
creados
mediante
algoritmos/programas de computador.
Objetivos del ramo:
Introducción a la
IA y sus técnicas de programación
•
Por tanto, nuestro objetivo consiste en
proporcionar una base sólida y práctica
para la construcción de entornos
virtuales en dos dimensiones en los
cuales se puedan programar entidades
gráficas que realicen tareas inteligentes
.
•
En particular:
–
Cómo crear un entorno virtual en 2D.
–
Cómo crear entidades virtuales que actúen
en dicho escenario y se comporten de forma
inteligente.
•
Algoritmos de inteligencia artificial en un espacio
•
La creación de los entornos virtuales y
de las entidades se realizará mediante el
lenguaje de
programación Java.
El
alumno debe mostrar habilidad en el
dominio de la programación, del diseño y
la implementación
Modelar Programar Diseñar Implementar Capacidad de Abstracción Orientación a Objetos JAVA•
Introducción a la IA
–
Nuestro concepto de inteligencia
–
Diseño basado en agentes
•
Desarrollo de un entorno Virtual en 2D
–
Construcción del escenario
–
Dando vida al escenario (eventos)
–
Creación de entidades (visualización, animación e
interacción)
•
Técnicas de programación de IA
–
Búsqueda no informada (anchura profundidad)
–
Búsqueda informada (primero el mejor, A*)
•
Desarrollo de agentes inteligentes aplicando las técnicas
de programación aprendidas y su incorporación al entorno
virtual
Contenido:
¿Qué debemos
dominar para pasar el ramo?
Contenido:
¿Cómo se imparte
el contenido?
•
PARTE 1: Taller de construcción de un
entorno virtual 2D mediante el lenguaje
de programación Java.
•
PARTE 2: Taller teórico-práctico sobre
las técnicas de programación de IA
(Búsqueda no informada e informada,
Búsqueda A*)
•
PARTE3: Taller de incorporación de las
Metodología
• Metodología basada en proyecto-taller. Clases tipo taller. Se seguirá un
libro realizado por el profesor que explica, paso a paso, la construcción de un entorno virtual 2D y la programación de agentes inteligentes con técnicas de búsqueda en un espacio de estados.
• El proyecto final, AL IGUAL QUE LAS TAREAS, se desarrollan de
forma INDIVIDUAL.
• Seguimiento semanal de los avances parciales de cada alumno, así como
de las tareas. Cada avance cuenta para la nota final. La no entrega de avances o tareas restará -0.3 puntos en la nota del proyecto.
• Dos entregas absolutas, a mitad del semestre y al final de semestre
(Fechas por determinar)
• IMPORTANTE: Lo que prima es el producto final y una vez que el
producto final cumple los requisitos, entonces se puede pasar a evaluar la calidad. Las pautas de evaluación dependerán de la normativa del proyecto anual.
Evaluación
Clase 1
Entrega 1
Proyecto final del ramo
Clase 2 Entrega 2 Clase N Entrega N NP CL1 CL2 NL
Se realizarán dos certámenes de programación en la mitad de semestre y al final del mismo Se permite apuntes y código personal. La duración será de 4 secciones (4 horas). Los certámenes siempre están relacionados con los talleres. ‐0.3 ‐0.3 ‐0.3 CLA 1 30% 70% CLA 2 70% 30%