matemática aplicada e. u. informática u. p. m.dma.eui.upm.es/matdis/seminario3/mincutbn.pdfiii...

14
Algoritmos aleatorizados sobre grafos 14 de junio de 2001 III Seminario de MD 1 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. 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 output algoritmo

Upload: others

Post on 04-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 1

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.

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 2: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 2

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 3: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 3

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))

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 4: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 4

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

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 5: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 5

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

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 6: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 6

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

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 7: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 7

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´

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 8: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 8

e c

a

d

b

e´ c

a b

a

b

Otra ejecución del algoritmo:

c

a b

k=2

X

X

X

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 9: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 9

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

Ω∈≥ 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 10: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 10

22

212n

Pn

P −≤⇒≥ )()( falloacierto

enfalloPpruebasn n 121 )(

22

2

2 2

<

−≤⇒

¿Coste del algoritmo?

)n(L

e )(Ppruebas)n(Ln

<⇒ 12 fallo

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 11: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 11

e c

a

d

b

0300230100010110010120110

edcba

edcba

e´ c

a b

0010200000100110010120110

edcba

edcba

54324

30324

x

3245 ×−+=

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 12: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 12

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

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 13: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 13

Ω∈)(

)(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 Θ∈⇒Θ∈

)()(

)()(

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 14: Matemática Aplicada E. U. Informática U. P. M.dma.eui.upm.es/MatDis/Seminario3/mincutbn.pdfIII Seminario de Matemática Discreta 14 de junio de 2001 Ángeles Martínez Sánchez Gregoria

Algoritmos aleatorizados sobre grafos 14 de junio de 2001

III Seminario de MD 14

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

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))