MODELOS DE COMPUTACIÓN Y COMPLEJIDAD

Documentos relacionados
MODELOS DE COMPUTACIÓN Y COMPLEJIDAD

Teoría de Autómatas, Lenguajes Formales y Gramáticas

PROYECTO DOCENTE ASIGNATURA: "Inteligencia Artificial"

Ingeniería Informática

PROYECTO DOCENTE ASIGNATURA: "Inteligencia Artificial"

FUNDAMENTOS DE PROGRAMACIÓN II

Programa de Asignatura

8. Complejidad Computacional

ASIGNATURA FECHA HORA AULA. Introducción a la Robótica 15-dic 11,00-13,00 2,2H/2,3H. Programación de Robots I 18-dic 10,00-12,00 2,2H/2,3H

Introducción a las Ciencias de la Computación

UNIVERSIDAD DE GUADALAJARA

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Ingeniería Técnica Industrial Esp. Electricidad

ELECTROTECNIA Fecha Consejo Departamento 27/01/2017

LIBRO GUIA: CAICEDO Xavier, Elementos de Lógica y calculabilidad, Departamento de matemáticas, Universidad de los Andes

Física I. Presentación de la Asignatura: Campus de Excelencia Andalucía Tech. Grado en Ingeniería Electrónica, Robótica y Mecatrónica (GIERM)

Universidad de Costa Rica Sistema de Aplicaciones Estudiantiles SAE

GUÍA DOCENTE DE LA ASIGNATURA

COMPUTABILIDAD Y COMPLEJIDAD

Universidad de Costa Rica Facultad de Ingeniería Escuela de Ciencias de la Computación e Informática Licenciatura en Computación e Informática

Programación 1. Grado en Ingeniería Informática - Curso

GUÍA DE APRENDIZAJE VERIFICACION Y VALIDACION Y PRUEBAS DEL SOFTWARE

AMPLIACIÓN DE SISTEMAS INTELIGENTES

Transcripción:

MODELOS DE COMPUTACIÓN Y COMPLEJIDAD Grado de Ingeniería Informática. Tecnologías Informáticas Mario de J. Pérez Jiménez Grupo de investigación en Computación Natural Dpto. Ciencias de la Computación e Inteligencia Artificial E.T.S. Ingeniería Informática Universidad de Sevilla Curso 2016-2017

Problemas, problemas, problemas... Una eterna aspiración del hombre... Mejorar la calidad de Vida. Para ello, necesita resolver problemas. A ser posible usando procedimientos mecánicos. 2 / 14

Problemas abstractos vs problemas concretos (1) Determinar si el número 4730099 es primo. (2) Calcular el producto de dos números naturales. (3) Hallar el máximo común divisor de 314 y 4524. (4) Determinar si la suma de los ángulos de un triángulo es 127 o. (5) Para cada número natural n hallar un número primo y mayor que n. (6) Hallar la suma de los números 1234567 y 9876543. (7) Determinar si un número natural n es primo. (8) Hace un par de horas, una empresa de reparto ha recibido 75 electrodomésticos de El Corte Inglés dirigidos a otros tantos clientes sevillanos a los que debe entregárselos esta misma tarde. Todos los electrodomésticos tienen cabida en un camión Qué ruta debe seguir el conductor para consumir la menor cantidad de gasolina? 3 / 14

Problema concreto (I) Dadas 42 ciudades, tiempos t ij entre dos ciudades, hallar un circuito que recorra las 42 ciudades en el menor tiempo posible. 4 / 14

Problema concreto (II) Dadas 3150 ciudades, tiempos t ij entre dos ciudades, hallar un circuito que recorra las 3150 ciudades en el menor tiempo posible. 5 / 14

Problema abstracto (III) Dadas n ciudades y unos valores t ij que representan los tiempos para ir de la ciudad i a la ciudad j. Determinar un circuito que permita recorrer todas las ciudades en el menor tiempo posible. Problema del viajante de comercio (TSP). 6 / 14

Problemas concretos vs Problemas abstractos Problema abstracto: conjunto de problemas concretos. Tamaño de un problema concreto. Resolución de problemas abstractos: Procedimiento mecánico (algoritmo/programa). Ventajas de la resolución mecánica de problemas abstractos? Asistentes del hombre: las máquinas. 7 / 14

Cómo resolver problemas de la vida real Un problema de la vida real: es un problema concreto. Cómo se puede resolver? Se modeliza a través de un problema abstracto. Se diseña una solución mecánica del problema abstracto (algoritmo). Se escribe dicha solución en un lenguaje específico (programa). Se ejecuta el programa sobre una máquina que entienda ese lenguaje, introduciendo los datos específicos del problema concreto. Se obtiene la solución del problema concreto al final de dicha ejecución. 8 / 14

Programa + Dato entrada Máquina Solución 9 / 14

Cómo saber si un problema abstracto se puede resolver mecánicamente? Asimetría entre la respuesta afirmativa o negativa a esa cuestión. Precisar, formalizar la idea intuitiva. Modelo de computación. Los modelos son manejados a través de máquinas. Máquinas virtuales (teóricas). Máquinas reales. Análisis a priori de la cantidad de recursos (memoria y/o tiempo) que es necesario para resolver un problema. Complejidad Computacional. Limitaciones de las máquinas reales convencionales (electrónicas). 10 / 14

Objetivos generales Formalizar la idea informal de resolución mecánica de problemas abstractos. Presentar dos modelos de computación. Estudiar las limitaciones y potencia de los modelos de computación. Analizar la complejidad computacional de problemas. Estudiar el problema P versus NP. Presentar modelos no convencionales inspirados en la Naturaleza Viva. 11 / 14

Contenidos PARTE I: Teoría de la Computabilidad. Modelos de computación. Funciones computables. Programas universales. Recursividad enumerable e indecidibilidad. PARTE II: Teoría de la Complejidad Computacional. Medidas de complejidad computacional. Complejidad en tiempo. El problema P versus NP. Complejidad en espacio. Modelos de computación no convencionales. 12 / 14

Evaluación de la asignatura y Tutorías A. Evaluación alternativa Ejercicios propuestos en clase. Exámenes escritos. Condición necesaria: haber asistido, al menos, a 20 sesiones. B. Examen de evaluación final Examen escrito relativo a los contenidos impartidos en clase. Convocatoria oficial: 9 de junio de 2017. TUTORÍAS: Martes, Miércoles y Jueves: de 8:30 h. a 10:30 h. (Módulo H, despacho H1.41) 13 / 14

Página web de la asignatura http://www.cs.us.es/cursos/mcc/ Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Modelos de Computación y Complejidad [Curso 2016-2017] Programa docente de la asignatura. Enlace a la asignatura del año pasado. Modelos de Computación y Complejidad 14 / 14