COMPLEJIDAD COMPUTACIONAL Departamento de Educación Matemática Profesor: Carlos Aguilar Santana “La Matemática es el Alfabeto con el cual Dios ha Escrito.

Slides:



Advertisements
Presentaciones similares
Representación del conocimiento
Advertisements

Complejidad Computacional
Complejidad Computacional
Complejidad Computacional
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
DISEÑO DE EXPERIMENTOS
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Tema Algoritmos Universidad Politécnica de Nicaragua UPOLI.
Problemas Algorítmicos
Estructura de Datos Hugo Araya Carrasco Hugo Araya Carrasco.
ALGORITMOS COMPUTACIONALES
UNIDAD II: ALGORITMOS Y LENGUAJES
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
Resolución de Problemas Algoritmos y Programación
Razonamiento Explícito y Experimentación en la Algoritmia
Profra: Verónica Pérez Rosas Introducción a la Programación Universidad Politécnica de Altamira.
Técnico en programación de Software
CAPITULO #2: “Fundamentos de programación”
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
INTELIGENCIA ARTIFICIAL
Universidad Autónoma San Francisco
Lógica de Programación
Metodología para la Construcción de Programas
Conceptos Fundamentales
Capítulo 3 Etapas de un Proyecto de simulación
Modelos de Programación Entera - Heurísticas
 La resolución de problemas algorítmicos no solamente implica que los informáticos sepan programar sino necesitan de otras habilidades como tener una.
Fundamentos de Programación
Proceso de información en la computadora
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Pensamiento cuantitativo.
Grupo de investigación de Ingeniería Electrónica
Algoritmos.
Complejidad de los problemas de decisión
ALEXANDRA MARIA PAREDES NAVIA ANGIE LORENA VALDES FALLA
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
complejidad de un problema.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Pregunta: Solución: Pregunta: Solución: Pregunta: Solución:
Diseño geodésico II II semestre, 2014
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería Maestría en Ingeniería Eléctrica.
CONCEPTOS BÁSICOS FUNDACIÓN UNIVERSITARIA LOS LIBERTADORES Fredys Alberto Simanca Herrera Programación Estructurada Semana Bogotá, D.C
Metodología para solución de problemas
I. Complejidad de Problemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Metodología para la construcción de programas
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Problemas de grafos y Tratabilidad Computacional
Estructuras de control Resolución de problemas y algoritmos.
Algoritmos y pseudocódigos
Escuela de Ciencias Basicas, Tecnología e Ingeniería
TEMA: DISEÑO DE LA SOLUCION INTREGRANTES DE EQUIPO: ERIKA CRUZ MARTINEZ RODOLFO LOPEZ ANOTA LUIS ARMANDO LIÑA QUECHA JOSE FRANCISCO MEZO VARELA LUIS ENRIQUE.
Desarrollo de lógica algorítmica.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
Introducción a los TADs
UNIDAD 1 Introducción a la Programación OBJETIVO: El estudiante identificará los elementos Básicos de todo lenguaje de programación. Comparando las posibles.
PRINCIPIOS DE PROGRAMACION
La clase P juega un papel importante en la teoría de la complejidad computacional debido a que: 1. P es invariante para todos los modelos de cómputo que.
ESTE TERMINO SE DEFINE COMO : UN PROCESO EN EL CUAL SE NOS DESCRIBE UN PROBLEMA (EN LENGUAJE NATURAL), LUEGO DE ESTO SE PLANTEAN POSIBLES RESOLUCIONES.
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
La programación se puede definir como...
ELEMENTOS BÁSICOS DE PROGRAMACIÓN EN C# Mtro. José David Uc Salas
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

