SlideShare una empresa de Scribd logo
1 de 20
Teoría de Complejidad
Computacional (TCC)
Grupo 8
Raquel Núñez
12-1020
Teoría de Complejidad Computacional:
Complejidad Espacial
Complejidad Temporal
Puntos a Tratar:
TCC y su vinculación con la TAYLF.
• Objetivo:
▫ Saber cuánto cuesta resolver un problema
• Medir la complejidad = Medir los recursos consumidos
▫ Tiempo Complejidad Temporal→
▫ Espacio Complejidad Espacial→
Introducción
• Generalmente, un problema dado puede resolverse mediante muy diversos
algoritmos o programas. No todas las soluciones son igualmente buenas.
• A la hora de analizar la complejidad de un sistema una de las cosas mas
importante cuando se selecciona un algoritmo es el tiempo que va a tardar
en arrojar una salida, es decir su eficiencia.
• Esto se vuelve difícil por lo que generalmente se calcula la cantidad de
operaciones en función del tamaño de la entrada y esto se multiplica por la
constante de tiempo que la computadora tarda en realizar una operación.
• Uno de los problemas mas comunes dentro de la ciencia computacional es
la ordenación de datos. La complejidad posee uno de los algoritmos
empleados para resolver este problema al no escribir los datos sino su
función de crecimiento.
Complejidad Computacional
• Es una rama de la teoría de la computación que estudia, de manera
técnica, la complejidad inherente a la solución de un problema
computable.
• Estudia el problema considerando todos los algoritmos posibles
para resolverlo.
Para ello, considera los 2 tipos de recursos requeridos durante el
cómputo para resolver un problema:
 Tiempo: Número de pasos base de ejecución de un algoritmo para
resolver un problema.
 Espacio: Cantidad de memoria utilizada para
