7
COMPLEJIDAD DEL ALGORITMO Mario Bustamante Toledo

Complejidad del algoritmo

Embed Size (px)

Citation preview

Page 1: Complejidad del algoritmo

COMPLEJIDAD DEL ALGORITMO

Mario Bustamante Toledo

Page 2: Complejidad del algoritmo

EL PROBLEMALA COMPLEJIDAD DEL ALGORITMO DEPENDERÁ DEL PROBLEMA QUE SE DESEE RESOLVER, UN EJEMPLO DE ESTO EL PROBLEMA DE RESOLVER UNA SUMA DE 2 VALORES V/S EL PROBLEMA DE CREAR UNA IA QUE JUEGUE CONTRA UN HUMANO AJEDREZ

V/S?+?=?

Mario Bustamante Toledo

Page 3: Complejidad del algoritmo

LOS RECURSOS

• UN ALGORITMO PARA EJECUTARSE NECESITA RECURSOS, ESTOS SON TIEMPO, ESPACIO Y MEMORIA

• ES DE VITAL IMPORTANCIA QUE LOS ALGORITMOS ESTÉN OPTIMIZADOS DE LA MEJOR FORMA DADO QUE UNA OPERACIÓN SIMPLE PODRÍA TARDAR UN TIEMPO MUCHO MAYOR COMO CONSECUENCIA DE HABER ECHO UN MAL DISEÑO DEL ALGORITMO

Mario Bustamante Toledo

Page 4: Complejidad del algoritmo

RECURSOS: TIEMPO, ESPACIO Y MEMORIA• COMO YA SE MENCIONO LOS ALGORITMOS USAN PRINCIPALMENTE ESTOS

2 RECURSOS, SI BIEN EXISTEN UNA INFINIDAD DE RECURSOS UTILIZABLES, ESTOS 2 SON LOS ESENCIALES

• EL TIEMPO: EL ALGORITMO PARA EJECUTARSE REQUIERE DEL PROCESADOR, LA DURACIÓN QUE EL ALGORITMO (PROCESO) UTILIZE EL PROCESADOR DE MIDE EN MS(MILISEGUNDOS)

• EL ESPACIO: EL ALGORITMO PARA PERMANECER EJECUTÁNDOSE REQUIERE ESPACIO EN MEMORIA LA CUAL SE MIDE EN BYTES

Mario Bustamante Toledo

Page 5: Complejidad del algoritmo

• MEMORIA: EL ALGORITMO PARA PODER GUARDAR SUS RESULTADOS, O ACCESAR A DATOS NECESARIOS PARA SU EJECUCIÓN REQUIERE DE MEMORIA (EN DISCO DURO LA MAYORÍA DE LAS VECES)

Mario Bustamante Toledo

Page 6: Complejidad del algoritmo

PONERSE EN EL PEOR CASO

• PARA PROBAR QUE UN ALGORITMO ES EFICAZ ESTE SIEMPRE SE DEBERÁ PROBAR EN EL PEOR CASO, DADO QUE SI ES CAPAZ DE RESOLVER EL PROBLEMA EN ESE CASO NOS ASEGURAMOS QUE ALGORITMO SIEMPRE PRODUZCA UNA SOLUCION

Mario Bustamante Toledo

Page 7: Complejidad del algoritmo

GRANDES PROBLEMAS• UN PROBLEMA PEQUEÑO ES FÁCIL DE SOLUCIONAR, ES POR ESTO QUE

HAY QUE ENFOCARSE EN LOS GRANDES PROBLEMAS, PARA ANALIZAR SU ALGORITMO Y APRENDER DE ELLOS.

• EXISTEN ALGORITMOS QUE NUNCA TARDAN AÑOS EN EJECUTARSE PARA SOLUCIONAR UN PROBLEMA, Y ALGUNOS SE REESCRIBEN A SI MISMOS Y VAN PERFECCIONÁNDOSE COMO LO SON LOS ALGORITMOS INTEGRADOS EN LA INTELIGENCIA ARTIFICIAL

Mario Bustamante Toledo