• Nenhum resultado encontrado

Cadeias reversíveis

No documento Cadeias de Markov e aplicações (páginas 49-55)

Agora suponha que a Cadeia de Markov começa com a distribuição inicial µ(0) = π0

então µ(n) = π0 ∀n, pois π0 é estacionária.Por outro lado, o teorema3.24diz que µ(n) V T−→ π,

significa que

limn−→∞dvt(µ(n), π) = 0

Mas µ(n)= π0, isto é o mesmo que

limn−→∞dvt(π0, π) = 0

Mas dvt(π0, π) não depende de n e é igual a 0, isto implica que π = π0, como queríamos.

3.4

Cadeias reversíveis

Introduziremos, nesta seção, uma classe especial de Cadeias de Markov conhecida como reversíveis, que são interessantes de serem estudas pois é uma propriedade fácil de ser verificada e implica estacionariedade.

Definição 3.26. Seja (X0, X1, ....) uma Cadeia de Markov com espaço de estado S =

{s1, ..., sk} e matriz de transição P. Uma distribuição de probabilidade π em S é dita

reversível para a cadeia(ou para a matriz de transição P) se ∀i, j ∈ {1, ..., k} temos

πiPi,j = πjPj,i (3.24)

Temos então que se a Cadeia é iniciada com a distribuição reversível, então o lado esquerdo da equação 3.24 pode ser pensado como a quantidade de massa de probabilidade que flui no tempo 1 do estado si ao estado sj. Similarmente, o lado direito é a massa de

probabilidade que flui de sj para si. Isto nos mostra uma forte forma de equilíbrio e o

seguinte resultado nos mostrará isso.

Teorema 3.27. Seja (X0, X1, ....) uma Cadeia de Markov com espaço de estado S =

{s1, ..., sk} e matriz de transição P. Se π é uma distribuição reversível da cadeia, então é

também uma distribuição estacionária para a cadeia.

Demonstração. A Propriedade (i) da Definição 3.17é imediata. Assim só resta mostrar que para qualquer j ∈ {1, ..., k} temos

πj = k X i=1 πiPi,j. Observe que, πj = πj k X i=1 Pj,i= k X i=1 πjPj,i = k X i=1 πiPi,j. pois Pk i=1Pj,i = 1.

30 Capítulo 3. Cadeias de Markov

Exemplo 3.28 (Passeios Aleatórios em Grafos). Um grafo G = (V, E) consiste em um conjunto de vértices V = {v1, ..., vk}, juntamente com um conjunto de arestas E =

{e1, ..., el}. v7 v3 v2 v6 v8 v4 v1 v5 Figura 6 – Um grafo

Um passeio aleatório em um gráfico G = (V, E) é uma Cadeia de Markov com estado de espaço V = {v1, ..., vk} e o seguinte mecanismo de transição: se o caminhante

aleatório se posiciona num vértice vi no instante n, então move-se no tempo n + 1 para

um dos vizinhos de vi escolhidos aleatoriamente, com igual probabilidade para cada um

dos vizinhos. Assim, se denotamos o número de vizinhos de um vértice vi por di, então os

elementos da matriz de transição são dados por

Pi,j =        1 di , se vi e vjsão vizinhos

0, caso contrário

Acontece que os passeios aleatórios em grafos são Cadeias de Markov reversíveis, com distribuição reversível dada por

π = d1 d, d2 d, ..., dk d ! (3.25) Onde d =Pk

i=1di. Para ver que (3.24) se mantém para esta escolha de π, calculamos

πiPi,j =        di d 1 di = 1 d = dj d 1 dj

= πjPj,i, se si e sjsão vizinhos

0, caso contrário

Para o grafo na figura 6, (3.25) torna-se

π =  2 24, 3 24, 5 24, 3 24, 2 24, 3 24, 3 24, 3 24, 

De modo que em equilíbrio, v3 é o vértice mais provável para o passeador aleatório estar,

31

4 Cadeias de Markov de Monte Carlo

Neste capítulo, faremos uma breve introdução sobre o método de Monte Carlo via Cadeias de Markov, mais especificamente o algoritmo de Metropolis. Foram utilizadas as seguintes referências [7] e [6], como texto base.

4.1

Introdução

Neste capítulo, vamos considerar o seguinte problema: dada uma distribuição π em S = {s1, ..., sk}, como simulamos uma variável aleatória com distribuição π?

Para tentar responder a questão vamos considerar o exemplo seguinte.

Exemplo 4.1 (Modelo Hardcore). Seja G = (V, E) um grafo com o conjunto de vértices V = {v1, ..., vk}e arestas E = {e1, ..., ek}. No chamado modelo Hardcore em G, atribuímos

o valor 0 ou 1 a cada um dos vértices, de tal modo que nenhum dos dois vértices adjacentes tomem o valor 1.

As atribuições 00s e 10s aos vértices são chamados configurações e podem se consi-

deradas como elementos do conjunto {0, 1}V. As configurações em quem nenhum dois 10s

ocupam vértices adjacentes são chamadas configurações permitidas.

Para escolhermos uma configuração aleatória possível, iremos tomar cada uma das configurações possíveis com igual probabilidade. Escrevemos µG para a medida de

probabilidade resultante em {0, 1}V. Consequentemente, para ξ ∈ {0, 1}V, temos

µG(ξ) =        1 zG , se ξ é possível,

0, caso contrário.

(4.1) onde zG é o número total de configurações permitidas para G.

Veja a figura a seguir, para uma configuração aleatória escolhida de acordo com µG

no caso em que G é uma malha quadrada de tamanho 8 × 8.

32 Capítulo 4. Cadeias de Markov de Monte Carlo

Uma pergunta interessante a se fazer seria: qual é o número esperado de 10s em

uma configuração aleatória de acordo com µG? Se escrevemos n(ξ) para o número de 10s

na configuração ξ, e X para uma configuração aleatória escolhida de acordo com µG então

este valor esperado é dado por

E[n(X)] = X ξ∈{0,1}V n(ξ)µG(ξ) = 1 zG X ξ∈{0,1}V n(ξ)I{ξépossível} (4.2)

Avaliar essa soma pode ser inviável a menos que o grafo seja muito pequeno, uma vez que o número de configurações(e portanto, o número de termos da soma) cresce exponencialmente no tamanho do grafo. Se a maioria dos termos tem valor 0, pode ajudar um pouco, mas o número de termos de zero cresce exponencialmente também. Observe que o cálculo de zG é não trivial computacionalmente.

Quando a expressão exata em (4.2) esta além do que nossos recursos computacionais podem lidar, uma opção seria modificar para simulações. Se soubermos como simular uma configuração aleatória X com distribuição µG, então podemos fazer isso muitas vezes, e

estimar E[n(X)] pelo número médio de 10s nas simulações. Pela Lei de Grandes Números

(Teorema 2.32), esta estimativa converge para o verdadeiro valor de E[n(X)].

Com este exemplo em mente, nos perguntamos: como podemos simular uma variável aleatória X distribuída de acordo com uma dada distribuição de probabilidade π em um espaço de estado S = {s1, ..., sk}?

Para solucionar a questão acima, podemos considerar a variável aleatória X = ψ(U),

onde U tem distribuição variável uniforme [0,1] e a função ψ : [0, 1] −→ S é dada por:

ψ(x) =                                  s1, para x ∈ [0, π(s1)]; s2, para x ∈ [π(s1), π(s1) + π(s2)]; ... si, para x ∈ [Pi−1j=1π(sj),Pij=1π(sj)]; ... sk, para x ∈[Pk−1j=1π(sj), 1]. (4.3)

Vemos que com esta função obtemos a distribuição desejada π, pois P(X = s1) = P (ψ(U) = s1) = P (U ∈ [0, π(s1)]) = π(sj),

4.1. Introdução 33

Na prática, no entanto, esta abordagem é inviável a menos que o espaço de estado S seja pequeno pois π é desconhecido. Para o modelo Hardcore, apresentado anteriormente, em uma malha do tamanho de um tabuleiro de xadrez ou maior, a avaliação da função ψ torna-se demasiadamente complicada para este método ser de qualquer utilização prática, devido ao cálculo de zG que não é trivial.

Como podemos observar para alguns grafos pode ser um desafio construir direta- mente uma amostra aleatória. Um outro modo de resolver esse problema seria o seguinte : suponhamos que podemos construir uma Cadeia de Markov Xn irredutível e aperiódica,

com distribuição estacionária π. Se iniciarmos a cadeia com uma distribuição inicial arbitrá- ria então do teorema de convergência para Cadeias de Markov (Teorema 3.24), garantimos que a distribuição da cadeia no tempo n converge para π, quando n −→ ∞. Este método de amostragem a partir de uma dada distribuição de probabilidade é chamado Monte Carlo via Cadeias de Markov.

