Algoritmos de Monte Carlo e
Cadeias de Markov

PESC/COPPE/UFRJ
CPS767 - 2020/1



The Epic 20,000 Roll Dice Randomness Test

Professor
Monitor
Localização / Horário
Resumo/Motivação

Desde da sua concepção na década de 40 algoritmos de Monte Carlo vem sendo utilizados para resolver diversos tipos de problemas, tais como problemas de amostragem e estimação, encontrando aplicações na Física, Biologia e Engenharia. Dentre suas muitas variações, algoritmos de Monte Carlo acoplados a cadeias de Markov (MCMC) estão entre os mais poderosos, tais como Metropolis-Hastings e simulated annealing. Com a crescente quantidade de dados e demanda por eficiência computacional, tais algoritmos vem sendo usados como base de técnicas emergentes em Ciências dos Dados e Inteligência Artificial. Nesta disciplina iremos explorar algoritmos de Monte Carlo com um enfoque teórico e fundamental, cobrindo probabilidade e teoria de cadeias de Markov, e também algumas aplicações práticas.

Algoritmo de Metropolis para Monte Carlo foi nomeado pela revista IEEE Computing in Science & Engineering como sendo um dos 10 algoritmos que mais influenciaram o desenvolvimento e a prática da ciência e engenharia no século 20!


Ementa (preliminar)

Revisão de probabilidade, lei dos grandes números, algoritmos de amostragem, integração de Monte Carlo, cadeias de Markov, estado estacionário, tempo de mistura, passeios aleatórios, Metropolis-Hastings, amostragem de Gibbs, simulated annealing.

Pré-requisito: Probabilidade e estatística


Moodle / Sala Virtual

Todos devem se inscrever no Moodle da discilina. Iremos utilizar esta plataforma para troca de mensagens e avisos, e entrega de tarefas (listas). O código de acesso para inscrição na disciplina no Moodle é mcmc2020.

Usaremos o Google Meet como ambiente de sala virtual. Você deve fazer o "sign in" utilizando seu email do PESC (@cos). A sala da disciplina fica em https://meet.google.com/cww-nswv-kqg


Programação das aulas

