Cadeias de Markov
PESC/COPPE/UFRJ |
The Epic 20,000 Roll Dice Randomness Test |
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!
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
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
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 |
Encontro 3
Encontro 4
Encontro 5
Um aspecto fundamental das tabelas hash são as colisões, que ocorrem quando dois ou mais elementos são mapeados no mesmo valor, ou seja, f(d_1) = f(d_2). Em particular, o tempo de acesso a um elemento armazenado na tabela hash depende das colisões. Além disso, a chance de colisão depende, intuitivamente, do número de elementos de dados armazenados e do tamanho da tabela.
Assuma que a função f é "perfeita", o que significa que f mapeia D para [1,k] de forma uniforme. Ou seja, a chance de um elemento d_1 escolhido ao acaso ser mapeado para um valor específico é 1/k, ou seja, P[f(d_1) = i] = 1/k, para qualquer i em [1,k].
Responda às perguntas abaixo:
Encontro 6
Seja X_t a posição do andarilho no tempo t, e seja X_0 a posição inicial do andarilho. Assuma que X_0 = 1.
Encontro 7
Seja X_t o vértice onde o andarilho se encontra no tempo t, e seja X_0 a posição inicial do andarilho.
Encontro 8
Seja X_t o vértice onde o andarilho se encontra no tempo t, e seja X_0 a posição inicial do andarilho.
Encontro 9
Seja X_t o vértice onde o andarilho se encontra no tempo t, e seja X_0 a posição inicial do andarilho.
Encontro 10
Seja X_t o vértice onde o andarilho se encontra no tempo t, e seja X_0 a posição inicial do andarilho.
As listas devem ser submetidas no Moodle da disciplina, até o final do dia de entrega.
As notas de aulas serão tiradas principalmente dos seguintes livros: