02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.
-
Upload
luz-frausto -
Category
Documents
-
view
224 -
download
0
Transcript of 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.
![Page 1: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/1.jpg)
FOILING THE ADVERSARY
DEPARTAMENTO DE COMPUTACIÓN Y TECNOLOGÍA DE LA INFORMACIÓNUNIVERSIDAD SIMÓN BOLÍVAR
02/12/2009
Elaborado por Juan Antonio Danilow Fragachan
![Page 2: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/2.jpg)
OBJETIVOS DE LA PRESENTACIÓN1/15
HASHING UNIVERSAL
ALGORITMOS ONLINE
CONCLUSIONES
MOTIVACIÓN
minutos1 255 +7 +8
![Page 3: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/3.jpg)
MOTIVACION – DEL CONOCIMIENTO A LA MAGIA2/15
Escoger una estrategia al azarEncontrar 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 Algoritmos Adversario
![Page 4: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/4.jpg)
TABLA DE HASH Ó TABLA DE ACCESO DIRECTO3/15
0
1
2
…
…
i
…
m – 1
a2 a3 a5
a2
a2
T
h
U
S
a1
a5a2
a3
a4
slot
(tabla de hash)
Mapping(S)=O(|S|/|T|)
h debe ser computada eficientemente
leer las anotaciones de la presentación
![Page 5: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/5.jpg)
DISTRIBUCIÓN UNIFORME4/15
0
1
2
…
…
i
…
m – 1
a2 a3 a5
a2
a2
T
h
U
S
a1
a5a2
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
Uh,iBúsqueda lineal L-elementos (L/2 en promedio)
![Page 6: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/6.jpg)
COLISIONES EN LOS SLOTS5/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
![Page 7: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/7.jpg)
NÚMERO DE ELEMENTOS POR SLOT6/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
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,
![Page 8: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/8.jpg)
HASHING UNIVERSAL7/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 =0De 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)
US
US
H S
U
Datos Uniformes Datos NO Uniformes Selección Inteligente de las Posibles h y es llamadoUniversal sii k<|H|/m+1
leer las anotaciones de la presentación
![Page 9: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/9.jpg)
ALGORITMOS ONLINE8/15
Sol(input) Sol(input)
X1 X2 X3 X4 X5 … Xn X1 X2 X3 X4 X5 … … Xn
SolParcial
X1 X2 X3 X4 X5 … … 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.
![Page 10: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/10.jpg)
EJEMPLO DEL CENTRO DE EMERGENCIAS9/15
1
2
3
Minimizar el tiempo de espera promedio por doctor
Minimizar el tiempo máximo de espera
Minimizar el tiempo máximo de espera
Otros ejemplos:
Problema del Pagineo
Problemas de Scheduling
![Page 11: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/11.jpg)
PROBLEMAS DE OPTIMIZACION
10/15¿CÓMO MEDIR LA CALIDAD DE ESTOS ALGORITMOS?
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.
![Page 12: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/12.jpg)
PROBLEMA DEL PAGINEO11/15
tiempo 0 1 2 3 4 5 6 7
operación 53 • • 31201 120173 120173 • •
cache
5 3 3 3 1201 73 73 73
30 30 30 30 30 30 30 30
107 107 107 107 107 107 107 107
lectura 3 107 30 1201 73 107 30
tiempo 0 1 2 3 4 5 6 7
operación 1073 30107 10730 301201 120173 73107 10730 •
cache
5 5 5 5 5 5 5 5
30 30 107 30 1201 73 107 30
107 3 3 3 3 3 3 107
lectura 3 107 30 1201 73 107 30
costo =4
costo =7
![Page 13: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/13.jpg)
JUEGO DEL ADVERSARIO12/15
tiempo 0 1 2 3 4 5 6 7
operación 53 35 53 35 53 35 53 35
cache
5 3 5 3 5 3 5 3
30 30 30 30 30 30 30 30
107 107 107 107 107 107 107 107
lectura 3 5 3 5 3 5 3
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.
![Page 14: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/14.jpg)
PROBLEMA DE ESCHEDULING13/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 1 2 3 43214
t
A1A2
Estrategia: Tratar de llegar de S a T sin desviarse de la diagonal principal.
s 1 2 3 43214
t
A1A2 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.
![Page 15: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/15.jpg)
JUSTIFICACIÓN DE LA ALEATORIZACIÓN 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.
![Page 16: 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4341a28abb57c8ff26d/html5/thumbnails/16.jpg)
15/15
CONCLUSIONES Y LITERATURA…
HOW TO MAKE GOOD DECISIONS FOR AN UNKOWN FUTURE OR HOW TO FOIL AN ADVERSARY
FOILING THE ADVERSARY
FOILING THE ADVERSARY (RESUME)