2. EL PROBLEMA
LA 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
3. 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
4. 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
5. • 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
6. 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
7. 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