Algoritmos y problemas
|
|
- María Concepción Castellanos Duarte
- hace 5 años
- Vistas:
Transcripción
1 Análisis de Algoritmos Algoritmos y problemas Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos y problemas p. 1
2 Problema = un conjunto (posiblemente infinita) de instancias junto con una pregunta sobre alguna propiedad de las instancias Formalmente: = conjunto de instancias al cual corresponde un conjunto de soluciones, junto con una relación que asocia para cada instancia del problema un subconjunto de soluciones (posiblemente vacío) Algoritmos y problemas p. 2
3 Clasificación de problemas Problemas de decisión: la respuesta es sí o no Algoritmos y problemas p. 3
4 Clasificación de problemas Problemas de decisión: la respuesta es sí o no Problemas de optimización: la pregunta es del tipo cuál es el mejor valor posible o con qué configuración se obtiene el mejor valor posible Algoritmos y problemas p. 3
5 Problema de decisión La tarea es decidir sí o no la relación entre instancias y soluciones asigna un subconjunto vacío a una dada instancia. Algoritmos y problemas p. 4
6 Problema de decisión La tarea es decidir sí o no la relación entre instancias y soluciones asigna un subconjunto vacío a una dada instancia. Si existen soluciones, la respuesta a la pregunta del problema es si, y si el subconjunto es vacío, la respuesta es no. Algoritmos y problemas p. 4
7 Problema de optimización Para problemas de optimización, la instancia está compuesta por un conjunto de configuraciones, un conjunto de restricciones, y una función objetivo que asigna un valor (real) a cada instancia. Algoritmos y problemas p. 5
8 Problema de optimización Para problemas de optimización, la instancia está compuesta por un conjunto de configuraciones, un conjunto de restricciones, y una función objetivo que asigna un valor (real) a cada instancia. Si las configuraciones son discretas, el problema es combinatorial. Algoritmos y problemas p. 5
9 Solucion óptima La tarea es identificar cuál de las configuraciones factibles a tiene el mejor valor de la función objetivo. Depende del problema si el mejor valor es el mayor (problema de maximización) o el menor (problema de minimización). La configuración factible con el mejor valor se llama la solución óptima de la instancia. a o sea, las que cumplen con todas las restricciones Algoritmos y problemas p. 6
10 Algoritmo = un proceso formal para encontrar la respuesta correcta a la pregunta de un problema para una instancia dada de un cierto problema Algoritmos y problemas p. 7
11 Algoritmo = un proceso formal para encontrar la respuesta correcta a la pregunta de un problema para una instancia dada de un cierto problema Cómo encontrar un nombre en la guía telefónica? Cómo llegar de mi casa a mí oficina? Cómo determinar si un dado número es un número primo? Algoritmos y problemas p. 7
12 No es uno solo Para un problema, por lo general existen varios algoritmos con diferente nivel de eficiencia. Es decir, diferentes algoritmos pueden tener diferentes tiempos de ejecución con la misma instancia del problema. Algoritmos y problemas p. 8
13 Notación (I) Un conjunto E de las entradas del algoritmo, que representan las instancias del problema y (II) Un conjunto S de las salidas, que son los posibles resultados de la ejecución del algoritmo. La salida del un algoritmo determinista depende únicamente de la entrada: f : E S. Existen también algoritmos probabilistas o aleatorizados donde es así. Algoritmos y problemas p. 9
14 Instrucciones Los algoritmos se escribe como sucesiones de instrucciones que procesan la entrada ρ E para producir el resultado ξ S. Cada instrucción es una operación simple, produce un resultado intermedio único y es posible ejecutar con eficiencia. Algoritmos y problemas p. 10
15 Ejecución La sucesión S de instrucciones tiene que ser finita y ρ E, si P está ejecutada con la entrada ρ, el resultado de la computación será f(ρ) S. Sería altamente deseable que para todo ρ E, la ejecución de S terminará después de un tiempo finito. Algoritmos y problemas p. 11
16 Pseudocódigo Los algoritmos se implementa como programas de cómputo en diferentes lenguajes de programación. Algoritmos y problemas p. 12
17 Pseudocódigo Los algoritmos se implementa como programas de cómputo en diferentes lenguajes de programación. El mismo algoritmo se puede implementar en diferentes lenguajes y para diferentes plataformas computacionales. Algoritmos y problemas p. 12
18 Pseudocódigo Los algoritmos se implementa como programas de cómputo en diferentes lenguajes de programación. El mismo algoritmo se puede implementar en diferentes lenguajes y para diferentes plataformas computacionales. En este curso, los ejemplos siguen las estructuras básicas de programación procedural, en pseudocódigo parecido a C, Fortran y Java. Algoritmos y problemas p. 12
19 Algoritmo recursivo = un algoritmo donde una parte del algoritmo o el algoritmo completo utiliza a si mismo como subrutina En muchos casos es más fácil entender la función de un algoritmo recursivo y también demostrar que funcione correctamente. Un algoritmo que en vez de llamarse a si mismo repite en una manera cíclica el mismo código se dice iterativo. Algoritmos y problemas p. 13
20 Conversión En muchos casos, el pseudocódigo de un algoritmo recursivo resulta más corto que el pseudocógido de un algoritmo parecido pero iterativo para el mismo problema. Cada algoritmo recursivo puede ser convertido a un algoritmo iterativo (aunque no viceversa), aunque típicamente hace daño a la eficiencia del algoritmo hacer tal conversión. Depende del problema cuál manera es más eficiente: recursiva o iterativa. Algoritmos y problemas p. 14
21 Palíndromo = una sola palabra de puras letras a que se lee igual hacia adelante que hacia atrás Ejemplo: reconocer a en español, típicamente se ignora los acutes Algoritmos y problemas p. 15
22 Algoritmo recursivo procedimiento rpal(palabra P = l 1 l 2...l n 1 l n ) si n 1 devuelve verdadero ; si l 1 = l 2 devuelve rpal(l 2 l 3...l n 2 ln 1); en otro caso devuelve falso ; Algoritmos y problemas p. 16
23 Algoritmo iterativo procedimiento ipal(palabra P = l 1 l 2...l n 1 l n ) i = 1; j = n; mientras i < j si l i l j devuelve falso ; en otro caso i := i+1; j := j 1; devuelve verdadero ; Algoritmos y problemas p. 17
24 Calidad de algoritmos Las dos medidas más importantes de la calidad de un algoritmo son (I) el tiempo total de computación, medido por el número de operaciones de cómputo realizadas durante la ejecución del algoritmo, y (II) la cantidad de memoria utilizada. La notación para capturar tal información es a través de funciones de complejidad. Algoritmos y problemas p. 18
25 Máquina modelo Para eliminar el efecto de haber usado una cierta computadora o un cierto lenguaje de programación: Imaginamos que el algoritmo se ejecuta en una máquina modelo virtual tipo RAM (inglés: random access machine). Una máquina RAM no tiene límite de memoria ni límite de precisión de representación de números enteros o reales. Algoritmos y problemas p. 19
26 Operación básica Para poder contar las operaciones que ejecuta un algoritmo, hay que definir cuáles operaciones se cualifican como operaciones básicas: operaciones simples aritméticas (+,,, /, mód,...), Algoritmos y problemas p. 20
27 Operación básica Para poder contar las operaciones que ejecuta un algoritmo, hay que definir cuáles operaciones se cualifican como operaciones básicas: operaciones simples aritméticas (+,,, /, mód,...), operaciones simples lógicas (,,,, ), Algoritmos y problemas p. 20
28 Operación básica Para poder contar las operaciones que ejecuta un algoritmo, hay que definir cuáles operaciones se cualifican como operaciones básicas: operaciones simples aritméticas (+,,, /, mód,...), operaciones simples lógicas (,,,, ), comparaciones simples de variables (<,>,=,,, ), Algoritmos y problemas p. 20
29 Operación básica Para poder contar las operaciones que ejecuta un algoritmo, hay que definir cuáles operaciones se cualifican como operaciones básicas: operaciones simples aritméticas (+,,, /, mód,...), operaciones simples lógicas (,,,, ), comparaciones simples de variables (<,>,=,,, ), asignaciones de variables (:=), Algoritmos y problemas p. 20
30 Operación básica Para poder contar las operaciones que ejecuta un algoritmo, hay que definir cuáles operaciones se cualifican como operaciones básicas: operaciones simples aritméticas (+,,, /, mód,...), operaciones simples lógicas (,,,, ), comparaciones simples de variables (<,>,=,,, ), asignaciones de variables (:=), instrucciones de salto (break, continue, etcétera). Algoritmos y problemas p. 20
31 Tamaño de la instancia Para un cierto problema computacional, existen típicamente varias si no una cantidad infinita de instancias. Algoritmos y problemas p. 21
32 Tamaño de la instancia Para un cierto problema computacional, existen típicamente varias si no una cantidad infinita de instancias. Para definir el tamaño de una dicha instancia, hay que fijar cuál será la unidad básica de tal cálculo. Algoritmos y problemas p. 21
33 Tamaño de la instancia Para un cierto problema computacional, existen típicamente varias si no una cantidad infinita de instancias. Para definir el tamaño de una dicha instancia, hay que fijar cuál será la unidad básica de tal cálculo. Típicamente se utiliza la cantidad de bits, bytes, variables enteras, etcétera que se necesita ocupar para representar el problema en su totalidad en la memoria de una computadora. Algoritmos y problemas p. 21
34 Ejemplos Para un algoritmo de ordenar una lista de números, el tamaño de la instancia es la cantidad de números que tiene como entrada. Algoritmos y problemas p. 22
35 Ejemplos Para un algoritmo de ordenar una lista de números, el tamaño de la instancia es la cantidad de números que tiene como entrada. Si la instancia es un grafo, su tamaño es bien capturado en la suman+2m, como ninguno de los dos números sólo puede capturar el tamaño de la instancia completamente. Algoritmos y problemas p. 22
36 Comparabilidad Incluso se fijamos el tamaño de la instancia, todavía hay variaciones en la cantidad de tiempo requerido para la ejecución del algoritmo por otras propiedades estructurales de la instancia con respeto al problema. Algoritmos y problemas p. 23
37 Comparabilidad Incluso se fijamos el tamaño de la instancia, todavía hay variaciones en la cantidad de tiempo requerido para la ejecución del algoritmo por otras propiedades estructurales de la instancia con respeto al problema. Por ejemplo, es más difícil ordenar la lista [3,5,2,9,1] que ordenar la lista [1,3,5,6,7], como la segunda ya está ordenada. Algoritmos y problemas p. 23
38 Comparabilidad Incluso se fijamos el tamaño de la instancia, todavía hay variaciones en la cantidad de tiempo requerido para la ejecución del algoritmo por otras propiedades estructurales de la instancia con respeto al problema. Por ejemplo, es más difícil ordenar la lista [3,5,2,9,1] que ordenar la lista [1,3,5,6,7], como la segunda ya está ordenada. Lo que queremos nosotros es una caracterización de la calidad de un algoritmo que nos facilita hacer comparaciones entre algoritmos en general, no para una sola instancia. Algoritmos y problemas p. 23
39 Comparabilidad Incluso se fijamos el tamaño de la instancia, todavía hay variaciones en la cantidad de tiempo requerido para la ejecución del algoritmo por otras propiedades estructurales de la instancia con respeto al problema. Por ejemplo, es más difícil ordenar la lista [3,5,2,9,1] que ordenar la lista [1,3,5,6,7], como la segunda ya está ordenada. Lo que queremos nosotros es una caracterización de la calidad de un algoritmo que nos facilita hacer comparaciones entre algoritmos en general, no para una sola instancia. Las soluciones incluyen el uso del peor caso, caso promedio y el caso amortizado. Algoritmos y problemas p. 23
40 Función del peor caso Formamos una función de complejidad f : Z + Z + tal que para un valor n, el valor f(n) representa el número de operaciones básicas para el más difícil de todas las instancias de tamaño n. Algoritmos y problemas p. 24
41 Función del peor caso Formamos una función de complejidad f : Z + Z + tal que para un valor n, el valor f(n) representa el número de operaciones básicas para el más difícil de todas las instancias de tamaño n. La única dificultad es identificar o construir esa peor instancia. Algoritmos y problemas p. 24
42 Función del caso promedio Formamos una función de complejidad f : Z + R tal que para un valor n, el valor f(n) representa el número promedio de operaciones básicas sobre todas las instancias de tamaño n. Algoritmos y problemas p. 25
43 Función del caso promedio Formamos una función de complejidad f : Z + R tal que para un valor n, el valor f(n) representa el número promedio de operaciones básicas sobre todas las instancias de tamaño n. Posible dificultad: la estimación de la distribución de probabilidad. Algoritmos y problemas p. 25
44 Función del caso promedio Formamos una función de complejidad f : Z + R tal que para un valor n, el valor f(n) representa el número promedio de operaciones básicas sobre todas las instancias de tamaño n. Posible dificultad: la estimación de la distribución de probabilidad. En práctica, si el peor caso es muy raro, resulta más útil estudiar el caso promedio, si es posible. Algoritmos y problemas p. 25
45 Depedencias En algunos casos, es posible que el tiempo de ejecución de un algoritmo depende de las ejecuciones anteriores. Este ocurre cuando uno procesa una sucesión de instancias con algún tipo de dependencia entre ellas. En tal caso, las funciones de peor caso y caso promedio pueden resultar pesimistas. Algoritmos y problemas p. 26
46 Complejidad amortizada La complejidad amortizada evalua la eficiencia de un algoritmo en ejecuciones dependientes: Algoritmos y problemas p. 27
47 Complejidad amortizada La complejidad amortizada evalua la eficiencia de un algoritmo en ejecuciones dependientes: Ejecutamos el algoritmo varias veces en secuencia con diferentes instancias. Algoritmos y problemas p. 27
48 Complejidad amortizada La complejidad amortizada evalua la eficiencia de un algoritmo en ejecuciones dependientes: Ejecutamos el algoritmo varias veces en secuencia con diferentes instancias. Ordenamos las instancias de la peor manera posible (para consumir más recursos). Algoritmos y problemas p. 27
49 Complejidad amortizada La complejidad amortizada evalua la eficiencia de un algoritmo en ejecuciones dependientes: Ejecutamos el algoritmo varias veces en secuencia con diferentes instancias. Ordenamos las instancias de la peor manera posible (para consumir más recursos). Calculamos el tiempo total de ejecución. Algoritmos y problemas p. 27
50 Complejidad amortizada La complejidad amortizada evalua la eficiencia de un algoritmo en ejecuciones dependientes: Ejecutamos el algoritmo varias veces en secuencia con diferentes instancias. Ordenamos las instancias de la peor manera posible (para consumir más recursos). Calculamos el tiempo total de ejecución. Dividimos el total por el número de instancias. Algoritmos y problemas p. 27
51 Complejidad amortizada La complejidad amortizada evalua la eficiencia de un algoritmo en ejecuciones dependientes: Ejecutamos el algoritmo varias veces en secuencia con diferentes instancias. Ordenamos las instancias de la peor manera posible (para consumir más recursos). Calculamos el tiempo total de ejecución. Dividimos el total por el número de instancias. En muchos casos, esto no es demasiado laboroso. Algoritmos y problemas p. 27
52 Consumo de memoria Igual como el tiempo de ejecución, el consumo de memoria es una medida importante en la evaluación de calidad de algoritmos. El caso peor de consumo de memoria es la cantidad de unidades de memoria que el algoritmo tendrá que ocupar simultaneamente en el peor caso imaginable. Se define el caso promedio y el caso amortizado igual como con el tiempo de ejecución. Algoritmos y problemas p. 28
53 Clases de magnitud La meta del análisis de algoritmos es evaluar la calidad de un algoritmo en comparación con otros algoritmos o en comparación a la complejidad del problema o alguna cota de complejidad conocida. Típicamente el conteo de pasos de computación falta precisión en el sentido que no es claro que cosas se considera operaciones básicas. Por eso normalmente se caracteriza la calidad de un algoritmo por la clase de magnitud de la función de complejidad y no la función exacta misma. Algoritmos y problemas p. 29
54 Efecto del tamaño de instancia No son interesantes los tiempos de computación para instancias pequeñas, sino que instancias grandes. Con una instancia pequeña, normalmente todos los algoritmos producen resultados rápidamente. Algoritmos y problemas p. 30
55 Crecimiento asintótica Para funciones f : Z + R y g : Z + R, escribimos f(n) O(g(n)) si c > 0 tal que f(n) c g(n) para suficientemente grandes valores de n Algoritmos y problemas p. 31
56 Crecimiento asintótica Para funciones f : Z + R y g : Z + R, escribimos f(n) O(g(n)) si c > 0 tal que f(n) c g(n) para suficientemente grandes valores de n f(n) Ω(g(n)) si c > 0 tal que f(x) c g(x) para suficientemente grandes valores de n Algoritmos y problemas p. 31
57 Crecimiento asintótica Para funciones f : Z + R y g : Z + R, escribimos f(n) O(g(n)) si c > 0 tal que f(n) c g(n) para suficientemente grandes valores de n f(n) Ω(g(n)) si c > 0 tal que f(x) c g(x) para suficientemente grandes valores de n f(n) Θ(g(n)) si c,c > 0 tales que c g(x) f(x) c g(x) para suficientemente grandes valores de n Algoritmos y problemas p. 31
58 Crecimiento asintótica Para funciones f : Z + R y g : Z + R, escribimos f(n) O(g(n)) si c > 0 tal que f(n) c g(n) para suficientemente grandes valores de n f(n) Ω(g(n)) si c > 0 tal que f(x) c g(x) para suficientemente grandes valores de n f(n) Θ(g(n)) si c,c > 0 tales que c g(x) f(x) c g(x) para suficientemente grandes valores de n f(n) o(g(n)) si lím n f(n) g(n) = 0 Algoritmos y problemas p. 31
59 Interpretación O(f(n)) es una cota superior asintótica al tiempo de ejecución Ω(f(n)) es una cota inferior asintótica Θ(f(n)) dice que las dos funciones crecen asintóticamente iguales El símbolo se reemplaza frecuentemente con =. Algoritmos y problemas p. 32
60 Propiedades Las definiciones de crecimiento asintótica se generalizan para funciones de argumentos múltiples y son transitivas: (f(n) O(g(n)) g(n) O(h(n))) f(n) O(h(n)). (f(n) Ω(g(n)) g(n) Ω(h(n))) f(n) Ω(h(n)) Como este aplica para Ω(f(n)) y O(f(n)) los dos, aplica por definición también para Θ(f(n)). Algoritmos y problemas p. 33
61 Polinomios Es fácil formar O(f(n)) de polinomios y muchas otras expresiones por observar que en una suma, el término mayor domina el crecimiento: (f(n) O(h(n)) g(n) O(h(n))) f(n)+g(n) O(h(n)) g(n) O(f(n)) f(n)+g(n) O(f(n)) Algoritmos y problemas p. 34
62 Logaritmos Para cualquier base b > 0 y cada x > 0 tal que x R, aplica que log b (n) O(n x ). Cambiando la base de un logaritmo, llegamos a tener log a (n) = 1 log b (a) log b(n) Θ(log b n), porque log b (a) es un constante. Entonces no hay necesidad de marcar la base en una expresión de complejidad asintótica con logaritmos. Algoritmos y problemas p. 35
63 Funciones exponenciales Para todo x > 1 y todo k > 0 n k O(x n ) O sea, cada polinomial crece asintóticamente más lentamente que cualquiera expresión exponencial. Algoritmos y problemas p. 36
64 Algunas funciones comunes 1e+07 1e f(x) = e x f(x) = 2 x f(x) = x 3 f(x) = x 2 f(x) = x log 2 (x) f(x) = x f(x) = log 2 (x) Algoritmos y problemas p. 37
65 Eficiencia Un algoritmo es eficiente si su tiempo de ejecución tiene una cota superior asintótica que es un polinomio. Algoritmos y problemas p. 38
66 Eficiencia Un algoritmo es eficiente si su tiempo de ejecución tiene una cota superior asintótica que es un polinomio. Un problema que cuenta con por lo menos un algoritmo eficiente es un problema polinomial. Algoritmos y problemas p. 38
67 Eficiencia Un algoritmo es eficiente si su tiempo de ejecución tiene una cota superior asintótica que es un polinomio. Un problema que cuenta con por lo menos un algoritmo eficiente es un problema polinomial. Un problema es intratable si no existe ningún algoritmo eficiente para resolverlo. Algoritmos y problemas p. 38
68 Eficiencia Un algoritmo es eficiente si su tiempo de ejecución tiene una cota superior asintótica que es un polinomio. Un problema que cuenta con por lo menos un algoritmo eficiente es un problema polinomial. Un problema es intratable si no existe ningún algoritmo eficiente para resolverlo. Un problema es sin solución si no cuenta con algoritmo ninguno. Algoritmos y problemas p. 38
69 Tiempos de ejecución f(n) ( ) n ( ) n nlog 2 n n 2 n 3 1,5 n 2 n n! s min a min 36 a s 12,892 a años s 18 min min 12 d s 3 h 32 a s 20 s 12 d a mayor a años menor a un segundo 0 Algoritmos y problemas p. 39
70 Primera tarea para entregar Ordena las funciones siguientes según su crecimiento asintóticoo(f i (n)) de la menos rápida a la más rápida: f 1 = 7 n f 5 = n f 2 = n n f 6 = log 7 n f 3 = n 7 f 7 = 7 log 7 n f 4 = nlog 7 n f 8 = 700n Algoritmos y problemas p. 40
71 Segunda tarea para entregar Examina si el grafo con esta matriz de adyacencia de aristas es plano: Algoritmos y problemas p. 41
Análisis asintótico de algoritmos
Algoritmos y problemas Análisis asintótico de algoritmos! Cada algoritmo resuelve a un problema particular! Hay varias maneras de resolver un problema! Algunas maneras son buenas y otras son malas! El
Más detallesIN34A - Optimización
IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,
Más detallesNotación Asintótica. Programación Avanzada
Notación Asintótica Programación Avanzada Orden de crecimiento asintótico Ayuda a: Identificar el comportamiento de un algoritmo en el peor, el mejor o el caso promedio. Tener una idea del comportamiento
Más detallesLa eficiencia de los programas
La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos
Más detallesNotación Asintótica. Temas. Introducción Notación O Notación Omega Notación Theta. Análisis de Algoritmos
Notación Asintótica Análisis de Algoritmos Temas Introducción Notación O Notación Omega Notación Theta 1 Introducción Por qué el análisis de algoritmos? Determinar tiempos de respuesta (runtime) Determinar
Más detallesAnálisis de Algoritmos
January 15, 010 1 Pseudocódigo 3 Modelos de referencia Antes de analizar un algoritmo debemos tener un modelo de la implementación de la tecnología que se va a usar, incluyendo un modelo para los recursos
Más detallesAlgorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i)
Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (i) Eficiencia y notación asintótica. Introducción Para resolver un problema pueden existir varios algoritmos. Por tanto, es lógico
Más detallesProblemas NP-completos
Análisis de Algoritmos Problemas NP-completos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas NP-completos p. 1 Problemas NP-completos La clase NP contiene numerosos problemas
Más detallesConceptos Fundamentales del Análisis de Algoritmos II
Conceptos Fundamentales del Análisis de Algoritmos II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 17 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II
Más detallesDividir-conquistar y podar-buscar
Técnicas de diseño de algoritmos Dividir-conquistar y podar-buscar Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL DC y PB p. 1 Diseño de algoritmos La meta: encontrar una manera eficiente
Más detallesComplejidad de los Algoritmos
Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Notación Asintótica DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Introducción Por qué el análisis de algoritmos? Determinar tiempos de respuesta (runtime)
Más detallesCurso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional
Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009
Más detallesTema 01: Fundamentos del Análisis Asintótico de Algoritmos
Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Noviembre, 2003 CS0218: Algoritmos y Programación II Introducción En Ciencias de la Computación se presenta con frecuencia la situación de analizar
Más detallesAnálisis de algoritmos
Tema 05: no recursivos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido no recursivos La notación de Landau O La notación O Principio
Más detallesTema 2 Fundamentos de Complejidad Algorítmica
Tema 2 Fundamentos de Complejidad Algorítmica Pablo Sánchez Dpto. Matemáticas, Estadística y Computación Universidad de Cantabria Santander (Cantabria, España) p.sanchez@unican.es Pablo Sánchez (MATESCO)
Más detallesFundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari
Fundamentos de Programación Entera A. Revisión Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República 2012-2018
Más detalles1/16. Coste de Algoritmos. 8 de abril de 2018
1/16 Coste de Algoritmos Josefina Sierra Santibáñez 8 de abril de 2018 2/16 Coste de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, estimar los recursos que requiere. Aunque
Más detallesAnálisis Amortizado. Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera
Análisis Amortizado Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera 1 Análisis de algoritmos La eficiencia de un programa tiene dos
Más detalles1. Introducción al análisis de algoritmos
1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Brassard y Bratley, 97; capítulos
Más detalles1. 1. Introducción al concepto de algoritmia
1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Básica: Aho, Hopcroft y Ullman,
Más detallesComplejidad computacional y asintótica
Complejidad computacional y asintótica Complejidad computacional Indica el esfuerzo que hay que realizar para aplicar un algoritmo y lo costoso que éste resulta. La eficiencia suele medirse en términos
Más detallesComplejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
Más detallesAlgoritmos y Complejidad
Algoritmos y Complejidad Introducción Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2017 Introducción Algoritmos y Algoritmia Problemas
Más detallesAlgoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos
Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de
Más detallesCOMPUTACIÓN ALEATORIZADA
Conferencia magistral COMPUTACIÓN ALEATORIZADA Probabilidad y algoritmos Dra. Elisa Schaeffer Profesora del Posgrado de Ing. de Sistemas (PISIS) en la Facultad de Ing. Mecánica y Eléctrica (FIME), Coordinador
Más detalles1. Algoritmo, programa y pseudocódigo. Introducción al estudio de algoritmos. Ejemplos
Introducción al estudio de algoritmos 1. Algoritmo, programa y pseudocódigo 2. Eficiencia y el principio de invarianza 3. Operaciones elementales 4. Casos mejor, peor y medio 5. Notación asintótica 6.
Más detallesNOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.
NOTACIÓN O GRANDE El análisis de algoritmos estima el consumo de recursos de un algoritmo. Esto nos permite comparar los costos relativos de dos o más algoritmos para resolver el mismo problema. El análisis
Más detallesAlgorítmica y Lenguajes de Programación. Complejidad computacional
Algorítmica y Lenguajes de Programación Complejidad computacional Complejidad computacional. Introducción La complejidad computacional estudia la dificultad inherente de problemas de importancia teórica
Más detallesAlgoritmos de aproximación
Técnicas de diseño de algoritmos Algoritmos de aproximación Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximación p. 1 Soluciones no-óptimas En situaciones donde
Más detallesTiempo de Ejecución. Midiendo el Tiempo de Ejecución
Tiempo de Ejecución Arturo Díaz Pérez Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro Zacatenco México, D. F. CP 07300
Más detallesIntroducción. Algoritmos y Complejidad. Algoritmos y Algoritmia. Introducción. Problemas e instancias. Pablo R. Fillottrani
Introducción Introducción Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Algoritmos y Algoritmia Problemas e instancias Primer Cuatrimestre 2014 Algoritmos
Más detallesEstructuras de datos Listas y árboles
Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesAnálisis de algoritmos
Tema 04: Notación asintótica M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Asíntota Dominio asintótico Ejemplo
Más detallesDiseño y Análisis de Algoritmos
1. Recursividad 2. "Dividir para Reinar" 3. Recursividad y Tabulación (Programación Dinámica) 4. Métodos Matemáticos Funciones discretas Notación O Ecuaciones de recurrencia 5. Casos de Estudio Breve descripción
Más detallesEstructuras de Datos y Algoritmos
Ejercicio 1: Estructuras de Datos y Algoritmos Año 2018 Práctico 2: Evaluación de Algoritmos (Finalización: 27/08) Ingeniería en Computación - Ingeniería en Informática - Profesorado en Computación Dados
Más detallesAnálisis de la Complejidad de Algoritmos
Análisis de la Complejidad de Algoritmos Gráficas estadística y minería de datos con python Miguel Cárdenas Montes Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain miguel.cardenas@ciemat.es
Más detallesAnálisis y Diseño de Algoritmos. Complejidad Computacional
Análisis y Diseño de Algoritmos Complejidad Computacional Multiplicación Método Tradicional Método Russé Método Particiones Complejidad Computacional Tan pronto como una máquina análitica exista, será
Más detallesClases de complejidad
Análisis de Algoritmos Clases de complejidad Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Clases de complejidad p. 1 Clase de complejidad Los requisitos para definir una clase: fijar
Más detallesCarlos Delgado Kloos Ingeniería Telemática Univ. Carlos III de Madrid. Java: Complejidad / 1
Complejidad Carlos Delgado Kloos Ingeniería Telemática Univ. Carlos III de Madrid cdk@it.uc3m.es Java: Complejidad / 1 Comparación long fib (int n) {if (n
Más detallesCOMPLEJIDAD Y EFICIENCIA DE ALGORITMOS
UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO Facultad de Ciencias Exactas y Tecnologías Licenciatura en Sistemas de Información 2009 COMPLEJIDAD Y EFICIENCIA DE ALGORITMOS 1 TEORÍA DE LA COMPLEJIDAD Dado
Más detallesProgramación 2. Lección 8. Caracterización asintótica de la eficiencia de un algoritmo
Programación 2 Lección 8. Caracterización asintótica de la eficiencia de un algoritmo 1 1. Funciones de coste de un algoritmo 2. Caracterización asintótica del coste Notación O Consecuencias prácticas
Más detallesNotación Asintótica 2
Notación Asintótica 2 mat-151 1 Éxamen Rápido (6 minutos) Cada operación fundamental usa c milisegundos, cuánto tiempo toma contar hasta 1,000,000? Cuál es el valor de N? Cuál es el órden de complejidad
Más detallesAlgorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (ii)
Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (ii) Eficiencia y notación asintótica. Análisis de algoritmos En la lección anterior el concepto de eficiencia asintótica. En ésta
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Introducción: El Rol de los Algoritmos en Computación DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Temario 2 1. Introducción 2. Notación Asintótica 3. Recurrencias
Más detallesAnálisis de Algoritmos
Análisis de Algoritmos Amalia Duch Barcelona, marzo de 2007 Índice 1. Costes en tiempo y en espacio 1 2. Coste en los casos mejor, promedio y peor 3 3. Notación asintótica 4 4. Coste de los algoritmos
Más detallesAlgoritmos aleatorizados
Técnicas de diseño de algoritmos Algoritmos aleatorizados Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos aleatorizados p. 1 Algoritmos aleatorizados = algoritmos que incorporan
Más detallesComplejidad Computacional
Complejidad Computacional MLG521 Cristobal Rojas Pamela Alvarez Departamento de Ciencias de de la Ingeniería Departamento de Ingeniería Matemática Universidad Andrés Bello MLG521 Cómo medir la dificultad
Más detallesCIENCIA DE LA COMPUTACION
CIENCIA DE LA COMPUTACION Docentes Profesor: Alejandro Rozenfeld Jefe de trabajos prácticos: Andrea L. Riera Sebastián Villar Ayudantes diplomados: Fabio Bucciarelli Marcelo Marchioni Ayudante Alumno:
Más detallesProgramación dinámica p. 1
Técnicas de diseño de algoritmos Programación dinámica Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Programación dinámica p. 1 Programación dinámica En programación dinámica, uno
Más detallesAlgoritmos y Complejidad
IN47B, Ingeniería de Operaciones Contenidos 1 Introducción 2 Analizando Algoritmos 3 Complejidad 4 N P-completitud Qué es un Algoritmo? Qué es un Algoritmo? Definición Un algoritmo es un conjunto de pasos
Más detallesProgramación Estructurada. Sesión 3:Estructras de control
Programación Estructurada Sesión 3:Estructras de control Contextualización En esta sesión comenzaremos con las Estructuras de control, las cuales brindan opciones de ejecución o decisión dentro de la elaboración
Más detallesProgramación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2
Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema 5. Algoritmos voraces, heurísticos y aproximados
Más detallesProgramación. Curso 2005/2006. Tema 3: Complejidad computacional
Programación Facultad de Informática Universidad Politécnica de Valencia Curso 2005/2006 Tema 3: FI UPV: 29 de noviembre de 2005 Índice 1 Introducción 2 2 Consumo de recursos: costes espaciales y temporales
Más detallesIntroducción al Análisis del Coste de Algoritmos
1/11 Introducción al Análisis del Coste de Algoritmos Josefina Sierra Santibáñez 7 de noviembre de 2017 2/11 Eficiencia de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, predecir
Más detallesTablas de dispersión
Estructuras de datos Tablas de dispersión Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Tablas de dispersión y conjuntos p. 1 Tablas de dispersión dinámicas Una tabla de dispersión
Más detallesAlgoritmos pseudo-polinomiales
Análisis de Algoritmos Algoritmos pseudo-polinomiales Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos pseudo-polinomiales p. 1 HAMILTON PATH es NP-completo La reducción es
Más detallesAnálisis de algoritmos
Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional
Más detallesProblemas computacionales, intratabilidad y problemas NP completos. Febrero Facultad de Ingeniería. Universidad del Valle
Complejidad Complejidad, in NP completos Facultad de Ingeniería. Universidad del Valle Febrero 2017 Contenido Complejidad 1 2 3 Complejidad computacional Complejidad Introducción En ciencias de la computación
Más detallesRAMIFICAR-ACOTAR Y PLANOS DE CORTE
RAMIFICAR-ACOTAR Y PLANOS DE CORTE ELISA SCHAEFFER Programa de Posgrado en Ingeniería de Sistemas (PISIS) elisa@yalma.fime.uanl.mx INVESTIGACIÓN DE OPERACIONES EL MÉTODO RAMIFICAR-ACOTAR (RA) (ingl. Branch
Más detallesEste método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).
PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y
Más detallesAlgoritmos y Complejidad
Algoritmos y Complejidad Técnicas y Herramientas Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2014 Técnicas y Herramientas Técnicas
Más detallesIntroducción al análisis de algoritmos
Estructura de Datos y Algoritmos Introducción al análisis de algoritmos 1. Eficiencia en tiempo de Ejecución Cuando resolvemos un problema nos vemos frecuentemente enfrentando una elección de programas,
Más detallesESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE
Análisis y costo de algoritmos Algoritmos Un algoritmo es un conjunto de pasos claramente definidos que a partir de un cierta entrada (input) produce una determinada salida (output) Algoritmos y programas
Más detallesAnálisis de Algoritmos
Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?
Más detallesComplejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Más detallesAnálisis de Algoritmos
Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?
Más detallesTécnicas y Herramientas. Algoritmos y Complejidad. Técnicas de Demostración. Técnicas y Herramientas. Herramientas Matemáticas Básicas
Técnicas y Herramientas Técnicas y Herramientas Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2014 Técnicas de Demostración Herramientas
Más detallesAlgoritmos y Estructuras de Datos Curso 06/07. Ejercicios
6.1.(Clase) Un programa que utiliza la técnica divide y vencerás, divide un problema de tamaño n en a subproblemas de tamaño n/b. El tiempo g(n) de la resolución directa (caso base) se considerará constante.
Más detallesCapítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica
Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 1: Fundamentos:
Más detallesBúsqueda en espacio de estados
Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología
Más detallesAlgoritmo. Programa. Lenguaje algorítmico
ESCUELA DE EDUCACION SECUNDARIA TECNICA N 3 LENGUAJE ELECTRONICO PROFESOR: PAOLO, MARCOS GERMAN TEMA: ALGORITMOS Algoritmo Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y
Más detallesAnálisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007
Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Que dice la paradoja de Zenón de Elea? Qué significa paradoja?
Más detallesUna clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:
Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro
Más detallesComplejidad amortizada
Análisis de algoritmos Complejidad amortizada Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Complejidad amortizada p. 1 Complejidad amortizada La idea en el análisis de complejidad
Más detalles4. Complejidad computacional
Fundamentos de Programación Entera 4. Complejidad computacional Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República
Más detallesIntroducción y Comportamiento Asintótico
Introducción y Comportamiento Asintótico M. Andrea Rodríguez-Tastets Ayudante: Erick Elejalde Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl I Semestre - 2014 1/64 Problemas and
Más detallesEstructuras de Datos y Algoritmos
Estructuras de Datos y Algoritmos Práctico 2: Evaluación de Algoritmos (Finalización: 03/09) Ingeniería en Computación - Ingeniería en Informática Año 2015 Ejercicio 1: Dados los siguientes vectores, correspondientes
Más detallesMARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA
ALGORITMOS DE APROXIMACIÓN PARA PROBLEMAS NP DUROS MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA UNIVERSIDAD DEL CAUCA FACULTAD DE CIENCIAS NATURALES, EXACTAS Y DE LA EDUCACIÓN DEPARTAMENTO DE MATEMÁTICAS
Más detallesIntroducción a la complejidad computacional
Introducción a la complejidad computacional definida sobre anillos arbitrarios 18 de junio de 2016 Fuente: http://www.utmmcss.com/ Por qué otro modelo? Continuo vs discreto. Intuición interiorizada del
Más detallesTEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Más detallesALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las
Más detallesLENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas
Más detallesI. Complejidad de Problemas
I. Complejidad de Problemas 1. Complejidad de Problemas Tópicos Clasificación de Problemas Clasificación por su Naturaleza Clasificación por su Tratabilidad Clasificación por el tipo de Respuesta 1.1 Clasificación
Más detallesTema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)
Tema 1 Estructuras de datos (Prof. Edgardo A. Franco) Contenido Algoritmia Qué es un algoritmo? Métodos algorítmicos Diagrama de flujo Símbolos utilizados en los diagramas de flujo Reglas para la construcción
Más detallesProblemas de decisión y su complejidad computacional
Problema de decisión Problemas de decisión y su complejidad computacional! Los problemas que tienen dos respuestas posibles! Sí o no! Verdad o falso! Posible o imposible Instancia! Existe o no existe!
Más detallesAnálisis de Algoritmos Problemas de grafos
Análisis de Algoritmos Problemas de grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas de grafos p. 1 INDEPENDENT SET es NP-completo Necesitamos un gadget : el triángulo.
Más detallesI. Complejidad de Problemas. Sistemas Expertos Copyright 2005, David Mauricio
Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matematicas I. Complejidad de Problemas 1 1. Complejidad de Problemas Tópicos Clasificación de Problemas Clasificación por su Naturaleza Clasificación
Más detalles! !
Programa semanal 1. Introducción a algoritmos: variables, condiciones y repeticiones; pseudocódigo 2. Matemáticas de algoritmos; lógica computacional 3. Modelos formales de computación: autómatas y máquinas
Más detallesTemas. Objetivo 12:00
0 Temas Teoría de la Complejidad Análisis de Algoritmos Complejidad temporal y espacial Funciones Matemáticas Ordenes Notación Asintótica Principios para determinar el orden de un algoritmo Objetivo Que
Más detallesAnálisis de algoritmos
Tema 13: Completitud NP M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción P y NP La clase P (Polinómicamente acotado)
Más detallesProf. María Alejandra Quintero. Informática Año
Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle
Más detallesComplejidad Computacional
Complejidad Computacional Clasificación de Problemas Teoría de la Complejidad Estudia la manera de clasificar algoritmos como buenos o malos. Estudia la manera de clasificar problemas de acuerdo a la dificultad
Más detallesProgramación Introducción al curso
Programación 2 1 - Introducción al curso Objetivos del curso Presentar y analizar las estructuras de datos y algoritmos que forman la base para la resolución de problemas en computación; Introducir nociones
Más detallesProgramación en Mathematica
UNIVERSIDAD DE JAÉN ESCUELA POLITÉCNICA SUPERIOR Dpto. de Matemáticas (Área de Álgebra) Curso 2004/05 PRÁCTICA Nº3 Programación en Mathematica Mathematica no sólo es un paquete de cálculo simbólico en
Más detallesTema: Análisis Léxico
Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Léxico Contenido En esta guía se dará a conocer la manera en que un compilador realiza el análisis
Más detallesTECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
Más detallesOCW-V.Muto Sistemas de numeración Cap. III CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION
CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION El sistema de numeración usado habitualmente es el decimal, de base 10, que no es adecuado para ser manejado por el ordenador, fundamentalmente
Más detallesParte I: El computador y el proceso de programación
Parte I: El computador y el proceso de programación 1.Introducción a los computadores y su programación 2. Introducción al análisis y diseño de algoritmos 3. Introducción al análisis y diseño de programas
Más detalles