curso 2017, semestre 2clrubio/ia2017/presentacion_ia_2017.pdf · inteligencia artificial-ubb...
TRANSCRIPT
Inteligencia Artificial-UBB(técnicas de programación)
CLASE DE PRESENTACIÓN
Curso 2017, Semestre 2
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
Datos del Ramo: Profesor
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: Disciplinacientífica que tiene como objetivo lacreación de sistemas artificialesinteligentes– 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, portransitividad, la naturaleza creó máquinasinteligentes ?.
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ísticasRequiere 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ísticasno 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 unaentidad que cuando se observa produceen el espectador una la ilusión deinteligencia.– 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, ocualquier máquina (avión, coche, etc).
• Sin embargo, Nosotros nos restringiremos asistemas artificiales creados mediantealgoritmos/programas de computador.
• Lo que se denomina inteligencia computacional
Objetivos del ramo: Introducción a la IA y sus técnicas de programación
• Nuestra elección. Entornos virtuales
• Por tanto, nuestro objetivo consiste enproporcionar una base sólida y prácticapara la construcción de entornosvirtuales en dos dimensiones en loscuales se puedan programar entidadesgrá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 formainteligente.• Algoritmos de inteligencia artificial en un espacio
de estados.
• La creación de los entornos virtuales yde las entidades se realizará mediante ellenguaje de programación Java. Elalumno debe mostrar habilidad en eldominio de la programación, del diseño yla 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 técnicas en nuestro entorno virtual.
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ónde un entorno virtual 2D y la programación de agentes inteligentes contécnicas de búsqueda en un espacio de estados.
• El proyecto final, AL IGUAL QUE LAS TAREAS, se desarrollan deforma INDIVIDUAL.
• Seguimiento semanal de los avances parciales de cada alumno, así comode las tareas. Cada avance cuenta para la nota final. La no entrega deavances 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 elproducto final cumple los requisitos, entonces se puede pasar a evaluarla calidad. Las pautas de evaluación dependerán de la normativa delproyecto anual.
Plan de trabajo
Evaluación
Clase 1
Entrega1
Proyecto final del ramo
Clase 2
Entrega2
Clase N
EntregaN
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
CLA1 30%
70%
CLA2
70%
30%
Evaluación• LA NOTA FINAL SE CALCULARÁ DE LA SIGUIENTE
FORMA:
• COMPETENCIA LABORATORIO (CL) (NOTA SOBRE 7)– 1 punto base.– 0 a 7 PUNTOS SERÁN PARA EL LABORATORIO, el
requisito fundamental es que el programa que se pida desarrollar funcione correctamente, que cumpla los requisitos fijados. Nota CL=CL1+CL2/2
• COMPETENCIA PROYECTO (CP) (NOTA SOBRE 7)– 1 punto base.– Desarrollo del proyecto. el proyecto debe cumplir los
requisitos fijados. el no cumplimiento de los mismos podrá evaluarse como NCR.
Evaluación• NT = (CL + CP)/2 sii CL >= 4 Y CP >= 4. • IMPORTANTE: el proyecto final
funciona correctamente, cumple todos los requisitos, no se cae y se entrega en la fecha y hora fijada de entrega.
• Si el proyecto no funciona correctamente, no cumple la mayor parte de los requisitos, se cae o NO se entrega en la fecha y hora fijadas. Se podrá evaluar con NCR.
Bibliografía
• Desarrollo de un Videojuegos 2D en Java con técnicas de inteligencia computacional. Clemente Rubio-Manzano & Christian Rodríguez