COMPLEJIDAD COMPUTACIONAL Departamento de Educación Matemática Profesor: Carlos Aguilar Santana “La Matemática es el Alfabeto con el cual Dios ha Escrito el Universo” Galileo Galilei

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Metodología para la Solución de Problemas Por medio de un Computador 1.Definición del Problema(Requerimientos) 2.Análisis del Problema(Datos e entrada, salida. con lo que se cuenta) 3.Diseño (Algoritmos, BD, Topologías) 4.Codificación (Lenguaje de Programación) 5.Pruebas (Depuración) 6.Liberación(Entrega)

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Aspectos básicos 1.AlgoritmoEs un procedimiento “Paso a Paso” 2.Caracterización de un problema Algorítmico - Conjunto de todos los datos de entrada. - El objetivo del problema. 3.Resolución de un problema Se resuelve cuando se aplica el algoritmo a una entrada de datos (instancia) y se obtiene una salida que responde al objetivo.

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Representación de problemas Un problema se representa por: - Un dominio Ω que contiene las posibles soluciones. - Una pregunta cuya respuesta genera la solución al problema п. Ejemplo: PROBLEMA DEL VENDEDOR VIAJERO (PVV) Dominio: { } = 57 = 29 = 57 = 42 = 29

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Variantes de un problema Π 1.Problemas de Decisión ¿Existe una estructura S que satisface las propiedades de п? Respuesta : SI o NO 2.Problemas de Localización Encontrar una estructura S que satisface las propiedades de п Respuesta : S 3.Problemas de Optimización Encontrar estructura S que satisface las propiedades de п y criterios de optimización Respuesta : S* = optimo (S),  S  Ω

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Complejidad Computacional NO 1. NO se refiere a: - Dificultad de diseño. - Rebuscado de un algoritmo. SI 2. SI se refiere a: - Medidas de desempeño - TiempoComplejidad Temporal - EspacioComplejidad Espacial

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Complejidad Temporal 1. Se utiliza el tamaño de entrada para definir al tiempo de ejecución. Sea n tamaño de entrada, se define T(n) como tiempo de ejecución No se considera los datos de entrada, sino el tamaño del conjunto de ellos. Ejemplo : Ordenamiento de una lista de números. Casos : - Mejor caso - Caso Medio - Peor Caso

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Ejemplo 1 : Para el siguiente algoritmo, su T(n) = 4n+3 Algoritmo : (1)suma = 0; (2)for(i=1;i<=n;i++) (3) suma = suma + i; 4n+3 TOTAL 4n+3 Instrucción (1)Ocupa 1 unidad de tiempo.1 Instrucción (3)Ocupa 2 unidades de tiempo y es ejecutada n veces.2n Instrucción (2)Ocupa 1 unidad de tiempo en la asignación, n+1 en las comparaciones y n en los incrementos. 2n+2

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Ejemplo 2 : Para el siguiente algoritmo, su T(n) = 7n 2 +8n+5 Algoritmo : (1)suma = 0; (2)for(i=1;i<=n;i++) (3) for(j=1;j<=n;j++) (4)suma = suma + i*j; Instrucción (2)(3)Ocupan 2n+2 unidades de tiempo cada una y se ejecutan anidadas. (2n+2)* (2n+2) = 4n 2 +8n+4 Instrucción (4)Ocupa 1 unidad de tiempo en la asignación, 2 en la suma y multiplicación y se repite n * n veces 3n 2 7n 2 +8n+5 TOTAL 7n 2 +8n+5 Instrucción (1)Ocupa 1 unidad de tiempo.1

