SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
25-06-2014
1
Complejidad de Algoritmos
¿Cuándo proporciona un algoritmo una solución SATISFACTORIA a un problema?
Primero, debe producir siempre la respuesta correcta. Segundo, deberá ser eficiente.
¿Cómo se puede analizar la eficiencia de los algoritmos?
Una medida de eficiencia es el tiempo que requiere un ordenador para resolver un
problema utilizando un algoritmo para valores de entrada de un tamaño específico. Una segunda
medida es la cantidad de memoria que se necesita de nuevo para valores de entrada de un tamaño
dado. Una tercera medida sería estabilidad: un ordenamiento estable mantiene el orden relativo que
tenían originalmente los elementos con claves iguales.
Un análisis del tiempo requerido para resolver un problema de un tamaño particular está
relacionado con la complejidad en tiempo del algoritmo y un análisis de la memoria de ordenador
requerida involucra la complejidad en espacio del algoritmo. Obviamente, es importante saber si un
algoritmo producirá su respuesta en un milisegundo, en un minuto o en un millón de años y de manera
similar debemos tener suficiente memoria disponible para poder resolver el problema.
25-06-2014
2
Las consideraciones sobre complejidad en espacio están ligadas a las estructuras de
datos usadas en la implementación del algoritmo.
La complejidad en el tiempo de un algoritmo se puede expresar en términos del número
de operaciones que realiza el algoritmo cuando los datos de entrada tienen un tamaño particular.
(comparación de enteros, sumas, multiplicaciones, etc.)
La complejidad se describe en términos del número de operaciones requeridas en lugar del
tiempo de cálculo real, debido a que distintos ordenadores necesitan tiempos diferentes para realizar
las mismas operaciones básicas. Cada algoritmo se comporta de modo diferente de acuerdo a cómo
se le entregue la información; por eso es conveniente estudiar su comportamiento en casos extremos,
como cuando los datos están prácticamente ordenados o muy desordenados.
Complejidad del peor caso.- Por comportamiento de un algoritmo en el peor caso entendemos el
mayor número de operaciones que hace falta para resolver el problema dad utilizando el algoritmo
para unos datos de entrada de un determinado tamaño. Los análisis del peor caso nos dicen cuántas
operaciones tienen que realizar los algoritmos para garantizar que producirán una solución.
Complejidad del caso promedio.- En este tipo de análisis de complejidad se busca el número
promedio de operaciones realizadas para solucionar un problema considerando todas las posibles
entradas de un tamaño determinado. El análisis de la complejidad del caso promedio es
generalmente mucho más complicado que el análisis del peor caso.
25-06-2014
3
La complejidad del algoritmo se denota según la notación Big-O.
Las expresiones Big-O no tienen constantes o términos de orden bajo. Esto se debe a
que cuando N es muy grande, las constantes y los términos mas bajos no existen (un método
constante será más rápido que uno lineal y este será más rápido que uno cuadrático).
Por ejemplo, O(n) significa que el algoritmo tiene una complejidad lineal. En otras
palabras, toma 10 veces más tiempo en operar un set de 100 datos que en hacerlo con un set de 10
items. Si la complejidad fuera O(n2) entonces tomaría 100 veces más tiempo en operar 100 items
que en hacerlo con 10.
Complejidad Terminología
O(1) Complejidad constante
O(log n) Complejidad logarítmica
O(n) Complejidad lineal
O(n log n) Complejidad n log n
O(n^b) Complejidad polinómica
O(b^n) Complejidad exponencial
O(n!) Complejidad factorial
25-06-2014
4
Problemas Tratables, Intratables y NP-completos
Clase P.- Los algoritmos de complejidad polinómica se dice que son tratables en el sentido
de que suelen ser abordables en la práctica. Los problemas para los que se conocen algoritmos con
esta complejidad se dice que forman la clase P. Aquellos problemas para los que la mejor solución
que se conoce es de complejidad superior a la polinómica, se dice que son problemas intratables.
Clase NP.- Algunos de estos problemas intratables pueden caracterizarse por el curioso
hecho de que puede aplicarse un algoritmo polinómico para comprobar si una posible solución es
válida o no. Esta característica lleva a un método de resolución no determinista consistente en aplicar
heurísticos para obtener soluciones hipotéticas que se van desestimando (o aceptando) a ritmo
polinómico. Los problemas de esta clase se denominan NP (la N de no-deterministas y la P de
polinómicos).
Clase NP-completos.- Se conoce una amplia variedad de problemas de tipo NP, de los
cuales destacan algunos de ellos de extrema complejidad. Gráficamente podemos decir que algunos
problemas se hayan en la "frontera externa" de la clase NP. Son problemas NP, y son los peores
problemas posibles de clase NP. Estos problemas se caracterizan por ser todos "iguales" en el
sentido de que si se descubriera una solución P para alguno de ellos, esta solución sería fácilmente
aplicable a todos ellos. Actualmente hay un premio de prestigio equivalente al Nobel reservado para el
que descubra semejante solución.
25-06-2014
5
El algoritmo requiere menos de O(n²) comparaciones y cambios en el pero caso. Aunque es fácil
desarrollar intuitivamente el sentido de cómo funciona el algoritmo, es bastante difícil analizar su
tiempo de ejecución pero los estimados difieren entre O(nlog2n) a O(n1.5) dependiendo de los
detalles de implementación
Dependiendo en la elección de la secuencia de saltos, Shell sort a probado tener un tiempo de
ejecución en el peor caso igual a O(n2), O(n3/2), O(n4/3) o O(nlog2n) o posiblemente mejores
tiempos de ejecución aún no probados. La existencia de una implementación que tenga una
complejidad O(nlogn) en el peor caso para el Shell sort aún se mantiene como una pregunta
abierta a la investigación.
El tamaño del set de datos usado tiene un impacto significativo en la eficiencia del algoritmo.
Algunas implementaciones de este algoritmo tienen una función que permite calcular el tamaño
óptimo del set de datos para un array determinado.
La secuencia de salto que fue sugerida inicialmente por Donald Shell fue comenzar con N/2 y
posteriormente disminuir a la mitad el salto hasta que llegue a 1. Esta secuencia provee una
mejora de desempeño sobre los algoritmos cuadráticos como el método por inserción pero puede
ser cambiada levemente para disminuir aún mas el tiempo de ejecución en el peor y el caso
promedio.

