SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
COMPLEJIDAD
COMPUTACIONAL
Alumno: José Martínez
Carrera: Ingeniería en
Informática
Docente: Pilar Pardo
COMPLEJIDAD COMPUTACIONAL
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
Aspectos básicos
1. Algoritmo
Es 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
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)
1 2
43
10
1520
12
4
3
Dominio: {
1-2-4-3-1
1-2-3-4-1
1-3-4-2-1
1-3-2-4-1
1-4-2-3-1
1-4-3-2-1
}
= 57
= 29
= 57
= 42
= 42
= 29
COMPLEJIDAD COMPUTACIONAL
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
Complejidad Computacional
1. NONO se refiere a:
- Dificultad de diseño.
- Rebuscado de un algoritmo.
2. SISI se refiere a:
- Medidas de desempeño
- Tiempo Complejidad Temporal
- Espacio Complejidad Espacial
COMPLEJIDAD COMPUTACIONAL
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
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;
TOTAL 4n+34n+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
1
n
i
i
=
∑
COMPLEJIDAD COMPUTACIONAL
Ejemplo 2 : Para el siguiente algoritmo, su T(n) = 7n2
+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) = 4n2
+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 3n2
TOTAL 7n7n22
+8n+5+8n+5
Instrucción (1) Ocupa 1 unidad de tiempo. 1
1 1
*
n n
i j
i j
= =
∑∑
Orden de un Algoritmo
1. Para simplificar el estudio de la complejidad computacional, se adoptan ciertas
convenciones en su notación.
COMPLEJIDAD COMPUTACIONAL
2. Se define el orden de un algoritmo como el termino de mayor grado.
Tiempo de ejecución T(n)= 4n+3 Orden O(n)O(n) Orden Polinomial Lineal.
Tiempo de ejecución T(n)= 7n2
+8n+5 Orden O(nO(n22
)) Orden Polinomial Cuadrático.
Tiempo de ejecución T(n)= 2n
+3 Orden O(O(2n
)) Orden Exponencial.
O(nO(nxx
)) Tiempo PolinomialTiempo Polinomial Algoritmos Eficientes Problemas Tratables
O(xO(xnn
)) Tiempo ExponencialTiempo Exponencial Algoritmos Ineficientes Problemas Intratables
COMPLEJIDAD COMPUTACIONAL
Ejemplo 3 : El siguiente algoritmo tiene tiempo exponencial de O(2n
)
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
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
A B C
A B C
A B C
COMPLEJIDAD COMPUTACIONAL
Recordemos que el orden de este algoritmo es 2n
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 10-9
Seg. Por
operación.
Supongamos además que deseamos jugar con 1000 Aros.
T(n=1000) = 10-9 *
21000
= 5-9 *
2991
Seg.
9 991 1
5 *2 *
60*60*24*30*12*100
Siglos−
=
T(n=1000) = 10282
Siglos.
COMPLEJIDAD COMPUTACIONAL
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
Π 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)
z v
xy
w
u
s
U = { w, s, y, z}
COMPLEJIDAD COMPUTACIONAL
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
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
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.

Más contenido relacionado

La actualidad más candente

Mealy Machine by Daniyal Khan
Mealy Machine by Daniyal KhanMealy Machine by Daniyal Khan
Mealy Machine by Daniyal KhanDaniyal Khan
 
Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaAtahualpa Acosta
 
REDES NEURONALES De Hopfield
REDES NEURONALES De HopfieldREDES NEURONALES De Hopfield
REDES NEURONALES De HopfieldESCOM
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosJaro
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxSyed Zaid Irshad
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmojairofr97
 
Firma elgamal
Firma elgamalFirma elgamal
Firma elgamalG Hoyos A
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.Emmanuel Colon
 
Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Raquel Nuñez
 
algebra-booleana matematicas discretas
algebra-booleana matematicas discretasalgebra-booleana matematicas discretas
algebra-booleana matematicas discretastomas vergersent
 
Número mayor y menor de una secuencia de enteros positivos en C++.
Número mayor y menor de una secuencia de enteros positivos en  C++.Número mayor y menor de una secuencia de enteros positivos en  C++.
Número mayor y menor de una secuencia de enteros positivos en C++.Carlos Aviles Galeas
 
Ejercicios programacion
Ejercicios programacionEjercicios programacion
Ejercicios programacionMaite Mtnez
 

La actualidad más candente (20)

Mealy Machine by Daniyal Khan
Mealy Machine by Daniyal KhanMealy Machine by Daniyal Khan
Mealy Machine by Daniyal Khan
 
Ejemplo ciclo mientras que
Ejemplo ciclo mientras queEjemplo ciclo mientras que
Ejemplo ciclo mientras que
 
Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos determinista
 
REDES NEURONALES De Hopfield
REDES NEURONALES De HopfieldREDES NEURONALES De Hopfield
REDES NEURONALES De Hopfield
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Lenguajes de una maquina de turing
Lenguajes de una maquina de turingLenguajes de una maquina de turing
Lenguajes de una maquina de turing
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
 
