16
FOILING THE ADVERSARY DEPARTAMENTO DE COMPUTACIÓN Y TECNOLOGÍA DE LA INFORMACIÓN UNIVERSIDAD SIMÓN BOLÍVAR 02/12/2009 Elaborado por Juan Antonio Danilow Fragachan

Foiling the adversary

  • Upload
    sheryl

  • View
    54

  • Download
    1

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Foiling  the  adversary

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: Foiling  the  adversary

OBJETIVOS DE LA PRESENTACIÓN1/15

HASHING UNIVERSAL

ALGORITMOS ONLINE

CONCLUSIONES

MOTIVACIÓN

minutos1 255 +7 +8

Page 3: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

PROBLEMAS DE OPTIMIZACION10/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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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: Foiling  the  adversary

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)