170 likes | 294 Views
Departamento de computación y tecnología de la información. Universidad Simón bolívar. 02/12/2009. Foiling the adversary. Elaborado por Juan Antonio Danilow Fragachan. Objetivos de la presentación. 1/15. ALGORITMOS ONLINE. MOTIVACI Ó N. +8. +7. 1. 5. 25. minutos. CONCLUSIONES.
E N D
Departamento de computación y tecnología de la información Universidad Simón bolívar 02/12/2009 Foiling the adversary Elaborado porJuan Antonio Danilow Fragachan
Objetivos de la presentación 1/15 ALGORITMOS ONLINE MOTIVACIÓN +8 +7 1 5 25 minutos CONCLUSIONES HASHING UNIVERSAL
MOTIVACION – del conocimiento a la magia 2/15 Diseñador de Algoritmos Adversario Algoritmo Input (entrada) Casos que estresan el comportamiento de un algoritmo determínistico dado Algoritmos Determinísticos Encontrar un caso que sea “difícil” para todos lo algoritmos planteados o un grupo de ellos. Escoger una estrategia al azar
TABLA DE hAsh ó tabla de acceso directo 3/15 leer las anotaciones de la presentación T (tabla de hash) U slot a1 a5 S a2 a4 a3 h Mapping(S)=O(|S|/|T|) h debe ser computada eficientemente
DISTRIBUCIón uniforme 4/15 T (tabla de hash) U slot a1 a5 Búsqueda lineal L-elementos (L/2 en promedio) S Uh,i a2 a4 a3 h S se escoge aleatoriamente, puede no haber una distribución uniforme Se requiere Prob (h(x)=i)=1/m (Distribución uniforme)
Colisiones en los slots 5/15 Sea |S|=n y |T|=m Definición: colisión el hecho de que dos elementos sean asignados a un mismo slot L (i) Distribución uniforme y n=m Prob (colisión)<1/2 La probabilidad que mas de una clave sea asignada al mismo slot es menor a 1/2
Número de elementos por slot 6/15 Sea |S|=n y |T|=m (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 Si exactamente k elementos son asignados a un mismo slot L, existen C(k,2) colisiones en dicho slot. Igualando, Finalmente,
HASHING UNIVERSAL 7/15 leer las anotaciones de la presentación 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. De igual forma podríamos demostrar que los cumpleaños no son distribuidos uniformemente a lo largo de un año. =n =0 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 U S S H Datos Uniformes Datos NO Uniformes Selección Inteligente de las Posibles h y es llamado Universal sii k<|H|/m+1
Algoritmos online 8/15 Sol(input) Sol(input) ¿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. SolParcial SolParcial Solución
EJEMPLO DEL CENTRO DE EMERGENCIAS 9/15 1 2 Minimizar el tiempo de espera promedio por doctor Minimizar el tiempo máximo de espera 3 Minimizar el tiempo máximo de espera Otros ejemplos: Problema del Pagineo Problemas de Scheduling
PROblemas de optimizacion ¿Cómo Medir la Calidad de estos algoritmos? 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.
PROBLEMA DEL PAGINeO 11/15 costo =4 costo =7
JUEGO DEL ADVERSARIO 12/15 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.
PROBLEMA DE ESCHEDULING 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) 3 s 4 2 1 2 4 s 3 1 1 1 2 2 3 3 4 4 Estrategia: Tratar de llegar de S a T sin desviarse de la diagonal principal. A1 A1 A2 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. t t
JUSTIFICACIón de la ALEATORIZACIón 14/15 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) 2d 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. d ¿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. g h
Conclusiones y literatura… 15/15 HowtomakegooddecisionsforanUnkownfutureorhowtofoilanadversary Foiling the Adversary Foiling the Adversary (RESUME)