Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLuz Frausto Modificado hace 10 años
1
02/12/2009 Elaborado por Juan Antonio Danilow Fragachan
2
1/15 HASHING UNIVERSAL ALGORITMOS ONLINE CONCLUSIONES MOTIVACIÓN minutos 1 255 +7 +8
3
2/15 Escoger una estrategia al azar Encontrar un caso que sea “difícil” para todos lo algoritmos planteados o un grupo de ellos. Algoritmos Determinísticos Casos que estresan el comportamiento de un algoritmo determínistico dado Algoritmo Input (entrada) Diseñador de AlgoritmosAdversario
4
3/15 0 1 2 … … i … m – 1 a2 a3a5 a2 T h U S a1 a5 a2 a3 a4 slot (tabla de hash) Mapping(S)=O(|S|/|T|) h debe ser computada eficientemente leer las anotaciones de la presentación
5
4/15 0 1 2 … … i … m – 1 a2 a3a5 a2 T h U S a1 a5 a2 a4 slot (tabla de hash) Se requiere Prob (h(x)=i)=1/m (Distribución uniforme) S se escoge aleatoriamente, puede no haber una distribución uniforme a3 U h,i Búsqueda lineal L-elementos (L/2 en promedio)
6
5/15 (i) Distribución uniforme y n=m Prob (colisión)<1/2 Sea |S|=n y |T|=m Definición: colisión el hecho de que dos elementos sean asignados a un mismo slot L La probabilidad que mas de una clave sea asignada al mismo slot es menor a 1/2
7
6/15 (ii) Distribución uniforme De un conjunto S escogido aleatoriamente, el número esperado de elementos para ser asignado a un slot L es a lo sumo n/m+1 (ii) Distribución uniforme De un conjunto S escogido aleatoriamente, el número esperado de elementos para ser asignado a un slot L es a lo sumo n/m+1 Sea |S|=n y |T|=m Si exactamente k elementos son asignados a un mismo slot L, existen C(k,2) colisiones en dicho slot. Igualando, Finalmente,
8
7/15 No toda la data en el Universo del discurso está distribuido uniformemente. Supongamos una empresa donde se registre el género de los empleados y que todos sus empleado sean mujeres. =n =0 De igual forma podríamos demostrar que los cumpleaños no son distribuidos uniformemente a lo largo de un año. Por esta razón la escogencia de funciones hash aleatoriamente sobre el conjunto total de funciones en U podría no tender a computar eficientemente el input del adversario (bad input) U S U S H S U Datos UniformesDatos NO Uniformes Selección Inteligente de las Posibles h y es llamado Universal sii k<|H|/m+1 leer las anotaciones de la presentación
9
8/15 Sol(input) X1X2X3X4X5…XnX1X2X3X4X5……Xn SolParcial X1X2X3X4X5 ……Xn SolParcial Solución ¿Cómo preparar una estrategia eficiente para estos casos? Dado una solución parcial el adversario es capaz de preparar su próxima jugada para ganar.
10
9/15 1 1 2 2 3 3 Minimizar el tiempo de espera promedio por doctor Minimizar el tiempo máximo de espera Otros ejemplos: Problema del Pagineo Problemas de Scheduling
11
10/15 Remitiendo al problema TSP, en un grafo “full conected” en donde existe una arista por cada par de nodos (ciudades) podemos notar que existes (n-1)!/2 posibles soluciones por lo tanto no basta con sólo hallar la solución sino de manera eficiente Definamos Opt(I) el costo de la solución optima para el input I. Definamos cost (Sol(I)) el costo de la solución encontrada por el algoritmo online Podemos definir un radio de comparación que nos muestre que tan lejos estamos del costo optimo.
12
11/15 tiempo01234567 operación53533 12011201 73 cache 5333120173 30 107 lectura31073012017310730 tiempo01234567 operación107 330 107107 3030 12011201 7373 107107 30 cache 55555555 30 1073012017310730 107333333 lectura31073012017310730 costo =4 costo =7
13
12/15 tiempo01234567 operación53533535535335355353353553533535 cache 53535353 30 107 lectura3535353 Supongamos que tenemos en cache pagina C= 1,2…. k Se requiere leer k+1, luego para todo c є C, el adversario requiere leer la pagina que fue llevada a memoria principal en el paso anterior. Cost(Sol)=k Luego podemos ver que Opt = 1 ya que todas las paginas las tenemos desde un principio excepto k+1. Finalmente comp (I) = k, los cual nos indica que la solución online es k% veces peor que la solución optima. ¿Qué podemos hacer? Conocer el problema, saber que las ultimas páginas cargadas en cache tienen mayor probabilidad de ser leídas y hacer uso de algoritmos aleatorizados.
14
13/15 Supongamos una fabrica con n diferentes estaciones de trabajo, las cuales corresponden a máquinas que pueden llevar a cabo una tarea. Supongamos que n=4 y que existen dos cliente A1 y A2 que requieren el siguiente procesamiento: A1 = (1,2,3,4), A2 = (3,2,1,4) s s 1 1 2 2 3 3 4 4 3 3 2 2 1 1 4 4 t A1 A2 Estrategia: Tratar de llegar de S a T sin desviarse de la diagonal principal. s s 1 1 2 2 3 3 4 4 3 3 2 2 1 1 4 4 t A1 A2 Adversario: supongamos que sólo sabemos la tarea inicial. Entonces, por cada movida del algoritmo diseñado el adversario coloca un obstáculo en frente.
15
14/15 Sabiendo que se puede demostrar que la mejor solución del algoritmo anterior, en el caso de conocerse el input completo desde un principio es de m + sqrt (m). Además sabiendo que el costo de un algoritmo aleatorizado es de m + m/4 y que en inputs de gran tamaño ambos algoritmos se comportan igual (en costo). Entonces hemos encontrado una buena solución. Sin perdida de generalidad suponemos que m=k*k. Puede demostrarse que existen 2k+1 estrategias de diagonal posibles para completar las tareas. Suponiendo que en m tareas existen 1 que es la de peor caso, entonces la probabilidad de escoger dicha diagonal de manera aleatorizada es 1/(sqrt(m)+1) d 2d g h ¿Como convencernos con nuestro argumento? Tratemos de ver si aquellas soluciones que son dos veces menos eficientes que la solución promedio es menor que aquellas que se acercan al promedio.
16
15/15
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.