SlideShare une entreprise Scribd logo
1  sur  18
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.

Contenu connexe

Tendances

Primera unidad numeros binarios
Primera unidad numeros binariosPrimera unidad numeros binarios
Primera unidad numeros binarios
gluiss
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
tephyfree
 

Tendances (20)

CONCEPTOS Y FUNDAMENTOS DE LÓGICA DIFUSA
CONCEPTOS Y FUNDAMENTOS    DE LÓGICA DIFUSACONCEPTOS Y FUNDAMENTOS    DE LÓGICA DIFUSA
CONCEPTOS Y FUNDAMENTOS DE LÓGICA DIFUSA
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
redes kohonen
redes kohonenredes kohonen
redes kohonen
 
Comparador
ComparadorComparador
Comparador
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Lecture 4 asymptotic notations
Lecture 4   asymptotic notationsLecture 4   asymptotic notations
Lecture 4 asymptotic notations
 
Diapositivas de estructuras algebraicas
Diapositivas de estructuras algebraicasDiapositivas de estructuras algebraicas
Diapositivas de estructuras algebraicas
 
APUNTES Y EJERCICIOS RESUELTOS DE ANALISIS NUMERICO
APUNTES Y EJERCICIOS RESUELTOS DE ANALISIS NUMERICOAPUNTES Y EJERCICIOS RESUELTOS DE ANALISIS NUMERICO
APUNTES Y EJERCICIOS RESUELTOS DE ANALISIS NUMERICO
 
Pruebas de autocorrelacion yule
Pruebas de autocorrelacion yulePruebas de autocorrelacion yule
Pruebas de autocorrelacion yule
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Unidad 1 fundamentos de circuitos logicos
Unidad 1 fundamentos de circuitos logicosUnidad 1 fundamentos de circuitos logicos
Unidad 1 fundamentos de circuitos logicos
 
SEMAFORO INTELIGENTE
SEMAFORO INTELIGENTESEMAFORO INTELIGENTE
SEMAFORO INTELIGENTE
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
chapter22.ppt
chapter22.pptchapter22.ppt
chapter22.ppt
 
Primera unidad numeros binarios
Primera unidad numeros binariosPrimera unidad numeros binarios
Primera unidad numeros binarios
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Método numéricos para diferenciación e integración.
Método numéricos para diferenciación e integración.Método numéricos para diferenciación e integración.
Método numéricos para diferenciación e integración.
 
Investigación de operaciones
Investigación de operaciones Investigación de operaciones
Investigación de operaciones
 
Ejercicios 07 interrupciones
Ejercicios 07 interrupcionesEjercicios 07 interrupciones
Ejercicios 07 interrupciones
 

En vedette (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
 

Similaire à Resumen Complejidad Computacional y de Algoritmos

Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
zygdiaz
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
Kike Prieto
 
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
Evelyn Anayansi
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
Gustavo Macias
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
G Hoyos A
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
Gustavo 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 computador
fenix1329
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
rjvillon
 

Similaire à 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
 
Omega Up
Omega UpOmega Up
Omega Up
 
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
 
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
 

Dernier

260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
i7ingenieria
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docx
AmyKleisinger
 
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxCARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
WILIANREATEGUI
 
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxCRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
geuster2
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
Evafabi
 
Catalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgCatalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmg
dostorosmg
 

Dernier (20)

CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABACAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdf
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
Contabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableContabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contable
 
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfCONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
Reporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdfReporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdf
 
Correcion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxCorrecion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptx
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docx
 
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxCARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
 
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxCORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
 
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxCRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
 
Catalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgCatalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmg
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
 

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.