Orden de un Algoritmo 1. Para simplificar el estudio de la complejidad computacional, se adoptan ciertas convenciones en su notación. COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana 2.Se define el orden de un algoritmo como el termino de mayor grado. O(n) Tiempo de ejecución T(n)= 4n+3 Orden O(n) Orden Polinomial Lineal. O(n 2 ) Tiempo de ejecución T(n)= 7n 2 +8n+5 Orden O(n 2 ) Orden Polinomial Cuadrático. O() Tiempo de ejecución T(n)= 2 n +3 Orden O(2 n ) Orden Exponencial. O(n x )Tiempo Polinomial O(n x )Tiempo PolinomialAlgoritmos EficientesProblemas Tratables O(x n )Tiempo Exponencial O(x n )Tiempo ExponencialAlgoritmos IneficientesProblemas Intratables

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Ejemplo 3 : El siguiente algoritmo tiene tiempo exponencial de O(2 n ) Algoritmo : (1)void Hanoi( int n, int A, int B, int C) (2){ (3)if(n==1) (4) MueveAnillo(A,B); (5)else { (6) Hanoi(n-1, A, C, B); (7) MueveAnillo(A,B); (8) Hanoi(n-1, C, B, A); (9) } (10)} A B C H(2,A,B,C) A B C H(1,A,C,B) A B C M(A,B) H(1,C,B,A) A B C

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Algoritmo : (1)void Hanoi( int n, int A, int B, int C) (2){ (3)if(n==1) (4) MueveAnillo(A,B); (5)else { (6) Hanoi(n-1, A, C, B); (7) MueveAnillo(A,B); (8) Hanoi(n-1, C, B, A); (9) } (10)} H(3,A,B,C) H(2,A,C,B) M(A,B) H(2,C,B,A) A B C

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Recordemos que el orden de este algoritmo es 2 n luego su tiempo de ejecución es exponencial y por lo tanto es un problema intratable. Supongamos que el tiempo de ejecución en una máquina determinada es Seg. Por operación. Supongamos además que deseamos jugar con 1000 Aros. T(n=1000) = * = 5 -9 * Seg. T(n=1000) = Siglos.

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Recordemos las Variantes de un problema Π 1.Problemas de Decisión ¿Existe una estructura S que satisface las propiedades de п? Respuesta : SI o NO 2.Problemas de Localización Encontrar una estructura S que satisface las propiedades de п Respuesta : S 3.Problemas de Optimización Encontrar estructura S que satisface las propiedades de п y criterios de optimización Respuesta : S* = optimo (S),  S  Ω

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Π de optimización tratado como Π de decisión - Valor objetivo K para la instancia n - ¿ Existe una solución factible en el conjunto Ω ? Ejemplo : Problema de cobertura de Vértice. ( Conjunto U de vértices de G, tales que cualquier arco de G inicia y/o termina en un vértice de U) zv xy w u s U = { w, s, y, z}

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana PD de cobertura de vértices : Existe para el grafo G una cobertura S de tamaño K tal que no exista otra menor. 1. Instancia : Un grafo G y un valor K. 2. Respuesta : SI : Si hay una cobertura de vértices de tamaño menor o igual a K. NO : Si no existe. PO de cobertura de vértices : Encontrar el subconjunto de vértices menor que sea una cobertura de vértices. Instancia : Un grafo G. Respuesta : Una cobertura de vértices de tamaño mínimo. LUEGO UN PROBLEMA DE OPTIMIZACIÓN PUEDE SER TRATADO COMO UNO DE DECISIÓN

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Modelo de Cómputo Los podemos Agrupar en dos grandes conjuntos: Deterministicos. NO Deterministicos. DETERMINISTICO : Modelo matemático estándar, Siempre lo mismo. SI NO NO DETERMINISTICO : Modelo compuesto de dos fases: Adivinación, Verificación. SI NO

COMPLEJIDAD COMPUTACIONAL Profesor: Carlos Aguilar Santana Clases de Problemas de Decisión Clases P de problemas Conjunto de problemas, para los cuales se conoce un algoritmo Polinomial en una maquina Determinista. Clases NP de problemas Conjunto de problemas, para los cuales se toma aleatoria mente una posible solución, y se prueba su factibilidad con un algoritmo Polinomial en una maquina Determinista. Clases NP-Completo de problemas Se dice que un problema se decisión A pertenece a NP-Completo cuando: 1. A  NP. 2. Cada Problema en NP se puede reducir polinomialmente a A.

COMPLEJIDAD COMPUTACIONAL Departamento de Educación Matemática Profesor: Carlos Aguilar Santana “La Matemática es el Alfabeto con el cual Dios ha Escrito el Universo” Galileo Galilei