Undecidabality
UndecidabalityUndecidabality
Undecidabality
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Firma elgamal
Firma elgamalFirma elgamal
Firma elgamal
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.
 
Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)
 
Greedy Algorithms
Greedy AlgorithmsGreedy Algorithms
Greedy Algorithms
 
algebra-booleana matematicas discretas
algebra-booleana matematicas discretasalgebra-booleana matematicas discretas
algebra-booleana matematicas discretas
 
Número mayor y menor de una secuencia de enteros positivos en C++.
Número mayor y menor de una secuencia de enteros positivos en  C++.Número mayor y menor de una secuencia de enteros positivos en  C++.
Número mayor y menor de una secuencia de enteros positivos en C++.
 
Funciones recursivas en C++
Funciones recursivas en C++Funciones recursivas en C++
Funciones recursivas en C++
 
Ejercicios programacion
Ejercicios programacionEjercicios programacion
Ejercicios programacion
 

Destacado

ejercicios resueltos análisis de algoritmos
ejercicios resueltos   análisis de algoritmosejercicios resueltos   análisis de algoritmos
ejercicios resueltos análisis de algoritmosJojo Jona
 
robot futbolista
robot futbolistarobot futbolista
robot futbolistavlady_mir
 
Aplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGAplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGGabyNarvaez
 
Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Nabor Chirinos
 

Destacado (8)

ejercicios resueltos análisis de algoritmos
ejercicios resueltos   análisis de algoritmosejercicios resueltos   análisis de algoritmos
ejercicios resueltos análisis de algoritmos
 
Sumatorias
SumatoriasSumatorias
Sumatorias
 
robot futbolista
robot futbolistarobot futbolista
robot futbolista
 
Aplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGAplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOG
 
Grafos resueltos
Grafos  resueltosGrafos  resueltos
Grafos resueltos
 
Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.
 
Teoria de grafos
Teoria de grafosTeoria de grafos
Teoria de grafos
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 

Similar a Resumen Complejidad Computacional y de Algoritmos

Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos DirectosKike Prieto
 
Teoria de la compleijidad algoritmica.pdf
Teoria de la compleijidad algoritmica.pdfTeoria de la compleijidad algoritmica.pdf
Teoria de la compleijidad algoritmica.pdfGustavoRojasValdivia2
 
14494030 metodos-numericos-basicos-para-ingenieria
14494030 metodos-numericos-basicos-para-ingenieria14494030 metodos-numericos-basicos-para-ingenieria
14494030 metodos-numericos-basicos-para-ingenieriaLeidy Moreno
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Evelyn Anayansi
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmosG Hoyos A
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015Ulises_312
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
2 teoria de errores y aritmetica del computador
2 teoria de errores y aritmetica del computador2 teoria de errores y aritmetica del computador
2 teoria de errores y aritmetica del computadorfenix1329
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Daniel Gómez
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directorjvillon
 

Similar a Resumen Complejidad Computacional y de Algoritmos (20)

Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Informe
InformeInforme
Informe
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
 
Teoria de la compleijidad algoritmica.pdf
Teoria de la compleijidad algoritmica.pdfTeoria de la compleijidad algoritmica.pdf
Teoria de la compleijidad algoritmica.pdf
 
08 compalgoritmos
08 compalgoritmos08 compalgoritmos
08 compalgoritmos
 
14494030 metodos-numericos-basicos-para-ingenieria
14494030 metodos-numericos-basicos-para-ingenieria14494030 metodos-numericos-basicos-para-ingenieria
14494030 metodos-numericos-basicos-para-ingenieria
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
 
Practicas
PracticasPracticas
Practicas
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Notación Asintótica
Notación AsintóticaNotación Asintótica
Notación Asintótica
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
2 teoria de errores y aritmetica del computador
2 teoria de errores y aritmetica del computador2 teoria de errores y aritmetica del computador
2 teoria de errores y aritmetica del computador
 
Matematica computacional
Matematica computacionalMatematica computacional
Matematica computacional
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
An 04 metodos-directos
An 04 metodos-directosAn 04 metodos-directos
An 04 metodos-directos
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
 

Último

QUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONES
QUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONESQUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONES
QUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONESsisimosolorzano
 
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptxDIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptxJOSECONTRERASMAESTRE
 
Emprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptxEmprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptxFERNANDOMIGUELRIVERA1
 
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTASPPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTASfrancosr1
 
INSPECCION-PREOPERACIONAL DE PULIDORA.pdf
INSPECCION-PREOPERACIONAL DE PULIDORA.pdfINSPECCION-PREOPERACIONAL DE PULIDORA.pdf
INSPECCION-PREOPERACIONAL DE PULIDORA.pdffaguilarpgrarlboliva
 
PPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEODPPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEODferchuxdlinda
 
El Ejército y las Operaciones en el Ciberespacio
El Ejército y las Operaciones en el CiberespacioEl Ejército y las Operaciones en el Ciberespacio
El Ejército y las Operaciones en el CiberespacioEjército de Tierra
 
UNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptx
UNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptxUNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptx
UNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptxjhoelsalvatierra7
 
1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdf1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdfjoanjustiniano98
 
LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...
LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...
LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...EmelynYesmynVegaArre
 
Libros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfLibros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfomd190207
 
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...ssuser66a3da
 
INVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigaciónINVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigaciónGabrielaRisco3
 

Último (13)

QUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONES
QUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONESQUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONES
QUE ES LIDERAZGO Y SUS CARACTERISTICAS Y ESPECIFICACIONES
 
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptxDIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
 
Emprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptxEmprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptx
 
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTASPPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
 
INSPECCION-PREOPERACIONAL DE PULIDORA.pdf
INSPECCION-PREOPERACIONAL DE PULIDORA.pdfINSPECCION-PREOPERACIONAL DE PULIDORA.pdf
INSPECCION-PREOPERACIONAL DE PULIDORA.pdf
 
PPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEODPPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEOD
 
El Ejército y las Operaciones en el Ciberespacio
El Ejército y las Operaciones en el CiberespacioEl Ejército y las Operaciones en el Ciberespacio
El Ejército y las Operaciones en el Ciberespacio
 
UNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptx
UNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptxUNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptx
UNIDAD V y CONSTITUCIÓN DE BANCOS-22.pptx
 
1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdf1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdf
 
LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...
LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...
LOS BANCOS EN PERÚ establece las normas para la contabilización de los invent...
 
Libros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfLibros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdf
 
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
 
INVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigaciónINVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigación
 

Resumen Complejidad Computacional y de Algoritmos

  • 1. COMPLEJIDAD COMPUTACIONAL Alumno: José Martínez Carrera: Ingeniería en Informática Docente: Pilar Pardo
  • 2. COMPLEJIDAD COMPUTACIONAL 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)
  • 3. COMPLEJIDAD COMPUTACIONAL Aspectos básicos 1. Algoritmo Es 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.
  • 4. COMPLEJIDAD COMPUTACIONAL 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) 1 2 43 10 1520 12 4 3 Dominio: { 1-2-4-3-1 1-2-3-4-1 1-3-4-2-1 1-3-2-4-1 1-4-2-3-1 1-4-3-2-1 } = 57 = 29 = 57 = 42 = 42 = 29
  • 5. COMPLEJIDAD COMPUTACIONAL 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 ∈ Ω
  • 6. COMPLEJIDAD COMPUTACIONAL Complejidad Computacional 1. NONO se refiere a: - Dificultad de diseño. - Rebuscado de un algoritmo. 2. SISI se refiere a: - Medidas de desempeño - Tiempo Complejidad Temporal - Espacio Complejidad Espacial
  • 7. COMPLEJIDAD COMPUTACIONAL 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
  • 8. COMPLEJIDAD COMPUTACIONAL 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; TOTAL 4n+34n+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 1 n i i = ∑
  • 9. COMPLEJIDAD COMPUTACIONAL Ejemplo 2 : Para el siguiente algoritmo, su T(n) = 7n2 +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) = 4n2 +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 3n2 TOTAL 7n7n22 +8n+5+8n+5 Instrucción (1) Ocupa 1 unidad de tiempo. 1 1 1 * n n i j i j = = ∑∑
  • 10. Orden de un Algoritmo 1. Para simplificar el estudio de la complejidad computacional, se adoptan ciertas convenciones en su notación. COMPLEJIDAD COMPUTACIONAL 2. Se define el orden de un algoritmo como el termino de mayor grado. Tiempo de ejecución T(n)= 4n+3 Orden O(n)O(n) Orden Polinomial Lineal. Tiempo de ejecución T(n)= 7n2 +8n+5 Orden O(nO(n22 )) Orden Polinomial Cuadrático. Tiempo de ejecución T(n)= 2n +3 Orden O(O(2n )) Orden Exponencial. O(nO(nxx )) Tiempo PolinomialTiempo Polinomial Algoritmos Eficientes Problemas Tratables O(xO(xnn )) Tiempo ExponencialTiempo Exponencial Algoritmos Ineficientes Problemas Intratables
  • 11. COMPLEJIDAD COMPUTACIONAL Ejemplo 3 : El siguiente algoritmo tiene tiempo exponencial de O(2n ) 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
  • 12. COMPLEJIDAD COMPUTACIONAL 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 A B C A B C A B C
  • 13. COMPLEJIDAD COMPUTACIONAL Recordemos que el orden de este algoritmo es 2n 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 10-9 Seg. Por operación. Supongamos además que deseamos jugar con 1000 Aros. T(n=1000) = 10-9 * 21000 = 5-9 * 2991 Seg. 9 991 1 5 *2 * 60*60*24*30*12*100 Siglos− = T(n=1000) = 10282 Siglos.
  • 14. COMPLEJIDAD COMPUTACIONAL 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 ∈ Ω
  • 15. COMPLEJIDAD COMPUTACIONAL Π 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) z v xy w u s U = { w, s, y, z}
  • 16. COMPLEJIDAD COMPUTACIONAL 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
  • 17. COMPLEJIDAD COMPUTACIONAL 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
  • 18. COMPLEJIDAD COMPUTACIONAL 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.