Aula Data Comentário Slides/Vídeo Tarefa
1 10/3 Logística, programação e regras do jogo. Três problemas, Monte Carlo to the rescue, História das origens, Monte Carlo na Computação aula_0.pdf
aula_1.pdf
Saiu lista 1
2 12/3 Revisão de probabilidade: espaço amostral, probabilidade, eventos, independência, exclusão mútua, probabilidade total, regra de Bayes, variável aleatória, função de distribuição, Bernoulli, sequência iid, binomial aula_2.pdf Fazer lista 1
3 17/3 Revisão de probabilidade: Geométrica, zeta, valor esperado, variância, função de v.a., distribuição conjunta, independência de v.a., valor esperado conditional, espaço amostral contínuo, função densidade aula_3.pdf
Vídeo
Fazer lista 1
4 19/3 Limitantes para cauda e cabeça, desigualdade de Markov, desigualdade de Chebyshev, desigualdade de Chernoff, with high probability, exemplos, limitante da união aula_4.pdf
Vídeo
Fazer lista 1
5 24/3 Método do primeiro momento, exemplo, Lei dos grandes números (fraca e forte), erro e confiança, exemplo aula_5.pdf
Vídeo
Rever lista 1
E1 26/3 Discussão sobre aulas remotas e presenciais, MOOCs, Marcelo Viana, IMPA, e o problema da porta da esperança (Monty Hall Problem)! Não gravei o encontro!
E2 31/3 Discussão e solução do Monty Hall Problem. Vídeo com explicação lógica (intuitiva), vídeo com explicação matemática Não gravei o encontro!
E3 7/4 Discussão e solução do problema das três filhas, das quatro bolas (ver abaixo), e o Pardoxo do Aniversário. Vídeo Ver abaixo
E4 14/4 Discussão e solução do Problema do Colecionador de Figurinhas (Coupon Collector Problem), e do Base Rate Fallacy (assista ao vídeo e responda perguntas abaixo) Vídeo Ver abaixo
E5 21/4 Analisando e projetando tabelas hash (ver problema). O andarilho aleatório pelos números naturais. Vídeo Ver abaixo
E6 28/4 Discussão e solução do andarilho aleatório pelos naturais (recursão)! Vídeo Ver abaixo
E7 5/5 Generalização do andarilho em grafos conexos, cálculo da evolução do vetor de probabilidade, relação com graus Vídeo Ver abaixo
E8 12/5 Distribuição estacionária do andarilho no grafo conexo, relação com os graus. Vídeo
E9 19/5 Andarilho no grafo com pesos. Distribuição estacionária e relação com os pesos das arestas. Vídeo
E10 26/5 Andarilho em grafos direcionados, Modelo do Surfista Aleatório, e Pagerank. Vídeo
6 2/6 Retomada das aulas: Método de Monte Carlo, estimando somatórios, calculando erro, estimando pi aula_6.pdf
Vídeo
Terminar Lista 1
7 4/6 Estimando pi, Calculando o erro de pi, integração de Monte Carlo, Monte Carlo Ray Tracing aula_6.pdf
Vídeo
Saiu Lista 2
8 9/6 Gerando amostras de v.a. discretas, gerando Geométrica, método da transformada inversa, gerando Binomial aula_7.pdf
Vídeo
Entregar Lista 1
- 11/6 Não teremos aula. Feriado Nacional: Dia de Corpus Christi
Monitoria com o Victor no mesmo horário e mesma sala virtual!
Vídeo Terminar lista 2
9 16/6 Gerando permutações (slides aula_7.pdf), método da rejeição (rejection sampling), exemplos, importance sampling, generalização aula_8.pdf
Vídeo
Entregar lista 2, saiu lista 3
10 18/6 Importance sampling, generalização (slides aula_8.pdf), gerando amostras complicadas, variância amostral, simulação aula_9.pdf
Vídeo
Fazer lista 3
11 23/6 Cadeias de Markov, definição e exemplos, modelo On-Off, sem memória, distribuição no tempo, irredutibilidade, aperiodicidade aula_11.pdf
Vídeo
Fazer lista 3
12 25/6 Distribuição estacionária, tempo de chegada, distância de variação total, convergência, calculando distribuição estacionária, reversibilidade, passeios aleatórios aula_12.pdf
Vídeo
Terminar lista 3
- 26/6 Monitoria com o Victor às 15h na seguinte sala virtual: https://meet.google.com/mmm-ehtg-nxz (ou procurar por "monitoria_mcmc_2020" na página inicial do Google Meet) Vídeo Terminar lista 3
13 30/6 Autovalores, autovetores, e decomposição, convergência para estacionaridade, tempo de mistura, spectral gap, tempo de mistura de passeios aleatórios aula_13.pdf
Vídeo
Entregar lista 3, saiu lista 4
14 2/7 Caminho amostral, teorema Ergódico, estimando pi, simulação de CM, gerando amostras, Markov Chain Monte Carlo (caso simétrico), exemplo aula_14.pdf
Vídeo
Fazer lista 4
15 7/7 Revisando MCMC, Metropolis-Hasting, amostrando vértices em redes aula_15.pdf
Vídeo
Fazer lista 4
- 8/7 Monitoria com o Victor às 10h na seguinte sala virtual (discussão da Lista 4) Vídeo
16 9/7 Otimização, caixeiro viajante, Hill Climbing, distribuição de Boltzman, simulated Annealing, de volta ao caixeiro aula_16.pdf
Vídeo
Fazer lista 4
- 13/7 Monitoria com o Victor às 10h na sala virtual (discussão da Lista 4) Vídeo
17 14/7 Problemas iniciais, Monte Carlo na moda, caminho trilhado, dúvidas, avaliação aula_17.pdf
Vídeo
Terminar lista 4
- 15/7 Monitoria de véspera de prova com o Victor às 17:30h na sala virtual (revisão final) Vídeo
18 16/7 Prova única (início às 15h, 2h de duração). Rever todas as listas em preparação para a prova. Vídeo
Presença
Entregar lista 4


Material para Encontros

Encontro 3

Encontro 4

Encontro 5

Encontro 6

Encontro 7

Encontro 8

Encontro 9

Encontro 10



Listas de exercícios

As listas devem ser submetidas no Moodle da disciplina, até o final do dia de entrega.



Prova



Leitura



Referências

As notas de aulas serão tiradas principalmente dos seguintes livros: