• Nenhum resultado encontrado

Espaço amostral Ω: Conjunto enumerável de todos os possíveis resultados de um experimento aleatório. um evento elementar. E = E[X j ] X j.

N/A
N/A
Protected

Academic year: 2021

Share "Espaço amostral Ω: Conjunto enumerável de todos os possíveis resultados de um experimento aleatório. um evento elementar. E = E[X j ] X j."

Copied!
5
0
0

Texto

(1)

Universidade Tecnol´ogica Federal do Paran´a Professor Murilo V. G. da Silva

Notas de aula – Algoritmos Avan¸cados I (Aula 04) Conte´udos da aula: [CLR09: cap. 7 e 9][MIE05 1.4, 2.5]

Vamos estudar nesta aula trˆes algoritmos aleatorizados. Primeiramente a vers˜ao do Quicksort que faz esco-lhas aleat´orias de pivots. Depois veremos o algoritmo Selection que encontra o i-´esimo menor elemento de um vetor. Por fim apresentamos um algoritmo aleatorizado que retorna um corte m´ınimo de um grafo.

1. Revis˜ao informal de probabilidade discreta

Enumeramos abaixo alguns t´opicos vistos em sala de aula:

• Espa¸co amostral Ω: Conjunto enumer´avel de todos os poss´ıveis resultados de um experimento aleat´orio. • Fam´ılia F = {E1, E2, ...} de eventos. Um evento Ei ´e um subconjunto de Ω. Um elemento de Ω ´e dito

um evento elementar.

• Fun¸c˜ao de probabilidade P r : F → R. Normalmente “sobrecarregamos” a nota¸c˜ao de probabilidade permitindo escrever P r(i) para elementos i ∈ Ω (ao inv´es de escrever P r({i})).

• Seja E ⊆ Ω, P r(E) = P

i∈S

p(i).

• Uma vari´avel aleat´oria ´e uma fun¸c˜ao X : Ω → R.

• A esperan¸ca de uma vari´avel aleat´oria X ´e definida por E[X] = P

i∈Ω

X(i)P r(i).

• Linearidade da Esperan¸ca: Se X1, ..., Xn s˜ao vari´aveis aleat´orias definidas sobre Ω, ent˜ao

E   n X j=1 Xj  = n X j=1 E[Xj]

• Se X ´e uma vari´avel de indicadora de um experimento com probabilidade de sucesso p, ent˜ao E[X] = p. • Se X ´e uma vari´avel geom´etrica com parˆametro p, ent˜ao E[X] = 1p.

• Probabilidade condicional: Dados X, Y ⊆ Ω, P r(X|Y ) = P r(X∩Y )P (Y ) . • Os eventos X e Y s˜ao independentes ⇔ P r(X ∩ Y ) = P r(X)P r(Y ). • Desigualdade de Markov: P r(X ≥ a) ≤ E[X]/a

(2)

2. An´alise do Quicksort Aleatorizado (ou seja, com os pivots escolhidos aleatoriamente)

Teorema: Para qualquer vetor de entrada, o Quicksort Aleatorizado tem tempo esperado de execu¸c˜ao O(n log n). Prova: Este ´e um esbo¸co da prova (detalhes vistos em sala de aula).

• Ω: Cada poss´ıvel sequˆencia de escolhas aleat´orias de pivots σ = {p1, p2, p3, ...} ´e um elemento de Ω.

• C(σ) ´e uma vari´avel aleat´oria que conta o n´umero de compara¸c˜oes feita pelo algoritmo para a sequˆencia σ de pivots (observe que o tempo de execu¸c˜ao do algoritmo ´e dominado pelo n´umero de compara¸c˜oes). O que queremos provar? Queremos mostrar que E[C] = O(n log n).

• Nota¸c˜ao: zi´e o i-´esimo menor elemento do vetor de entrada A.

• Para σ ∈ Ω e ´ındices i < j definimos a vari´avel aleat´oria Xij(σ) que conta quantas vezes zi e zj s˜ao

comparados para um σ dado. Observe que na execu¸c˜ao do algoritmo qualquer par de elementos de A ´e comparado ou 0 ou 1 vez apenas (isso pode n˜ao ser claro de in´ıcio, mas convidamos o aluno a pensar 1 minuto a respeito e se convencer que isso ´e verdade). Portanto Xij ´e uma vari´avel indicadora.

Portanto, ∀σ, C(σ) = n−1 P i=1 n P j=i+1 Xij(σ)

Pela linearidade da esperan¸ca e como Xij ´e uma v.a. indicadora:

E[C] = n−1 P i=1 n P j=i+1 E[Xij] = n−1 P i=1 n P j=i+1 P r[“zi ´e comparado com zj”]

Queremos saber agora qual ´e a probabilidade P r(“zi ´e comparado com zj”). Fixe zi, zj, para i < j e

considere o conjunto S = {zi, zi+1, ..., zj−1, zj}. Note que enquanto nenhum destes elementos forem escolhidos

como pivot, eles s˜ao passados para a mesma chamada recursiva. Considere o momento em que o primeiro elemento de S ´e escolhido como pivot. Temos duas possibilidades:

(1) O pivot escolhido ´e zi ou zj.

(2) O pivot escolhido ´e um elemento de S \ {zi, zj}.

No caso (1) os dois elementos zi, zj s˜ao comparados (o pivot ´e comparado com todos elementos de S). No

caso (2) zi, zj nunca s˜ao comparados, pois o pivot ´e um elemento entre os dois valores, colocando cada um em

uma chamada recursiva diferente.

Como os pivots s˜ao escolhidos uniformemente de maneira aleat´oria, no momento em que o primeiro elemento de S ´e escolhido para ser pivot, a probabilidade de qualquer elemento ser escolhido ´e a mesma. Como zi e zj

s˜ao comparados somente se o caso (1) ocorre, ent˜ao: • P r(“zi´e comparado com zj”) = j−i+12

Portanto E[C] = n−1 P i=1 n P j=i+1 E[Xij] = n−1 P i=1 n P j=i+1 2 j−i+1 ≤ 2n n P k=2 1 k ≤ O(n log n).

(3)

3. Algoritmo linear para encontrar o i-´esimo menor elemento

Considere o algoritmo Selection(A, n, i) que recebe um vetor A de tamanho n e retorna seu i-´esimo menor elemento. Segue a id´eia do algoritmo:

1. Se n = 1, retorne A[1]

2. Escolha um pivot p aleatoriamente de maneira uniforme

3. Use p para particionar A no novo vetor [A1][p][A2] e seja j o ´ındice de p neste novo vetor

4. Se j = i, retorne p

5. Se j > i, retorne Selection(A1, j − 1, i)

6. Se j < i, retorne Selection(A2, n − j, i − j)

Nota¸c˜oes e observa¸c˜oes:

• O n´umero de opera¸c˜oes executadas fora da chamada recursiva, ou seja, na opera¸c˜ao de parti¸c˜ao ´e ≤ cn. • A ideia ´e que se o pivot faz uma parti¸c˜ao do tipo 25-75 (ou seja, o maior subvetor tem no m´aximo 75%

do tamanho original) o algoritmo est´a fazendo progresso. Isso ´e definido formalmente a seguir.

Nota¸c˜ao: Na execu¸c˜ao do algoritmo, dizemos que ele est´a na fase jjj se o tamanho do vetor atual est´a entre (34)j+1n e (3

4)

jn. Observe que o algoritmo come¸ca na fase 0.

• Xj: Var. aleat´oria que conta o n´umero de chamadas recursivas na fase j.

• X: Var. aleat´oria que conta o n´umero total de opera¸c˜oes do algoritmo. Observa¸c˜oes chave:

• N´umero esperado de passos do algoritmo: T (n) = E[X] ≤ E " P fases j Xj· c · (34)j· n # .

• Xj´e uma vari´avel aleat´oria geom´etrica com parˆametro p = 12. Motivo: A chance de se obter uma parti¸c˜ao

25-75 ´e de 50% e em uma dada uma fase j, caso obtenha-se tal parti¸c˜ao o algoritmo passa para a fase j + 1. Ou seja, Xj conta quantas vezes o algoritmo precisa tentar at´e obter “sucesso” em obter uma parti¸c˜ao

adequada. Portanto Xj ´e uma v.a. geom´etrica com parˆametro p = 12.

Portanto E[Xj] = 2 e consequentemente:

T (n) = E[cn P fases j (34)jXj] = cn P fases j (34)jE[Xj] = cn P fases j (34)j· 2 = 2cn P fases j (34)j

Observe que o somat´orio P

fases j

(3 4)

j da ´ultima igualdade ´e uma soma geom´etrica de raz˜ao menor que 1. Tal

soma tem o seguinte limitante superior: P

j

rj 1

1−r. Neste caso r = 3

4 e portanto a soma ´e ≤ 4.

A partir da´ı temos T (n) ≤ 2cn P

fases j

(3 4)

(4)

1. Corte M´ınimo em Grafos (Algoritmo da contra¸c˜ao)

