ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf ·...

28
ALGORITMOS ALEATORIZADOS SOBRE GRAFOS III Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria Blanco Viejo Matemática Aplicada E. U. Informática U. P. M.

Transcript of ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf ·...

Page 1: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

ALGORITMOS ALEATORIZADOSSOBRE GRAFOS

III Seminario de Matemática Discreta14 de junio de 2001

Ángeles Martínez Sánchez Gregoria Blanco Viejo

Matemática Aplicada E. U. Informática

U. P. M.

Page 2: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Algoritmos deterministas

1- Se resuelve el problema correctamente.2- Para cada input, el output siempre es el mismo.3- El número de cálculos es polinomial en el tamaño del

input.4- Operaciones o tipo de datos que precisa la

implementación suelen ser complicados.

input outputalgoritmo

Page 3: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo
Page 4: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Algoritmos aleatorizados

1- No siempre se resuelve el problema correctamente.2- Para un mismo input, el output puede variar.3- El número de cálculos es polinomial o polilogarítmico en

el tamaño del input.4- La estrategia, las operaciones y el tipo de datos que

precisa la implementación no son complicados.

input outputalgoritmo

Números aleatoriosElecciones aleatorias

Page 5: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Algoritmos aleatorizados:Las Vegas y Monte Carlo

Las Vegas• Siempre se obtiene la solución correcta• Su tiempo de ejecución es una variable aleatoria con

esperanza polinomial

Ejemplo: Ordenación Quicksort de una lista de números• Determinista: Punto de corte mediana → O(nL(n))• Aleatorizado: Punto de corte aleatorio → O(nL(n))

Page 6: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Algoritmos aleatorizados:Las Vegas y Monte Carlo

Monte Carlo• No siempre se obtiene la solución correcta• Probabilidad de fallo acotada• Ejecuciones independientes reducen la cota de error.

Ejemplos:

–Test de primalidad

–Igualdades matriciales

Page 7: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

ALGORITMO ALEATORIO•Elegir aleatoriamente X ∈ Mnx1 (K) •Obtener A×(B×X) , C×X•Comparar A×(B×X) = C×X

A×(B×X) = C×X ⇒ A×B = Csi

A×(B×X) ≠ C×X ⇒ A×B ≠C

ALGORITMO DETERMINISTA•Obtener A×B •Comparar A×B = C

K CUERPO FINITO¿A×B = C?

