Вы находитесь на странице: 1из 32

Anlisis y Diseo de

Algoritmos

Dra. Ing. Rina Familia

COMO MEDIR LA
EFICIENCIA DE UN
PROGRAMA A PARTIR DE
UN INSTRUMENTAL QUE
PERMITA HACER
OBJETIVA TAL LABOR?
Dra. Ing. Rina Familia

Las dificultades
intrnsecas a tal
medicin (por los
factores subjetivos y
cualitativos envueltos)
Hizo que se dirigiera la atencin
hacia el concepto de
ALGORITMO, como la
arquitectura subyacente de un
programa.
Dra. Ing. Rina Familia

DEFINICION DE
ALGORITMO

Conjunto determinado de rdenes


o instrucciones que puede ser
aplicado mecnicamente para
obtener la solucin de un caso
particular de un problema tipo en
un tiempo finito.
Dra. Ing. Rina Familia

Ejemplos de Algoritmos

MATEMATICOS
Descomponer un nmero en factores primos
ALGEBRAICOS
Solucionar una ecuacin de 2do. grado
FISICOS
Hallar la fuerza gravitacional ejercida por
dos cuerpos cercanos.
COMPUTACIONALES
??????????????????????
Dra. Ing. Rina Familia

ORIGEN HISTORICO

ALGORITMO DE EUCLIDES.
El Entscheidungsproblem (Problema
de Decisin) de Hilbert.
Mquina de Turing
Tesis de Turing-Church

Dra. Ing. Rina Familia

Mquina de Clculo
Abstracta (1936)

Dra. Ing. Rina Familia

ES LA COMPUTADORA ACTUAL
UNA MAQUINA DE TURING?

Cmo se lee
informacin
desde un disco
duro?

Dra. Ing. Rina Familia

ES ASI?

Dra. Ing. Rina Familia

TESIS DE CHURCH

CALCULO LAMBDA
Todo lenguaje formal puede ser
expresado en trminos de
FUNCIONES COMPUTABLES

Dra. Ing. Rina Familia

TESIS DE
TURING-CHURCH
SI UN ALGORITMO NO ES
EXPRESABLE EN TERMINOS DE UN
PROGRAMA DE LA MAQUINA DE
TURING O COMO UN CONJUNTO DE
FUNCIONES DEL CALCULO LAMBDA,

NO ES COMPUTABLE.
Dra. Ing. Rina Familia

Soluciones Algortmicas
Vs
Soluciones Heursticas

Dra. Ing. Rina Familia

ANALISIS DE
ALGORITMOS (AA)

Herramienta de Anlisis para los


Ingenieros de Sistemas.
Permite evaluar el diseo de un
programa.
Establecer la calidad del mismo.
Comparar dicha calidad con otros
programas que resuelvan el mismo
problema.
Obvia la necesidad de desarrollarlos.
Dra. Ing. Rina Familia

ANALISIS DE ALGORITMOS

Se basa en las
caractersticas
estructurales del
algoritmo que
respalda al
programa.
Parte de la cantidad
de memoria que usa
un programa para
resolver un
problema.

Dra. Ing. Rina Familia

OBJETIVOS DEL AA

ESTABLECER UNA
MEDIDA DE LA
CALIDAD DE LOS
ALGORITMOS, QUE
PERMITA
COMPARARLOS SIN
NECESIDAD DE
IMPLEMENTARLOS.

Dra. Ing. Rina Familia

AA + Diseo de ED
Estructuras Algoritmos Medida de
de Datos
Propuestos Eficiencia
Diseo 1

Diseo 2

Algoritmo1
Algoritmo2
Algoritmo3
Algoritmo1
Algoritmo2
Algoritmo3

F1
F2
F3
G1
G2
G3
Dra. Ing. Rina Familia

OBJETIVOS DEL AA

ASOCIA A CADA ALGORITMO UNA


FUNCION MATEMATICA QUE
MIDA SU EFICIENCIA, USANDO
PARA ELLO LAS
CARACTERISTICAS
ESTRUCTURALES (OPERACIONES)
DEL ALGORITMO.
Dra. Ing. Rina Familia

OBJETIVOS DEL AA

TAMBIEN PERSIGUE QUE SE


COMPAREN DIFERENTES
ESTRUCTURAS DE DATOS,
TOMANDO COMO FACTOR DE
COMPARACION EL ALGORITMO
MAS EFICIENTE QUE SE PUEDA
ESCRIBIR SOBRE ELLAS PARA
RESOLVER UN PROBLEMA DADO.
Dra. Ing. Rina Familia

FACTORES DE LA
EFICIENCIA

TIEMPO DE
EJECUCION

Nmero de
operaciones
Cantidad de datos a
procesar.

ESPACIO QUE
OCUPA EN
MEMORIA
Si se implementase.

Dra. Ing. Rina Familia

TIEMPO DE EJECUCION
TA(n)

Tiempo usado por


el algoritmo A para
procesar una
entrada de tamao
n y resolver el
problema en un
nmero de pasos
dados.
Dra. Ing. Rina Familia

EJEMPLO:

El algoritmo A que permite hallar un


elemento X en un conjunto de
Valores Y, podra evaluarse tomando
en cuenta:
Dada igual cantidad de operaciones.
Buscar a X en un conjunto de 100
elementos.
Buscar a X en un conjunto de 1000
elementos.
Dra. Ing. Rina Familia

ANALISIS

Mejor de los casos?

Caso promedio?

Peor de los casos?

Dra. Ing. Rina Familia

FUNCION DE
COMPLEJIDAD

Se trata de encontrar una funcin f(n),


fcil de calcular y conocida, que acote
el crecimiento de la funcin del
tiempo, para afirmar que TA(n) crece
aproximadamente como f(n), esto es,
en ningn caso TA(n) se comporta
peor que f(n) al aumentar el tamao
del problema.
Dra. Ing. Rina Familia

F(n)

POLINOMICAS

n
n2
N3
n4
n5
n6

EXPONENCIALES

Dra. Ing. Rina Familia

nlog2n
2n
3n
10n

EJEMPLOS DE FUNCIONES
POLINOMICAS

Dra. Ing. Rina Familia

EJEMPLOS DE FUNCIONES
EXPONENCIALES

Dra. Ing. Rina Familia

FUNCION DE
COMPLEJIDAD DEL
TIEMPO

DEFINICION DE COMPLEJIDAD

DEFINICION DE TRATABILIDAD

DEFINICION DE DECIBILIDAD
Dra. Ing. Rina Familia

TRATABILIDAD

Un problema es tratable si existe un


algoritmo de complejidad polinomial
para resolverlo.
En otro caso se considera intratable,
de complejidad exponencial.

Dra. Ing. Rina Familia

TRATABILIDAD

Dra. Ing. Rina Familia

EJEMPLOS DE PROBLEMAS
TRATABLES

BUSQUEDA DE INFORMACION
ORDENAMIENTO
FUSION (MEZCLA) DE INFORMACION
CALCULOS

Dra. Ing. Rina Familia

EJEMPLOS DE PROBLEMAS
INTRATABLES

PLANIFICACION DE ACTIVIDADES Y
TAREAS
PLANIFICACION DE RECURSOS
JUEGOS INTELIGENTES
RECONOCIMIENTO DE FORMAS E
IMGENES
TRATAMIENTO DEL LENGUAJE NATURAL
RECONOCIMIENTO DE VOZ
Dra. Ing. Rina Familia

INDECIBILIDAD

Es el caso lmite de un problema


intratable.
No existe ningn algoritmo que lo
resuelva.

Dra. Ing. Rina Familia

Вам также может понравиться