Problema: Dado um grafo G = (V, E), encontrar um corte m´ınimo de arestas F ⊆ E. Obs: Neste caso estamos considerando grafos com m´ultiplas arestas conectando um mesmo par de v´ertices.

RandContract (G)

1: while |V (G)| > 2 do

2: Escolha uma aresta uv aleatoriamente

3: Contraia uv unindo u e v em ´unico v´ertice

4: Remova eventuais “loops”

5: end while

6: Retorne o corte que separa os 2 v´ertices remanescentes Qual a probabilidade de sucesso? Vamos a an´alise:

• Fixe o grafo G = (V, E) e seja |V | = n e |E| = m.

• Fixe um corte m´ınimo que particiona V em (A, B). Por quˆe fixar? A rigor o grafo pode ter outros cortes m´ınimos, mas vamos nos ater a probabilidade de encontrar um corte m´ınimo espec´ıfico, pois no pior caso estamos errando ao nosso favor.

• Seja F ∈ E o conjunto das arestas deste corte e seja |F | = k.

• Observe que a probabilidade do algoritmo encontrar o corte (A, B) ´e a probabilidade de que o algoritmo nunca contraia uma aresta de F .

Seja Si o evento de que um aresta de F ´e contra´ıda na itera¸c˜ao i.

• Queremos ent˜ao: P r(¬SP r(¬SP r(¬S111∧ ¬S∧ ¬S∧ ¬S222∧ ¬S∧ ¬S∧ ¬S333∧ ... ∧ ¬S∧ ... ∧ ¬S∧ ... ∧ ¬Sn−2n−2n−2)))

Primeira itera¸c˜ao: • Note que P (S1) =mk.

• Como δ(G) ≥ k eP

v

d(v) = 2m, ent˜ao m ≥kn2 . • Portanto P (S1) ≤ n2 e ent˜ao P (¬S1) ≥ 1 −n2.

Segunda itera¸c˜ao:

• Note primeiramente que no grafo contra´ıdo o grau m´ınimo ainda ´e no m´ınimo k e portanto o n´umero de arestas remanescentes ´e ≥ k(n−1)2 .

• Queremos P r(¬S1∧ ¬S2) e isso ´e igual a P r(¬S2|¬S1) · P r(¬S1).

• P r(¬S2|¬S1) = 1 −# de arestas remanescentesk ≥ 1 − k k(n−1) 2 = 1 −(n−1)2 • Portanto P r(¬S1∧ ¬S2) ≥ (1 −(n−1)2 )(1 −n2) Generalizando: P r(¬S1∧ ¬S2¬ ∧ S3∧ ... ∧ ¬Sn−2) = P r(¬S1) · P r(¬S2|¬S1) · P r(¬S3|¬S2∧ ¬S1)...P r(¬Sn−2|¬S1∧ ... ∧ ¬Sn−3)

(5)

Ou seja, a probabilidade de sucesso ´e baixa! Temos como melhorar? Claro! Solu¸c˜ao: Rode o algoritmo N vezes (escolheremos este n´umero adequadamente a seguir) e lembre o menor corte encontrado.

• Seja Ti o evento: O corte (A, B) ´e encontrado na i-´esima tentativa;

• P r(“todas N tentativas falham”) = P r(¬T1∧ ¬T2∧ ... ∧ ¬TN) ≤ 1 −n12

N .

Usando o fato que 1 + x ≤ ex e fazendo N = n2 temos: P r(“N fracassos”) ≤e− 1 n2

n2 = 1

e. Ainda n˜ao

est´a bom. Agora fazendo N = n2ln n obtemos um resultado muito bom: P r(“N fracassos”) ≤ 1 e

ln n = n1.

Referências

Documentos relacionados

O propósito desta dissertação é analisar a cosmologia e a compreensão astrológica do mundo presentes na obra Astronomica, de Marcus Manilius, um poema astrológico romano escrito

O objetivo, tal como visto anteriormente, era traçar um modelo de quadro descritivo para a emissão da ‘Opinião Desfavorável’ em português do Brasil que pudesse servir de suporte

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

Neste presente estudo foi aplicado um questionário sobre a aceitação de um dos seus detergentes comparado a dois concorrentes utilizando a escala ideal , além

- Quem preside lê o texto abaixo e abre para a partilha do grupo: Estes dois discípulos de Jesus, que chamamos colunas da Igreja, passaram por grande transformação. Pedro a

Singh (2015, p.1) cita ainda em seu artigo o fato da confusão feita entre contratos EPC e EPCM pelas indústrias indianas devido a falta de conhecimento sobre as definições corretas