Más contenido relacionado

La actualidad más candente

U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
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
 
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
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datosRené Sosa Arana
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
Unidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoUnidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoEnrique2194
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7lenithoz
 
Que es complejidad computacional
Que es complejidad computacionalQue es complejidad computacional
Que es complejidad computacionalJonathan Bastidas
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONPANAFMX
 

La actualidad más candente (20)

U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
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)
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datos
 
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
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Unidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoUnidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmo
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Que es complejidad computacional
Que es complejidad computacionalQue es complejidad computacional
Que es complejidad computacional
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSON
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 

Similar a Clasificacion de los problemas

Similar a Clasificacion de los problemas (20)

Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech may
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
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
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptx
 
Complejidad de un algoritmo
Complejidad de un algoritmoComplejidad de un algoritmo
Complejidad de un algoritmo
 
Autómatas y complejidad
Autómatas y complejidadAutómatas y complejidad
Autómatas y complejidad
 
Presentación1
Presentación1Presentación1
Presentación1
 
Complejidad de un algoritmo
Complejidad de un algoritmoComplejidad de un algoritmo
Complejidad de un algoritmo
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
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
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
Analisis y diseño de algoritmo
Analisis y diseño de algoritmoAnalisis y diseño de algoritmo
Analisis y diseño de algoritmo
 

Más de Johnfornerod

Clase 2 y 3 buenas practicas de manufactura
Clase 2 y 3 buenas practicas de manufacturaClase 2 y 3 buenas practicas de manufactura
Clase 2 y 3 buenas practicas de manufacturaJohnfornerod
 
