Intensificación en Computación

25
Mención en Computación 2018

Transcript of Intensificación en Computación

Page 1: Intensificación en Computación

Mención en Computación 2018

Page 2: Intensificación en Computación

Ordenadores y paradojas

Imágenes extraídas del artículo: “Ordenadores, paradojas y fundamentos de las matemáticas”, de G. J. Chaitin.

Page 3: Intensificación en Computación

El planteamiento del problema

Bertrand Russell David Hilbert

Page 4: Intensificación en Computación

La gran decepción

Kurt Gödel Alonzo Church

Page 5: Intensificación en Computación

Las máquinas antes de las máquinas

Alan Turing

Page 6: Intensificación en Computación

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

Page 7: Intensificación en Computación

Test de Turing

Page 8: Intensificación en Computación

Origen de la Inteligencia Artificial

Talos

Galatea

Zairja

Pinocho Frankenstein

Yo, robot IA

Page 9: Intensificación en Computación

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

Page 10: Intensificación en Computación

Límites de la IA

Roger Penrose

Page 11: Intensificación en Computación

Nuestra propuesta

Page 12: Intensificación en Computación

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.

Page 13: Intensificación en Computación

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.

Page 14: Intensificación en Computación

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

Informática gráfica Ingeniería del Software Optativa

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

Page 15: Intensificación en Computación

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?

Page 16: Intensificación en Computación

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.

Page 17: Intensificación en Computación

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…?

Page 18: Intensificación en Computación

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?

Page 19: Intensificación en Computación

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:

Page 20: Intensificación en Computación

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?

Page 21: Intensificación en Computación

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?

Page 22: Intensificación en Computación

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

Page 23: Intensificación en Computación

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

Page 24: Intensificación en Computación

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?

Page 25: Intensificación en Computación

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.