resolver un problema.
Los problemas lo podemos dividir
en dos grupos:
Un problema decidible puede no ser solucionado por un computador porque requiere un
mayor numero de operaciones para resolverlo.
Dividiendo en dos los problemas decidibles
Todos los algoritmos a los que
se la ha podido establecer su
tiempo de ejecución.
Requiere una repuesta
de longitud exponencial
Para tener una mejor idea de la diferencia
entre tratable e intratable:
Esto significa que si suponemos
que se ejecutan k instrucciones
por microsegundo, los algoritmos
tardan
TCC y su vinculación con la
TAYLF
• Permite abordar cuestiones de gran interés para un
informático como que tipo de problemas pueden ser
resueltos por un computador o, caso de existir una
solución computable para un problema, como podemos
medir la calidad (en termino de eficiencia) de dicha
solución. Es decir, la teoría de Autómatas es la puerta
que nos permite la entrada hacia campos tan
interesantes como la computabilidad y la complejidad
algorítmica.
• Considerando la Teoría de la Complejidad
Computacional un problema de decisión podrá
ser:
Clase P (Polynomial-time)
• Cuando el tiempo de ejecución de un algoritmo es menor que un cierto valor
calculado a partir del largo de la variable de entrada (N) usando una
fórmula polinómica, se dice que dicho problema se puede resolver en un
tiempo polinómico. Por ejemplo, la busqueda de una palabra en un texto
con N palabras necesita menos de 50N2+N iteraciones, entonces el
problema es resoluble en un "tiempo polinómico". De esa manera, tiempos
de 2n2+5n, o 4n6+7n4-2n2 son polinómicos; pero 2n no lo es.
• Ejemplo: El problema
del vendedor viajero El
objetivo es encontrar una
ruta que, comenzando y
terminando en una
ciudad concreta, pase
una sola vez por cada
una de las ciudades y
minimice la distancia
recorrida por el
viajante
Problemas NP (Polynomial non-deterministic)
Clase NP-Completo
Dentro de la clases NP se definieron los problemas “difíciles” como
NP-completos
Definiciones:
NP:
Se dice que un problema es NP si existe una maquina de Turing a
tiempo polinomial que verifique la solución.
NP-completo:
Si el problema es NP y todo otro problema NP es reducible a este, es
decir basta resolver el problema en cuestión para resolver cualquier
otro. Los tiempos de ejecución de los problemas NP-completos son
exponenciales en el largo de la entrada n. es decir en el orden de
magnitud de 2n
Existe una serie de complejidades que podemos
denominar “típicas”. En la siguiente tabla las podemos
ver ordenadas de mejor a peor:
Complejidad Temporal
• Se denomina complejidad temporal a la función T(n) que mide el número
de instrucciones realizadas por el algoritmo para procesar los n elementos
de entrada. Cada instrucción tiene asociado un costo temporal.
• Afecta al tiempo de ejecución el orden en que se procesen los elementos de
entrada.
• Ejemplo
• Contamos con una computadora capaz de procesar datos
en 10-4 seg. En esta computadora se ejecuta algoritmo que
lee registros de una base de datos, dicho algoritmo tiene
una complejidad exponencial 2n. Cuanto tiempo se
tardara en procesar una entrada n de datos?
Complejidad espacial
Parte del análisis de un algoritmo se hace vía la complejidad espacial para
obtener un estimado del uso de memoria principal expresado mediante una
función según el tamaño de la entrada.
Existen 4 aspectos relevantes a considerar:
• La cantidad de memoria requerida por el código del algoritmo.
• Para almacenar los datos de entrada.
• Requerida para los datos de salida
• La cantidad de memoria requerida en cuanto a espacio de trabajo del
algoritmo para realizar los cálculos y asignaciones.
Ejercicios
• 1- Contamos con una computadora capaz de procesar datos en 10-4 seg. En esta computadora se
ejecuta algoritmo que lee registros de una base de datos, dicho algoritmo tiene una complejidad
exponencial 3n. Cuanto tiempo se tardara en procesar una entrada n de datos?
• 2- n=10
• 3- Supongamos que cada noche disponemos de una hora de CPU para ejecutar cierto programa y
que con esa hora tenemos suficiente tiempo para ejecutar un programa con una entrada, a lo
sumo, de tamaño n= 1 000 000. Pero el centro de cálculo tras una reasignación de tiempos decide
asignarnos 3 horas diarias de CPU. Ahora, ¿cuál es el mayor tamaño de entrada que podrá
gestionar nuestro programa, si su complejidad T(n) fuera (para alguna constante ki)?
• (a) k1 n (b) k2 n2 (c) k3 10n
• 4- Supongamos que cada noche disponemos de una hora de CPU para ejecutar cierto programa y
que con esa hora tenemos suficiente tiempo para ejecutar un programa con una entrada, a lo
sumo, de tamaño n= 1 000 000. En esta situación nuestro jefe compra una máquina 100 veces
más rápida que la vieja. Ahora ¿cuál es el mayor tamaño de entrada que podrá gestionar nuestro
programa en una hora, si su complejidad T(n) fuera (para alguna constante ki)? (a) k1 n (b) k2 n 2
(c) k3 10n
Video
https://www.youtube.com/watch?v=-
OMysIB8FfY
Bibliografia
• Silva, Leopordo (2010), Estructura de Datos y Algoritmos:
http://www2.elo.utfsm.cl/~lsb/elo320/clases/c4.pdf
• A. Sanchis, A. Ledesma, J.A. Iglesias, B. Garcia, J.M.Alonso:
http://ocw.uc3m.es/ingenieria-informatica/teoria-de-automatas-y-lenguajes-formales/material-
de-clase-1/tema-8-complejidad-computacional
• Abeliuk, Andres. Chile :
http://users.dcc.uchile.cl/~aabeliuk/documents/complejidad.pdf

Más contenido relacionado

La actualidad más candente

Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónjhonfgarcia
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacionLuis Couoh
 
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Cristina Zavala Palacios
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de PilaPablo Guerra
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1Juan Carlos Martinez Garcia
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo realAeivans
 

La actualidad más candente (20)