Clase 1 aplicación de normas y procedimiento de higiene personal
Clase 1 aplicación de normas y procedimiento de higiene personalClase 1 aplicación de normas y procedimiento de higiene personal
Clase 1 aplicación de normas y procedimiento de higiene personalJohnfornerod
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemasJohnfornerod
 
1 clase analisis algoritmos
1 clase   analisis algoritmos1 clase   analisis algoritmos
1 clase analisis algoritmosJohnfornerod
 
Recorrido de grafos 2da parte
Recorrido de grafos 2da parteRecorrido de grafos 2da parte
Recorrido de grafos 2da parteJohnfornerod
 
Recorrido de grafos 1ra parte
Recorrido de grafos 1ra parteRecorrido de grafos 1ra parte
Recorrido de grafos 1ra parteJohnfornerod
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJohnfornerod
 

Más de Johnfornerod (10)

Clase 2 y 3 buenas practicas de manufactura
Clase 2 y 3 buenas practicas de manufacturaClase 2 y 3 buenas practicas de manufactura
Clase 2 y 3 buenas practicas de manufactura
 
Clase 1 aplicación de normas y procedimiento de higiene personal
Clase 1 aplicación de normas y procedimiento de higiene personalClase 1 aplicación de normas y procedimiento de higiene personal
Clase 1 aplicación de normas y procedimiento de higiene personal
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
1 clase analisis algoritmos
1 clase   analisis algoritmos1 clase   analisis algoritmos
1 clase analisis algoritmos
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Recorrido de grafos 2da parte
Recorrido de grafos 2da parteRecorrido de grafos 2da parte
Recorrido de grafos 2da parte
 
Recorrido de grafos 1ra parte
Recorrido de grafos 1ra parteRecorrido de grafos 1ra parte
Recorrido de grafos 1ra parte
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Cd algoritmoos
Cd algoritmoosCd algoritmoos
Cd algoritmoos
 

Último

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 

Último (20)

Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 