A, B, C ∈ Mnxn (K)

)n(O)n(O ,3823 →

)n(O 2

Page 8: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

ANÁLISIS DEL ALGORITMO ALEATORIO

•Si A×B ≠ C ⇒ Algoritmo A×B = C∃ x ≠ 0 / A×(B×X) = C×X ⇔∃ x ≠ 0 / (A×B-C)×X = 0 ⇔∃ x ≠ 0 ∈ Ker(A×B-C)

↑dim(Ker(A×B-C)) = r r<n

•Si A×B = C ⇒ El algoritmo siempre va adevolver la respuesta correcta

KKK

KK

)fallo(P n

n

n

r1

1

=≤=−

mK)ntesindependiepruebasmtrasfallo(P 1≤

Page 9: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

e c

a

d

b

k=2

• val(C) ↔ conectividad• aristas de un corte C• |V| = n 2n-1 –1 cortes

G multigrafo conexo G=(V, A)

VC C V / C C Corte =∪⊂≠ ∅

k = min val(C) / C corte CvCu / uv Card val(C) ∈∈=

Problema del mínimo corte

Page 10: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

1,1,

0, 0,

0,

0,

2,

2,

mínimo corte ↔ máximo flujoG multigrafo ↔ G grafo ponderado

e

ca

d

b

e

ca

d

b

3

2

11

1 1

val (flujo maximal) = val (corte minimal)

a

d

val(f*) = 3

Page 11: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

mínimo corte ↔ máximo flujo

• ¿Se puede mejorar? • ¿Hay algoritmos “específicos”?

s-t cortes mínimos → O(n2)

2n

EDMONDS - KARP → O(m2n)

GOLDBERG, TARJAN → O(mnL(n2/m))

Mejoras

GOMORI - HU → n-1 ejecuciones → 1 ejecución

Algoritmos aleatorizados

Page 12: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Contracciones

G multigrafo conexo G=(V, A) uv∈ A

G´ = ( V´, A´) = G/uv V´ = V - u,v ∪ u´ A´= A - uv / xu →xu´ - bucles vy →u´y

e c

a

d

b

← metavértice

e´ c

a b

G/ed

Contracción ed

Page 13: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Propiedades de las contracciones

e c

a

d

b

e´ c

a b

G/ed

G=(V, A) → G´ = ( V´, A´)

• card(V´) = card(V) - 1• card(A´) < card(A)• Todo corte C´de G´ induce un corte C en G

• Minval(C) / C corte en G ≤ Minval(C´) / C´ corte en G´

Page 14: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Algoritmo CONTRACT KARGER 1992

e c

a

d

b

• Elegir aleatoriamente uv∈V y obtener G´=G/uv• Iterar hasta obtener un grafo con 2 metavértices x,y• Devolver k=grado(x) C=vértices colapsados en x

e c

a b

e

a

e

a

bk=4

XX

X

Page 15: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

e c

a

d

b

e´ c

a b

a

b

Otra ejecución del algoritmo:

c

a b

k=2

X

X

X

Page 16: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Análisis del algoritmo CONTRACT

Proposición – G multigrafo, C corte minimal, val(C)=k

• No existe ningún vértice v / g(v)<k

• 2A nk≥

Proposición – Contract proporciona un corte minimal C ⇔durante la ejecución no se suprime ninguna arista de C.

Proposición – La probabilidad de obtener un corte minimalcon el algoritmo Contract es:

Ω∈≥ 22

12nn

P )(acierto

Page 17: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Dem – C corte minimal, val(C)=k

nEP

nAkEPnkA

nVG 212

21

01

0

0

0 −≥≤=

== )(

||)(

||

||

)()/(

)(||)/()(||

||

121

12

21

112

112

1

1

1 −−≥

−≤=

−≥

−==

nEEP

nAkEEPknA

nVG

)()/(

)()/())((||

)(||

121

12

21

1 1

1

1

11

1

1 −−−≥

−−≤

−−≥

−−== ∩∩

=

=−

− inEEP

inEEPkinA

inVG i

i

jii

i

ji

i

i

i

Ei = no elegir una arista de C en el paso i

Page 18: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Ω∈≥ 22

12nn

P )(acierto

=∩∩∩= − )( 221 nEEEP L

≥= ∩−

=− )/()/()( j

n

jn EEPEEPEP

3

12121 L

P(no elegir ninguna arista de C)=

2

2

1

21

21

21nnnin

n

i≥

−=

−−

−≥ ∏−

= )()(

Page 19: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

22

212n

Pn

P −≤⇒≥ )()( falloacierto

enfalloPpruebasn n 121 )(

22

2

2 2

<

−≤⇒

¿Coste del algoritmo?

)n(L

e )(Ppruebas)n(Ln

<⇒ 12 fallo

Page 20: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Proposición – El algoritmo CONTRACT se puede implementarde modo que su tiempo de ejecución sea O(n2)

Dem - • G(n,m) → Gn-2)(2,m´) n-2 contracciones O(n)

O(n2)• Contracción: elegir una arista y modificar O(n)

e c

a

d

b

ed

x

∑∑∑ω=ω+ω=

=+=

)v(g)ed(

)d(g)ed(

)v(g)d(g

)e(g)ed(

)v(g)e(g

)d/ed(P)d(P)e/ed(P)e(P)ed(P2

Page 21: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

e c

a

d

b

0300230100010110010120110

edcba

edcba

e´ c

a b

0010200000100110010120110

edcba

edcba

54324

30324

x

3245 ×−+=

Page 22: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Observaciones:

• Las cotas inferiores de las probabilidades van decreciendo

Estrategia para mejorar el algoritmo

• El coste “total” es O(n4)

Hay cortes minimales

2n

nEP

nEP 212

11 −=⇒= )()(

121

12

1212 −−=⇒

−=

nEEP

nEEP )/()/(

• Las cotas de las probabilidades de mantener un corteminimal se alcanzan en Cn

Page 23: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

FAST-CONTRACT KARGER – STEIN 1993

• Mientras n≥2

− G1=contract(G, n→t)− G2=contract(G, n→t)

• Calcular recursivamente cortes de valor mínimo k1 y k2para los grafos G1 y G2.

• Devolver k=mink1, k2

+= 1

2nt

G=(V,A) multigrafo |V|=n

Page 24: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Análisis del algoritmo FAST-CONTRACT

Proposición – La probabilidad de obtener un corte minimalcon el algoritmo Fast-Contract es:

Ω∈)(

)(nL

P 1acierto

Dem.- Sea C un corte minimal val(C)=k

⇔conservaloGGenadrecursividLa

GaoGapasaC

21

21 C corte el conserva C(G)-F

P(G) = P(G→G1)P(G1) + P(G→G2)P(G2) –

P(G→G1)P(G1) P(G→G2)P(G2)

G

G1 G2

Page 25: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Ω∈)(

)(nL

P 1acierto

P(G) = P(G→G1)P(G1) + P(G→G2)P(G2) – P(G→G1)P(G1)P(G→G2)P(G2)

P(n) = Acotación de la probabilidad para un multigrafo de n vértices

)()()()(

+−

++

+≥ 1

2411

2211

221 2 nPnPnPnP

>

+−

+=

=

2124

112

12

2 nnPnPnP

P

)()()(

)(

( ) )(nLmnm

22 ==↓

>−=

=

−− 241

1

211

2

mppp

p

mmm 14

44

1 +<<

++ − mp

Hm mm

))(

()()(nL

nPm

pm11 Θ∈⇒Θ∈

Page 26: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

)()(

)()(

nLcP

nLcP −≤⇒≥ 1falloacierto

e)n(Lc )(Ppruebas

c)n(L c

)n(L 11 <

−≤⇒ fallo

¿Coste del algoritmo?

)n(L

e )(Ppruebas)n(L

<⇒ 12 fallo

Page 27: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Proposición – FAST-CONTRACT se puede implementar demodo que su tiempo de ejecución sea O(n 2 L(n))

Dem -

>+

+=

=

212

2

12

2 nnOnTnT

T

)()()(

)(

>+=

=

− 222

1

1

2

mOttt

mmm )(

))(()( nLnOnT 2∈ )( mm mOt 2∈

)(log prof. 2 n

2d ))n(Logn(O)(

)n(O

))(

n(O)n(O)n(O

d

prof

d

d

dd

22

2

0

2

222

212

22

22

=

=

=+

++

+

∑=

LL

Page 28: ALGORITMOS ALEATORIZADOS SOBRE GRAFOS - …dma.eui.upm.es/MatDis/Seminario3/mincut.pdf · ALGORITMOS ALEATORIZADOS SOBRE GRAFOS ... • Calcular recursivamente cortes de valor mínimo

Problema del mínimo corte

• GOLDBERG, TARJAN, GOMORI - HU → O(mnL(n2/m))

ALGORITMO DETERMINISTA:

ALGORITMOS ALEATORIZADOS:

• CONTRACT → O(n2)

• FAST-CONTRACT → O(n2L(n)) →

→(n)L

L(n)n

2

2

)(

)(nL

eP

< 1fallo

O(n4L(n))

O(n2L3(n))