Title: Matemticas para Ciencias de la Computacin MCC3182
1Análisis y Diseño de Algoritmos
Algoritmos en Línea (On Line)
2Análisis y Diseño de Algoritmos
La mayoría de los algoritmos que hemos visto
reciben la información completa del problema al
comienzo. Esto se llama OFF-LINE. El problema
en general es más difícil si la entrada se recibe
de a poco y tenemos que procesarla en línea
3Análisis y Diseño de Algoritmos
ON-LINE
OFF-LINE Búsqueda Secuencial
Búsqueda Binaria Ordenación por Inserción
QuickSort
Ordenación por Sel.
Merge Sort
4Análisis y Diseño de Algoritmos
Cómo medimos la eficiencia de un algoritmo
on-line? Vamos a compararlo con el mejor
algoritmo off-line (El óptimo que conoce toda la
información?. Para hacer una comparación justa
usaremos una misma entrada en cada caso. En
general decimos que un algoritmo A es C
Competitivo, si existe una constante b tal que
para cualquier entrada x tenemos EA(x)- C
Eoptimo (x) b Donde E es una medida de
eficiencia. En otras palabras Maxx (
EA(x)/Eoptimo(x)) C
5Análisis y Diseño de Algoritmos
Ejemplo
Competitividad
E Búsqueda Secuencial Ord. Por Inserción Ejemplo
Un alumno de ADA ha perdido la memoria después
de tanto estudiar y se encuentra perdido en el
desierto. Cómo encuentro un lugar
habitado? OPTIMO Distancia al punto
buscado. DA1 CA1 Por lo tanto, CA1
6Análisis y Diseño de Algoritmos
Qué sucede si es que cambiamos fj
2i? DA1 Ahora 2iD0-e DA1
7Análisis y Diseño de Algoritmos
Ejemplo 2 Aprendiendo a Esquiar Supongamos que
queremos aprender a esquiar, pero estamos en la
disyuntiva si es que es conveniente o no comprar
o arrendar el equipo. Esto dependerá de si es que
es que aprendemos en menos días (pago del
arriendo) de los que cueste invertir en la compra
del equipo de esquí. Entonces supongamos que
aprender/arrendar el equipamiento cuesta X al
día y comprarlo cuesta Y. Además YCX, para un
entero Cgt1 ( Para simplificar). La persona NO
sabe si le gustaría si le gustaría el nuevo
deporte y al final de cada día decidirá si
arrienda o compra. El óptimo es cuando yo se
cuántos días usaré el equipamiento. Supongamos
que son T días. Si TXlt Y entonces conviene
arrendar Sino comprar (TXgtY) (Si TXY
entonces TC y me da los mismo)
8Análisis y Diseño de Algoritmos
Supongamos que arrendamos hasta que CY/X
arriendos, y luego compramos si decidimos seguir
aprendiendo (día C1). Competitividad 1
TltC 2
TgtC Supongamos que ahora arrendamos hasta k días
y luego compramos (antes teniamos KC)
9Análisis y Diseño de Algoritmos
Luego este algoritmo gasta Ningún valor de K
puede tener competitividad 1 (Basta con tener
tk1) Competitividad MAX (kxy , kxy )
tx y