Contudo, como podemos construir uma Cadeia de Markov com essa propriedade? Por que isso seria mais fácil do que construir uma variável aleatória com distribuição π diretamente? Vejamos o problema do modelo do Hardcore.

Exemplo 4.2 (Um algoritmo de Monte Carlo via Cadeias Markov para o modelo Hardcore). Consideremos o modelo Hardcore no Exemplo 4.1 com um Grafo G = (V, E). Para obter um algoritmo MCMC para este modelo, precisamos construir uma Cadeia de Markov cujo espaço de estado S é o conjunto de configurações permitidas para G, isto é,

S = {ξ ∈ {0, 1}V : ξ é permitida} (4.4)

Além disso, queremos que a Cadeia de Markov seja irredutível, aperiódica e tenha distribuição estacionária µG dada por (4.1).

Uma cadeia de Markov com as propriedades desejadas pode ser obtida utilizando o seguinte mecanismo de transição. Em cada tempo inteiro n + 1, fazemos o seguinte:

1) Escolha um vértice v ∈ V aleatoriamente e de modo uniforme; 2) Jogue uma moeda justa;

3) Se a moeda der cara e todos os vizinhos de v tomam o valor 0 em Xn, então

fazemos Xn+1(v) = 1, caso contrário Xn+1(v) = 0;

4) Para todos os vértices w 6= v, deixe o valor em w inalterado, isto é, deixe Xn+1(w) = Xn(w).

34 Capítulo 4. Cadeias de Markov de Monte Carlo

este algoritmo define uma Cadeia de Markov em S com matriz de transição Pξ,ξ0:

Pξ,ξ0 =                1 2k, se d= 1; 0, se d ≥2; 1 − X ξ0:d(ξ,ξ0)=1 1 2k se d= 0. (4.5)

Esta cadeia é irredutível pois, segundo esse algoritmo, conseguimos atingir qualquer estado ξ0 a partir de qualquer estado ξ o que satisfaz a definição3.10. Podemos verificar

também que é aperiódica pois é possível permanecer na mesma configuração a cada iteração, satisfazendo a definição 3.14. Portanto, resta mostrar apenas que µG é uma distribuição

estacionária para a cadeia. Pelo Teorema 3.27 basta mostrar que µG é reversível. Sendo

Pξ,ξ0 denotam a probabilidade de transição do estado ξ para ξ0, precisamos verificar que

µG(ξ)Pξ,ξ0 = µG0)Pξ0 (4.6)

para quaisquer duas configurações permitidas ξ e ξ0.

Para mostrar isso, considere d = d(ξ, ξ0) nos três casos: d = 0, d = 1 e d ≥ 2.

1ºcaso- O caso d = 0 significa que ξ = ξ0, neste caso a relação (4.6) é imediata.

2ºcaso- O caso d ≥ 2 é fácil de ser verificado, pois a cadeia nunca muda os valores em mais de um vértice, fazendo com que ambos os lados de (4.6) sejam iguais a zero.

3ºcaso- No caso d = 1, temos que ξ e ξ0 diferem exatamente em um vértice v.

Então todos os vizinhos de v devem tomar o valor zero em ξ e ξ0, pois caso contrário, uma

das configurações não pode ser permitida. Conseguimos, portanto que µG(ξ)Pξ,ξ0 = 1

zG

1

2k = µG(ξ0)Pξ0

e (4.6) é verificado (lembre-se que k é o número de vértices). Assim, a cadeia tem µG

como uma distribuição reversível (e, portanto, estacionária).

Podemos agora simular esta Cadeia de Markov usando o método citado acima. Uma escolha conveniente da função de atualização é dividir o intervalo [0, 1] em 2k subintervalos de igual comprimento 1/2k, representando as escolhas computacionalmente, da seguinte

forma

(v1, cara), (v1, coroa), (v2, cara), ..., (vk, coroa)

Na descrição do mecanismo de transição acima, se agora executarmos a cadeia por um tempo n longo, começando com uma configuração inicial possível arbitrária e a saída Xn, então obtemos uma configuração aleatória cuja distribuição é aproximadamente µG,

No documento Cadeias de Markov e aplicações (páginas 49-55)

Documentos relacionados