El lenguaje c#
El lenguaje c#El lenguaje c#
El lenguaje c#
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Sistemas tiempo-real
Sistemas tiempo-realSistemas tiempo-real
Sistemas tiempo-real
 
Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1
 
Algoritmos por prioridades
Algoritmos por prioridadesAlgoritmos por prioridades
Algoritmos por prioridades
 
Recursividad
RecursividadRecursividad
Recursividad
 
SIMULACION UNIDAD II
SIMULACION UNIDAD IISIMULACION UNIDAD II
SIMULACION UNIDAD II
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo real
 

Destacado

Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretasFrancisco Lambert Obediente
 
Recursos de la computadora
Recursos de la computadoraRecursos de la computadora
Recursos de la computadoranetagames
 
Complejidad algoritmos
Complejidad algoritmosComplejidad algoritmos
Complejidad algoritmosffarren
 
V Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) ReflexiónV Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) ReflexiónVíctor Hugo Salazar
 
complejidad computacional
complejidad computacionalcomplejidad computacional
complejidad computacionallourdesnbv
 
TeoríA AlgoríTmica
TeoríA AlgoríTmicaTeoríA AlgoríTmica
TeoríA AlgoríTmicaCindhy Celi
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmosMayte dena
 
Estructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o BuclesEstructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o BuclesLacoste
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmosG Hoyos A
 
Domingo de pascua
Domingo de pascuaDomingo de pascua
Domingo de pascuaguest0071d9
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administranBrahian Perlaza
 
La teoria de la complejidad
La teoria de la complejidadLa teoria de la complejidad
La teoria de la complejidadanmcg
 

Destacado (20)

Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Taller EdiLIM
Taller EdiLIMTaller EdiLIM
Taller EdiLIM
 
Recursos de la computadora
Recursos de la computadoraRecursos de la computadora
Recursos de la computadora
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Complejidad algoritmos
Complejidad algoritmosComplejidad algoritmos
Complejidad algoritmos
 
V Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) ReflexiónV Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) Reflexión
 
complejidad computacional
complejidad computacionalcomplejidad computacional
complejidad computacional
 
TeoríA AlgoríTmica
TeoríA AlgoríTmicaTeoríA AlgoríTmica
TeoríA AlgoríTmica
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmos
 
Complejidad de los Algoritmos
Complejidad de los AlgoritmosComplejidad de los Algoritmos
Complejidad de los Algoritmos
 
Estructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o BuclesEstructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o Bucles
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Estructura algorítmicas
Estructura algorítmicasEstructura algorítmicas
Estructura algorítmicas
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
 
Domingo de pascua
Domingo de pascuaDomingo de pascua
Domingo de pascua
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administran
 
La teoria de la complejidad
La teoria de la complejidadLa teoria de la complejidad
La teoria de la complejidad
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
332 presentacion grafos
332 presentacion grafos332 presentacion grafos
332 presentacion grafos
 

Similar a Teoría de complejidad computacional (tcc)

Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de AlgoritmosFranco Cid
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmosrehoscript
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosJuan Timoteo Cori
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Rubi Veronica Chimal Cuxin
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAdamari Cortes
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech mayKarina1602
 
Que es la complejidad de un algoritmo
Que es la complejidad de un algoritmoQue es la complejidad de un algoritmo
Que es la complejidad de un algoritmojaviierr24
 
Presentacion para analisis de algoritmo
Presentacion para analisis de algoritmoPresentacion para analisis de algoritmo
Presentacion para analisis de algoritmoSamet A Muñoz M
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7lenithoz
 
Unidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoUnidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoEnrique2194
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemasJohnfornerod
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)Lio Alva
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facilDariana Acuariogv
 

Similar a Teoría de complejidad computacional (tcc) (20)

Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Manual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_gManual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_g
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech may
 
Que es la complejidad de un algoritmo
Que es la complejidad de un algoritmoQue es la complejidad de un algoritmo
Que es la complejidad de un algoritmo
 
analisis de los algoritmos
analisis de los algoritmosanalisis de los algoritmos
analisis de los algoritmos
 
