intensificación en computación
TRANSCRIPT
Mención en Computación 2018
Ordenadores y paradojas
Imágenes extraídas del artículo: “Ordenadores, paradojas y fundamentos de las matemáticas”, de G. J. Chaitin.
El planteamiento del problema
Bertrand Russell David Hilbert
La gran decepción
Kurt Gödel Alonzo Church
Las máquinas antes de las máquinas
Alan Turing
Límites de la computación
TESIS DE CHURCH-TURING
Todo algoritmo es equivalente a una máquina de Turing
La idea de problemas no resolubles con
ordenador es anterior a la construcción
del primer ordenador
Test de Turing
Origen de la Inteligencia Artificial
Talos
Galatea
Zairja
Pinocho Frankenstein
Yo, robot IA
Origen del término “Inteligencia Artificial”
John McCarthy
1956 organiza el
“Dartmouth Summer Research
Project on Articial Intelligence”
y el término IA de hace popular
1958 crea LISP
Programación declarativa
Límites de la IA
Roger Penrose
Nuestra propuesta
Competencias
Conocimiento de modelos de computación y su aplicación en nuevos conceptos y desarrollos. Conocimiento de los fundamentos teóricos de los lenguajes de programación. Capacidad para evaluar la complejidad computacional de un problema y elegir la mejor estrategia algorítmica para resolverlo.
Competencias
Conocimiento de los fundamentos y las técnicas de los sistemas inteligentes para aprender a usarlas en distintos ámbitos. Capacidad para adquirir, representar y usar el conocimiento humano en las máquinas. Capacidad para diseñar, desarrollar y evaluar sistemas con interacción persona-máquina. Conocer y desarrollar técnicas de aprendizaje computacional, adquisición automática del conocimiento y big data.
Asignaturas (en 4º) Asignatura Materia Carácter Cuatrimestre
Compresión Multimedia Computación Obligatoria 1º
Programación para la IA Computación Obligatoria 1º
Desarrollo de Sistemas Inteligentes
Sistemas Inteligentes Obligatoria 1º
Aprendizaje Computacional Sistemas Inteligentes Obligatoria 1º
Fundamentos computacionales de los videojuegos
Computación Optativa
1º
Informática gráfica Ingeniería del Software Optativa
1º
Modelos de Computación Computación Obligatoria 2º
Visión Artificial Sistemas Inteligentes Obligatoria 2º
IA para el desarrollo de juegos Sistemas Inteligentes Optativa 2º
Programación orientada a Agentes Ingeniería del Software Optativa
2º
Modelos de Computación ¿Existen “familias” de problemas?
¿Puedo comparar algoritmos sin escribir una sola línea de código?
¿Es posible decidir qué algoritmo es mejor para resolver una “familia” de problemas?
¿Puedo saber si un problema no lo puedo resolver computacionalmente?
¿Hasta dónde puedo llegar con la computación?
¿Cuál es el límite?
Programación para la IA ¿Es necesario programar con un estilo tan cercano a la arquitectura del ordenador?
La Inteligencia Artificial resuelve problemas desde una perspectiva distinta del paradigma imperativo.
En IA estaría bien programar según la pauta:
“Di qué quieres, pero no cómo lo quieres. "
Ésta define al paradigma declarativo.
¿Es más fácil programar con un lenguaje declarativo? ¿Menos eficiente?
Quizá encontremos respuesta estudiando el lenguaje Haskell.
Compresión Multimedia
En esta asignatura se aprende sobre compresión de datos.
¿Te has preguntado alguna vez hasta cuanto puedes comprimir un fichero sin perder información?
Se aprende sobre algoritmos que comprimen sin pérdida
También se aprende sobre cómo convertir eficientemente datos analógicos a digitales (y viceversa).
¿Cuánto puedo comprimir multimedia sin que se “note”?
¿Cómo funciona el rar, el jpg, el zip, etc…?
Desarrollo de Sistemas Inteligentes
En esta asignatura se responden a cuestiones del tipo:
¿Cómo represento conocimiento en un ordenador?
¿Cómo adquiero de manera automática ese conocimiento?
Una vez que lo tengo, ¿Cómo lo utilizo?
¿Qué puedo resolver usando esta metodología?
¿Cómo comparto ese conocimiento con otros sistemas?
PRÁCTICA ORIENTADA PROYECTO
ONTOLOGÍA
RAZONAR REGLAS
DESARROLLO JAVA
KIE-DROOLS
ONTOLOGÍA PROTÉGÉ
INFERENCIA BORROSA
Desarrollo de Sistemas Inteligentes PRÁCTICAS TEORÍA
Representar conocimiento
Sistemas Reglas: continuación Sist. Inteligentes(3º)
Gestión Incertidumbre
Story Telling El Tercer Hombre
Planning Cooking Contest
Anti-Spam SPAM-SPAM
Proyectos anteriores:
Aprendizaje Computacional
¿Pueden los “programas” aprender y mejorar su rendimiento?
¿Aprenden “solos”?
¿Qué y cómo aprenden?
Lo que aprenden… ¿Me lo pueden mostrar de forma que lo entienda?
A mi me habían dicho que una máquina solo puede hacer aquello que se le ordena o que se le programa a hacer…
¿De verdad hacen cosas (útiles) que no se les enseñó a hacer?
Programación orientada a Agentes Los Sistemas Multi-Agente son una potente herramienta para el desarrollo de sistemas distribuidos inteligentes
Los agentes son elementos autónomos e interactúan “inteligentemente” con su entorno con el fin de conseguir un objetivo
Un sistema multi-agente es una comunidad de agentes que interactúan entre sí
Colaboran por un objetivo común (robots exploradores de Marte, brigadas de emergencia) Compiten por conseguir sus objetivos (videojuegos estratégicos, subastas)
Usando estrategias: Teoría de Juegos
¿Cómo se comunican entre ellos? Protocolos de comunicación, negociación, argumentación
¿Cómo se diseña un sistema multiagente?
¿Cómo se les dota de inteligencia y autonomía?
Fundamentos computacionales de los videojuegos
¿Qué es lo básico para crear un videojuego?
Menús y cámaras Gráficos y animaciones Programación Modelos 3D (Blender)
Modelado y Texturizado Motor de juegos (Unity3D)
Motor de física y programación
Ejemplos en el canal de youtube FCV2016-17
IA para el desarrollo de videojuegos
Siempre he tenido la idea en mi mente… Ya tengo los gráficos… Ya tengo el motor físico… Y ahora,
¿Qué hago para que los personajes de mi videojuego se comporten como si tuvieran inteligencia?
¿Tengo realmente que dotarles de inteligencia para hacer divertido el juego? ¿Qué hay detrás de esos enemigos tan “espabilaos” de los videojuegos modernos? Demostración de algunos conceptos, coche inteligente:
https://www.youtube.com/watch?v=_XKphuYviE0
Informática Gráfica
¿Cómo se captan y almacenan imágenes?
¿Cómo proceso una imagen para reconstruirla, realzarla o modificarla?
¿Cómo transformo/represento un mundo virtual?
¿Cómo se sintetizan imágenes a partir de modelos vectoriales?
¿Cómo se le da realismo a esas imágenes?
Y después … Completar la formación. En la facultad:
Máster Universitario en Nuevas Tecnologías en Informática
(Inteligencia Artificial y aplicaciones médicas).
Máster Inter-Universitario en Tecnologías de Análisis de Datos Masivos: BIG DATA.
Salidas profesionales. Investigación y desarrollo:
IA.
Big data.
Procesamiento de lenguaje natural.
Videojuegos.
…