Clasificacion de los problemas

  • 1. 25-06-2014 1 Complejidad de Algoritmos ¿Cuándo proporciona un algoritmo una solución SATISFACTORIA a un problema? Primero, debe producir siempre la respuesta correcta. Segundo, deberá ser eficiente. ¿Cómo se puede analizar la eficiencia de los algoritmos? Una medida de eficiencia es el tiempo que requiere un ordenador para resolver un problema utilizando un algoritmo para valores de entrada de un tamaño específico. Una segunda medida es la cantidad de memoria que se necesita de nuevo para valores de entrada de un tamaño dado. Una tercera medida sería estabilidad: un ordenamiento estable mantiene el orden relativo que tenían originalmente los elementos con claves iguales. Un análisis del tiempo requerido para resolver un problema de un tamaño particular está relacionado con la complejidad en tiempo del algoritmo y un análisis de la memoria de ordenador requerida involucra la complejidad en espacio del algoritmo. Obviamente, es importante saber si un algoritmo producirá su respuesta en un milisegundo, en un minuto o en un millón de años y de manera similar debemos tener suficiente memoria disponible para poder resolver el problema.
  • 2. 25-06-2014 2 Las consideraciones sobre complejidad en espacio están ligadas a las estructuras de datos usadas en la implementación del algoritmo. La complejidad en el tiempo de un algoritmo se puede expresar en términos del número de operaciones que realiza el algoritmo cuando los datos de entrada tienen un tamaño particular. (comparación de enteros, sumas, multiplicaciones, etc.) La complejidad se describe en términos del número de operaciones requeridas en lugar del tiempo de cálculo real, debido a que distintos ordenadores necesitan tiempos diferentes para realizar las mismas operaciones básicas. Cada algoritmo se comporta de modo diferente de acuerdo a cómo se le entregue la información; por eso es conveniente estudiar su comportamiento en casos extremos, como cuando los datos están prácticamente ordenados o muy desordenados. Complejidad del peor caso.- Por comportamiento de un algoritmo en el peor caso entendemos el mayor número de operaciones que hace falta para resolver el problema dad utilizando el algoritmo para unos datos de entrada de un determinado tamaño. Los análisis del peor caso nos dicen cuántas operaciones tienen que realizar los algoritmos para garantizar que producirán una solución. Complejidad del caso promedio.- En este tipo de análisis de complejidad se busca el número promedio de operaciones realizadas para solucionar un problema considerando todas las posibles entradas de un tamaño determinado. El análisis de la complejidad del caso promedio es generalmente mucho más complicado que el análisis del peor caso.
  • 3. 25-06-2014 3 La complejidad del algoritmo se denota según la notación Big-O. Las expresiones Big-O no tienen constantes o términos de orden bajo. Esto se debe a que cuando N es muy grande, las constantes y los términos mas bajos no existen (un método constante será más rápido que uno lineal y este será más rápido que uno cuadrático). Por ejemplo, O(n) significa que el algoritmo tiene una complejidad lineal. En otras palabras, toma 10 veces más tiempo en operar un set de 100 datos que en hacerlo con un set de 10 items. Si la complejidad fuera O(n2) entonces tomaría 100 veces más tiempo en operar 100 items que en hacerlo con 10. Complejidad Terminología O(1) Complejidad constante O(log n) Complejidad logarítmica O(n) Complejidad lineal O(n log n) Complejidad n log n O(n^b) Complejidad polinómica O(b^n) Complejidad exponencial O(n!) Complejidad factorial
  • 4. 25-06-2014 4 Problemas Tratables, Intratables y NP-completos Clase P.- Los algoritmos de complejidad polinómica se dice que son tratables en el sentido de que suelen ser abordables en la práctica. Los problemas para los que se conocen algoritmos con esta complejidad se dice que forman la clase P. Aquellos problemas para los que la mejor solución que se conoce es de complejidad superior a la polinómica, se dice que son problemas intratables. Clase NP.- Algunos de estos problemas intratables pueden caracterizarse por el curioso hecho de que puede aplicarse un algoritmo polinómico para comprobar si una posible solución es válida o no. Esta característica lleva a un método de resolución no determinista consistente en aplicar heurísticos para obtener soluciones hipotéticas que se van desestimando (o aceptando) a ritmo polinómico. Los problemas de esta clase se denominan NP (la N de no-deterministas y la P de polinómicos). Clase NP-completos.- Se conoce una amplia variedad de problemas de tipo NP, de los cuales destacan algunos de ellos de extrema complejidad. Gráficamente podemos decir que algunos problemas se hayan en la "frontera externa" de la clase NP. Son problemas NP, y son los peores problemas posibles de clase NP. Estos problemas se caracterizan por ser todos "iguales" en el sentido de que si se descubriera una solución P para alguno de ellos, esta solución sería fácilmente aplicable a todos ellos. Actualmente hay un premio de prestigio equivalente al Nobel reservado para el que descubra semejante solución.
  • 5. 25-06-2014 5 El algoritmo requiere menos de O(n²) comparaciones y cambios en el pero caso. Aunque es fácil desarrollar intuitivamente el sentido de cómo funciona el algoritmo, es bastante difícil analizar su tiempo de ejecución pero los estimados difieren entre O(nlog2n) a O(n1.5) dependiendo de los detalles de implementación Dependiendo en la elección de la secuencia de saltos, Shell sort a probado tener un tiempo de ejecución en el peor caso igual a O(n2), O(n3/2), O(n4/3) o O(nlog2n) o posiblemente mejores tiempos de ejecución aún no probados. La existencia de una implementación que tenga una complejidad O(nlogn) en el peor caso para el Shell sort aún se mantiene como una pregunta abierta a la investigación. El tamaño del set de datos usado tiene un impacto significativo en la eficiencia del algoritmo. Algunas implementaciones de este algoritmo tienen una función que permite calcular el tamaño óptimo del set de datos para un array determinado. La secuencia de salto que fue sugerida inicialmente por Donald Shell fue comenzar con N/2 y posteriormente disminuir a la mitad el salto hasta que llegue a 1. Esta secuencia provee una mejora de desempeño sobre los algoritmos cuadráticos como el método por inserción pero puede ser cambiada levemente para disminuir aún mas el tiempo de ejecución en el peor y el caso promedio.