12 vinicius
TRANSCRIPT
![Page 1: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/1.jpg)
Algoritmos Randomizados:Introdução
Celina FigueiredoGuilherme FonsecaManoel LemosVinícius Sá
26º Colóquio Brasileiro de MatemáticaIMPA – Rio de Janeiro – Brasil2007
![Page 2: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/2.jpg)
Resumo
● Definições● Monte Carlo● Variáveis Aleatórias● Las Vegas● Paradigmas
combinatórios● Método probabilístico
![Page 3: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/3.jpg)
Definições
● Algoritmo
● Experimento aleatório (ou randômico)
● Gerador de números aleatórios
● Algoritmos randomizados
![Page 4: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/4.jpg)
Algoritmos Randomizados● Aplicações
✔ criptografia✔ programação distribuída✔ teoria dos grafos✔ geometria computacional✔ etc.
● Vantagens✔ mais rápidos✔ mais simples✔ ambos
➔ qualidade da resposta➔ tempo de execução
● Preço✔ análise trabalhosa✔ incerteza
![Page 5: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/5.jpg)
Monte Carlo● Fornecem a resposta
correta com probabilidade (alta) conhecida
● Tempo de execução determinístico
Las Vegas● A resposta dada está
sempre correta
● Tempo de execução é uma variável aleatória
![Page 6: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/6.jpg)
(p / problemas de decisão)
● Erro bilateral
OU
● Erro unilateral– baseados-no-SIM– baseados-no-NÃO
Algoritmos de Monte Carlo
![Page 7: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/7.jpg)
CN: a resposta correta é NÃO
CS: a resposta correta é SIM
AN: o algoritmo responde NÃO
AS: o algoritmo responde SIM
baseado-no-NÃO: Pr { CN | A
N } = 1
Pr { AS | C
S } = 1
Algoritmos de Monte Carlo
![Page 8: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/8.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Pr {“erro”}
= Pr { CN
, AS U C
S , A
N }
= Pr { CN
, AS } + Pr { C
S , A
N }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . Pr { A
N | C
S }
![Page 9: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/9.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Pr {“erro”}
= Pr { CN
, AS U C
S , A
N }
= Pr { CN
, AS } + Pr { C
S , A
N }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . Pr { A
N | C
S }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . 0
![Page 10: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/10.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Pr {“erro”}
= Pr { CN
, AS U C
S , A
N }
= Pr { CN
, AS } + Pr { C
S , A
N }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . Pr { A
N | C
S }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . 0
= Pr { CN
} . ε + 0
![Page 11: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/11.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Pr {“erro”}
= Pr { CN
, AS U C
S , A
N }
= Pr { CN
, AS } + Pr { C
S , A
N }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . Pr { A
N | C
S }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . 0
= Pr { CN
} . ε + 0
≤ ε
![Page 12: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/12.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Pr {“erro”}
= Pr { CN
, AS U C
S , A
N }
= Pr { CN
, AS } + Pr { C
S , A
N }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . Pr { A
N | C
S }
= Pr { CN
} . Pr { AS | C
N } + Pr { C
S } . 0
= Pr { CN
} . ε + 0
≤ ε Pr {“acerto”} ≥ p = 1 - ε
![Page 13: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/13.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
● Quando respondem NÃO, estão sempre corretos (exibem certificado)
![Page 14: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/14.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Exemplo: IDENTIDADE DE POLINÔMIOS
Determinístico
1) Transforme F(x)2) Compare os coeficientes de F(x) e G(x)3) Se houver diferença, retorne NÃO4) Senão, retorne SIM
Monte Carlo
1) Sorteie um inteiro w, aleatoriamente, de 1 a 100d 2) Avalie F(w) e G(w)3) Se F(w) ≠ G(w), retorne NÃO4) Senão, retorne SIM
F(x) = (x – a1) (x – a
2) ... (x – a
d)
G(x) = bdx d + b
d-1 x d-1 + ... + b
1x + b
0
![Page 15: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/15.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Exemplo: IDENTIDADE DE POLINÔMIOS
Determinístico
1) Transforme F(x)2) Compare os coeficientes de F(x) e G(x)3) Se houver diferença, retorne NÃO4) Senão, retorne SIM
Monte Carlo
1) Sorteie um inteiro w, aleatoriamente, de 1 a 100d 2) Avalie F(w) e G(w)3) Se F(w) ≠ G(w), retorne NÃO4) Senão, retorne SIM
F(x) = (x – a1) (x – a
2) ... (x – a
d)
G(x) = bdx d + b
d-1 x d-1 + ... + b
1x + b
0
O(d 2)
![Page 16: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/16.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Exemplo: IDENTIDADE DE POLINÔMIOS
Determinístico
1) Transforme F(x)2) Compare os coeficientes de F(x) e G(x)3) Se houver diferença, retorne NÃO4) Senão, retorne SIM
Monte Carlo
1) Sorteie um inteiro w, aleatoriamente, de 1 a 100d 2) Avalie F(w) e G(w)3) Se F(w) ≠ G(w), retorne NÃO4) Senão, retorne SIM
F(x) = (x – a1) (x – a
2) ... (x – a
d)
G(x) = bdx d + b
d-1 x d-1 + ... + b
1x + b
0
O(d 2) O(d )
![Page 17: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/17.jpg)
Algoritmos de Monte Carlo(baseados-no-NÃO)
Exemplo: IDENTIDADE DE POLINÔMIOS
Monte Carlo
1) Sorteie um inteiro w, aleatoriamente, de 1 a 100d 2) Avalie F(w) e G(w)3) Se F(w) ≠ G(w), retorne NÃO4) Senão, retorne SIM
F(x) = (x – a1) (x – a
2) ... (x – a
d)
G(x) = bdx d + b
d-1 x d-1 + ... + b
1x + b
0
Pr { AN | C
S } = 0
Pr { AS | C
N } = ε = ?
ε ≤ d / 100d = 1/100
Pr {“acerto”} ≥ 99%
O(d )
![Page 18: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/18.jpg)
Refinando a probabilidade de acerto...
● Em uma execução do algoritmo, Pr {“erro”} ≤ Pr { A
S | C
N } = ε
● Em t execuções independentes,
Pr {“erro”} = Pr {“erro1”,“erro
2”, ... ,“erro
t”} ≤ εt
Algoritmos de Monte Carlo(baseados-no-NÃO)
![Page 19: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/19.jpg)
● Função que mapeia um experimento aleatório em um valor numérico qualquer
X : Ω → R
Variáveis Aleatórias
B = número de sorteios até que se complete determinada coluna de uma cartela de bingo
A = soma dos valores obtidos no lançamento de dois dados
1 , se caraC = 0 , se coroa
![Page 20: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/20.jpg)
● Esperança (ou valor esperado) média dos resultados possíveis ponderada
pelas probabilidades de ocorrência
E [A] = 2 . Pr {“A = 2”} + + 3 . Pr {“A = 3”} + + ... + + 12 . Pr {“A = 12”} = = 7
Variáveis Aleatórias
A = soma dos valores obtidos no lançamento de dois dados
![Page 21: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/21.jpg)
● Esperança: E [X] = Σ ( j . Pr {“X = j”} )
● Variância: Var [X] = E [X 2] – (E [X])2
● Desvio padrão
● Momentos da V. A.
Variáveis Aleatórias
V. A.
![Page 22: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/22.jpg)
● Bernoulli 1 , se “sucesso” E [X] = p 0 , se “fracasso” Var [X] = p (1-p)
● Binomial X = “número de sucessos em n E [X] = n p experimentos independentes” Var [X] = n p (1-p)
● Geométrica X = “número de experimentos até E [X] = 1 / p o primeiro sucesso” Var [X] = (1-p) / p2
Variáveis Aleatórias famosas
X =
Pr { “sucesso” } = p
![Page 23: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/23.jpg)
● Desigualdade de Markov
Pr { X ≥ a } ≤ (a > 0)
● Desigualdade de Chebyshev
Pr { |X – E [ X ]| ≥ a } ≤ (a > 0)
Desigualdades famosas
E [ X ] a
Var [ X ] a2
![Page 24: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/24.jpg)
Algoritmos de Las Vegas
● Resposta sempre correta
● Tempo computacional é uma V. A.
![Page 25: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/25.jpg)
Exemplo: ORDENAÇÃO
Algoritmo: Quick Sort
Algoritmos de Las Vegas
8 5 3 9 11 1 0 18 50 4 7
8
5 3 0 1 4 7 9 11 18 50
5 9
... ... ... ...
![Page 26: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/26.jpg)
Quick Sort Quick Sort Randomizado
● pivô escolhido deterministicamente
● pior caso: O(n2)
Algoritmos de Las Vegas
● pivô escolhido aleatoriamente
● tempo esperado (para qualquer entrada!!):
?
Exemplo: ORDENAÇÃO
![Page 27: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/27.jpg)
Algoritmos de Las Vegas
Quick Sort Randomizado
Entrada: a1, a
2 , a
3 , ... , a
n
Saída: y1, y
2 , y
3 , ... , y
n
X = “número de comparações realizadas” = ?
1, se é feita a comparação entre yj e y
k
0, caso contrário
X = X1,2
+ X1,3
+ ... + Xn -1,n
E [X] = E [X1,2
+ X1,3
+ ... + Xn -1,n
] = = E [X
1,2 ] + E [X
1,3 ] + ... + E [X
n -1,n ]
Xj,k
= Bernoulli Linearidade
da Esperança:E [f (X)] = f (E [X])
![Page 28: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/28.jpg)
Algoritmos de Las Vegas
Quick Sort Randomizado
Entrada: Saída:
8 5 3 9 11 1 0 18 50 4 7
0 1 3 4 5 7 8 9 11 18 50 y
j y
k
Pr { “sucesso” } = Pr {“Xj,k
= 1”} = 2 / (k - j + 1)
E [X] = Σ1≤ j < k ≤ n
E [Xj,k
] =
= Σ1≤ j < k ≤ n
2 / (k - j + 1) =
= O (n log n)
![Page 29: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/29.jpg)
Algoritmos de Las Vegas
Tempo esperado de um algoritmo de Las Vegas
Tempo médio de um algoritmo
determinístico (dado um modelo probabilístico da entrada)
X
Algoritmo de Las Vegas
?
Entrada:
MG
H
W
D
Algoritmo determinístico
G
Entrada:
![Page 30: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/30.jpg)
Monte Carlo X Las Vegas
● Monte Carlo, a partir de Las Vegas
1) enquanto tempo < t2) se Las Vegas encontra SIM,3) responda SIM4) se Las Vegas encontra NÃO,5) responda NÃO6) reponda NÃO (arbitrariamente) ➔ Monte Carlo baseado-no-SIM➔ X = “tempo do Las Vegas”➔ Pr {“erro”} = Pr {C
S , A
N}
= Pr {CS} . Pr { A
N | C
S }
≤ Pr { “X ≥ t ” }
● Las Vegas, a partir de 2 Monte Carlos
1) repita2) se MC-SIM encontra SIM,3) responda SIM4) se MC-NÃO encontra NÃO,5) responda NÃO ➔ número T de iterações
➔ Pr {“sucesso”} = p = 1 - εSIM
. εNÃO
➔ E [T] = 1 / p
V. A. geométrica!
Markov! Chebyshev!
![Page 31: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/31.jpg)
Modelo de bolas e latas
1 2 3 4 nn-1...
O colecionador de couponsExemplo: IDENTIFICAÇÃO DE ROTEADORES
Origem
Destino
...n roteadores
![Page 32: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/32.jpg)
O Método Probabilístico
1) Método da esperança
Minha idade é X.
![Page 33: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/33.jpg)
O Método Probabilístico
1) Método da esperança
Se E [ X ] = μ, então existe elemento para o qual X ≤ μ e existe elemento para o qual X ≥ μ
Experimento aleatório
![Page 34: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/34.jpg)
O Método Probabilístico
1) Método da esperança
Exemplo: CORTES GRANDES EM GRAFOS
m arestas
![Page 35: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/35.jpg)
O Método Probabilístico
1) Método da esperança
Exemplo: CORTES GRANDES EM GRAFOS
Corte de tamanho 4
AB
m arestas
![Page 36: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/36.jpg)
O Método Probabilístico
1) Método da esperança
Exemplo: CORTES GRANDES EM GRAFOS
m arestas
Algoritmo randomizado
Para cada vértice v... coloque v em A com probabilidade ½ coloque v em B com probabilidade ½Retorne o corte (A,B)
X = tamanho do corte retornado
X j =
(Bernoulli)
Pr {“sucesso”} = p = ?
X = Σj X
j
E[X] = Σj E [X
j ] = m . p = m / 2
1, aresta j pertence ao corte0, caso contrário
![Page 37: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/37.jpg)
O Método Probabilístico
2) Método da probabilidade positiva
![Page 38: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/38.jpg)
O Método Probabilístico
2) Método da probabilidade positiva
Espaço probabilístico
Experimento aleatórioSe Pr {“ ”} > 0então pertence a Ω
Ω
![Page 39: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/39.jpg)
O Método Probabilístico
2) Método da probabilidade positiva
Algoritmo ruim Algoritmo adequado(não serve para a prova) (serve para a prova)
![Page 40: 12 Vinicius](https://reader031.vdocuments.pub/reader031/viewer/2022012313/546194abaf7959ba618b48a2/html5/thumbnails/40.jpg)
Algoritmos Randomizados:Introdução
Celina FigueiredoGuilherme FonsecaManoel LemosVinícius Sá
26º Colóquio Brasileiro de MatemáticaIMPA – Rio de Janeiro – Brasil2007