Presentacion para analisis de algoritmo
Presentacion para analisis de algoritmoPresentacion para analisis de algoritmo
Presentacion para analisis de algoritmo
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 
Unidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoUnidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmo
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
Complejidad del algoritmo
Complejidad del algoritmo Complejidad del algoritmo
Complejidad del algoritmo
 

Último

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXIantoniopalmieriluna
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...solanocortezluisalfr
 

Último (15)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 

Teoría de complejidad computacional (tcc)

  • 1. Teoría de Complejidad Computacional (TCC) Grupo 8 Raquel Núñez 12-1020
  • 2. Teoría de Complejidad Computacional: Complejidad Espacial Complejidad Temporal Puntos a Tratar: TCC y su vinculación con la TAYLF.
  • 3. • Objetivo: ▫ Saber cuánto cuesta resolver un problema • Medir la complejidad = Medir los recursos consumidos ▫ Tiempo Complejidad Temporal→ ▫ Espacio Complejidad Espacial→
  • 4. Introducción • Generalmente, un problema dado puede resolverse mediante muy diversos algoritmos o programas. No todas las soluciones son igualmente buenas. • A la hora de analizar la complejidad de un sistema una de las cosas mas importante cuando se selecciona un algoritmo es el tiempo que va a tardar en arrojar una salida, es decir su eficiencia. • Esto se vuelve difícil por lo que generalmente se calcula la cantidad de operaciones en función del tamaño de la entrada y esto se multiplica por la constante de tiempo que la computadora tarda en realizar una operación. • Uno de los problemas mas comunes dentro de la ciencia computacional es la ordenación de datos. La complejidad posee uno de los algoritmos empleados para resolver este problema al no escribir los datos sino su función de crecimiento.
  • 5. Complejidad Computacional • Es una rama de la teoría de la computación que estudia, de manera técnica, la complejidad inherente a la solución de un problema computable. • Estudia el problema considerando todos los algoritmos posibles para resolverlo. Para ello, considera los 2 tipos de recursos requeridos durante el cómputo para resolver un problema:  Tiempo: Número de pasos base de ejecución de un algoritmo para resolver un problema.  Espacio: Cantidad de memoria utilizada para resolver un problema.
  • 6. Los problemas lo podemos dividir en dos grupos: Un problema decidible puede no ser solucionado por un computador porque requiere un mayor numero de operaciones para resolverlo.
  • 7. Dividiendo en dos los problemas decidibles Todos los algoritmos a los que se la ha podido establecer su tiempo de ejecución. Requiere una repuesta de longitud exponencial
  • 8. Para tener una mejor idea de la diferencia entre tratable e intratable: Esto significa que si suponemos que se ejecutan k instrucciones por microsegundo, los algoritmos tardan
  • 9. TCC y su vinculación con la TAYLF • Permite abordar cuestiones de gran interés para un informático como que tipo de problemas pueden ser resueltos por un computador o, caso de existir una solución computable para un problema, como podemos medir la calidad (en termino de eficiencia) de dicha solución. Es decir, la teoría de Autómatas es la puerta que nos permite la entrada hacia campos tan interesantes como la computabilidad y la complejidad algorítmica.
  • 10. • Considerando la Teoría de la Complejidad Computacional un problema de decisión podrá ser: Clase P (Polynomial-time) • Cuando el tiempo de ejecución de un algoritmo es menor que un cierto valor calculado a partir del largo de la variable de entrada (N) usando una fórmula polinómica, se dice que dicho problema se puede resolver en un tiempo polinómico. Por ejemplo, la busqueda de una palabra en un texto con N palabras necesita menos de 50N2+N iteraciones, entonces el problema es resoluble en un "tiempo polinómico". De esa manera, tiempos de 2n2+5n, o 4n6+7n4-2n2 son polinómicos; pero 2n no lo es.
  • 11. • Ejemplo: El problema del vendedor viajero El objetivo es encontrar una ruta que, comenzando y terminando en una ciudad concreta, pase una sola vez por cada una de las ciudades y minimice la distancia recorrida por el viajante Problemas NP (Polynomial non-deterministic)
  • 12. Clase NP-Completo Dentro de la clases NP se definieron los problemas “difíciles” como NP-completos Definiciones: NP: Se dice que un problema es NP si existe una maquina de Turing a tiempo polinomial que verifique la solución. NP-completo: Si el problema es NP y todo otro problema NP es reducible a este, es decir basta resolver el problema en cuestión para resolver cualquier otro. Los tiempos de ejecución de los problemas NP-completos son exponenciales en el largo de la entrada n. es decir en el orden de magnitud de 2n
  • 13. Existe una serie de complejidades que podemos denominar “típicas”. En la siguiente tabla las podemos ver ordenadas de mejor a peor:
  • 14. Complejidad Temporal • Se denomina complejidad temporal a la función T(n) que mide el número de instrucciones realizadas por el algoritmo para procesar los n elementos de entrada. Cada instrucción tiene asociado un costo temporal. • Afecta al tiempo de ejecución el orden en que se procesen los elementos de entrada.
  • 15. • Ejemplo • Contamos con una computadora capaz de procesar datos en 10-4 seg. En esta computadora se ejecuta algoritmo que lee registros de una base de datos, dicho algoritmo tiene una complejidad exponencial 2n. Cuanto tiempo se tardara en procesar una entrada n de datos?
  • 16.
  • 17. Complejidad espacial Parte del análisis de un algoritmo se hace vía la complejidad espacial para obtener un estimado del uso de memoria principal expresado mediante una función según el tamaño de la entrada. Existen 4 aspectos relevantes a considerar: • La cantidad de memoria requerida por el código del algoritmo. • Para almacenar los datos de entrada. • Requerida para los datos de salida • La cantidad de memoria requerida en cuanto a espacio de trabajo del algoritmo para realizar los cálculos y asignaciones.
  • 18. Ejercicios • 1- Contamos con una computadora capaz de procesar datos en 10-4 seg. En esta computadora se ejecuta algoritmo que lee registros de una base de datos, dicho algoritmo tiene una complejidad exponencial 3n. Cuanto tiempo se tardara en procesar una entrada n de datos? • 2- n=10 • 3- Supongamos que cada noche disponemos de una hora de CPU para ejecutar cierto programa y que con esa hora tenemos suficiente tiempo para ejecutar un programa con una entrada, a lo sumo, de tamaño n= 1 000 000. Pero el centro de cálculo tras una reasignación de tiempos decide asignarnos 3 horas diarias de CPU. Ahora, ¿cuál es el mayor tamaño de entrada que podrá gestionar nuestro programa, si su complejidad T(n) fuera (para alguna constante ki)? • (a) k1 n (b) k2 n2 (c) k3 10n • 4- Supongamos que cada noche disponemos de una hora de CPU para ejecutar cierto programa y que con esa hora tenemos suficiente tiempo para ejecutar un programa con una entrada, a lo sumo, de tamaño n= 1 000 000. En esta situación nuestro jefe compra una máquina 100 veces más rápida que la vieja. Ahora ¿cuál es el mayor tamaño de entrada que podrá gestionar nuestro programa en una hora, si su complejidad T(n) fuera (para alguna constante ki)? (a) k1 n (b) k2 n 2 (c) k3 10n
  • 20. Bibliografia • Silva, Leopordo (2010), Estructura de Datos y Algoritmos: http://www2.elo.utfsm.cl/~lsb/elo320/clases/c4.pdf • A. Sanchis, A. Ledesma, J.A. Iglesias, B. Garcia, J.M.Alonso: http://ocw.uc3m.es/ingenieria-informatica/teoria-de-automatas-y-lenguajes-formales/material- de-clase-1/tema-8-complejidad-computacional • Abeliuk, Andres. Chile : http://users.dcc.uchile.cl/~aabeliuk/documents/complejidad.pdf