MCZA035-17 Algoritmos Probabilísticos 2026-3 Professor Jair Donadelli --- email jair.donadelli@ufabc.edu.br --- sala 546 Torre 2 Bloco A


A aleatoriedade consolidou-se como um dos paradigmas centrais no projeto de algoritmos eficientes. Em muitos problemas computacionais, algoritmos aleatorizados são mais simples, mais rápidos e utilizam menos memória do que suas contrapartes determinísticas. Em outros, especialmente em aplicações de larga escala, constituem a única abordagem computacionalmente viável. Atualmente, algoritmos aleatorizados estão presentes em inúmeras tecnologias utilizadas diariamente, desde mecanismos de busca na Web, bancos de dados e sistemas distribuídos até criptografia, inteligência artificial, aprendizado de máquina e processamento de grandes volumes de dados. Ao longo do curso, serão estudados tanto os fundamentos teóricos quanto aplicações em problemas práticos, evidenciando como a aleatoriedade pode ser utilizada para obter soluções eficientes e confiáveis.

Horários:Sala:
Terça 8-10h 
Quinta 10-12h 
Recomendação:T-P-E-I:
Análise de Algoritmos e Cálculo de Probabilidade4-0-0-4


Objetivos

Esta disciplina propõe uma mudança conceitual no raciocínio algorítmico, substituindo garantias determinísticas e absolutas por análises probabilísticas de desempenho e erro. O objetivo pedagógico central do curso não é a mera apresentação de um catálogo de algoritmos, mas o desenvolvimento de uma intuição probabilística: um arcabouço analítico que capacite o estudante a projetar e avaliar soluções sob condições de incerteza, aproximação e escala. A capacidade de identificar quando e como substituir a certeza absoluta por ganhos expressivos em tratabilidade computacional constitui uma das competências mais relevantes para a formação do profissional, preparando-o para enfrentar os desafios computacionais mais complexos da atualidade.

Objetivos específicos

Esta disciplina tem como objetivo apresentar os fundamentos dos algoritmos probabilísticos, capacitando o aluno a compreender, analisar e projetar algoritmos que utilizam aleatoriedade como ferramenta para obter soluções eficientes para problemas computacionais. Ao final do curso, o aluno deveá ser capaz de:

Compreender o comportamento de processos e algoritmos aleatórios, o poder e as limitações da aleatoriedade no projeto de algoritmos.

Analisar algoritmos aleatorizados, dominando técnicas de análise como: variáveis aleatórias, esperança e suas principais propriedades e leis de concentração de medida. A maestria dessas técnicas é um resultado central do curso.

Projetar e implementar algoritmos aleatorizados para problemas em diversas áreas da ciência da computação, utilizando técnicas como amostragem, passeios aleatórios e cadeias de Markov.

Reconhecer e justificar situações em que abordagens probabilísticas são superiores a abordagens determinísticas.

Aplicar técnicas probabilísticas a diversas áreas, como estruturas de dados, algoritmos em grafos, otimização combinatória e processamento de grandes volumes de dados.

Programação da disciplina

Ementa

Fundamentos de probabilidade para algoritmos: Espaços de probabilidade, variáveis aleatórias, esperança e variância, independência, método probabilístico e desigualdades de concentração. Introdução a martingales.

Técnicas fundamentais: amostragem aleatória, hashing, projeções aleatórias e redução de dimensionalidade.

Algoritmos e estruturas probabilísticas: Skip Lists, Hashing universal, Locality Sensitive Hashing, Bloom Filters, Sketches probabilísticos para sumarização de dados: Flajolet–Martin para contagem de elementos distintos, Count-Min Sketch para estimação de frequências e identificação de heavy hitters.

Algoritmos em modelo de stream de dados: processamento online, algoritmos de uma passagem, restrições de memória e garantias probabilísticas. Estimação de momentos de frequência Fk em streams, algoritmo de Alon–Matias–Szegedy para F2. Limites inferiores e trade-offs entre memória, erro e probabilidade de falha.

Passeios Aleatórios e Cadeias de Markov: Passeios aleatórios e aplicações m grafos. Cadeias de Markov, distribuição estacionária e mixing time. Algoritmos de Monte Carlo via Cadeias de Markov (MCMC), Metropolis–Hastings e amostragem de Gibbs.

Tópicos Especiais: Classes de complexidade RP, BPP. Derandomização e pseudoaleatoriedade. Algoritmos online. Algoritmos probabilísticos em aprendizado de máquina. Aplicações em grafos, otimização e ciência de dados. Outros tópicos conforme o interesse.

Calendario

image-20260806182003853

Reposição de feriados

image-20260806182211831

Programação das Aulas

SemanaMódulo TemáticoTópicos PrincipaisFerramentas Analíticas ChaveLeitura (Mitzenmacher & Upfal)
1Fundamentos ProbabilísticosRevisão de probabilidade discreta, variáveis aleatórias, esperança, linearidade da esperança. Desigualdades de Markov e ChebyshevValor esperado, independênciaCap. 1–2
2Análise Probabilística de AlgoritmosQuicksort aleatorizado, Skip list.Linearidade da esperança, variânciaCap. 2–3
3Concentração e Método ProbabilísticoLimites de Chernoff-Hoeffding, método probabilístico, algoritmos Las Vegas e Monte CarloLimites de concentraçãoCap. 4 e 6
4Hashing e Estruturas ProbabilísticasHashing universal, Bloom FiltersFunções hash universais, análise de falsos positivosCap. 5 e 13
5Sketches e StreamingFlajolet–Martin, Count-Min Sketch, Heavy Hitters, HyperLogLog (visão geral)Estimadores probabilísticos, análise de erroCap. 14 + notas
6Algoritmos em StreamsModelo de streaming, momentos de frequência (AMS para (F_2)), limites inferiores e trade-offsIndependência limitada, concentraçãoCap. 14
7Algoritmos Aleatorizados em GrafosAlgoritmo de Karger, introdução a random walksProbabilidade condicional, recorrênciaCap. 10
8Cadeias de MarkovPasseios aleatórios, hitting time, cover time, distribuição estacionária, PageRank (visão geral)Cadeias de MarkovCap. 7
9Algoritmos de AproximaçãoMAX-SAT, Set Cover, arredondamento randomizadoRelaxação linear, randomized roundingNotas
10Redução de DimensionalidadeProjeções aleatórias, Lema de Johnson–Lindenstrauss, aplicações em aprendizado de máquinaGeometria probabilísticaNotas
11    
12    

Bibliografia

Bibliografia complementar


Atendimento

A divulgar


Avaliação

x provas.

As avaliações são individuais, presenciais e sem consulta. Avalia-se a capacidade do aluno de analisar algoritmos probabilísticos de forma rigorosa, com ênfase em demonstrações, garantias probabilísticas e raciocínio matemático estruturado. Critérios e Pesos:

CritérioPeso
Correção matemática40%
Rigor e completude das provas30%
Uso adequado de ferramentas probabilísticas20%
Clareza, organização e notação10%

Expectativas formais : – Escrita matemática clara, precisa e bem organizada. – Uso consistente de notação. – Argumentos probabilísticos explícitos e justificados. – Definição clara de eventos, variáveis aleatórias e espaços de probabilidade.

Observações específicas

Conceito final

Instruções para as provas

  1. Podem usar lápis (legível) ou caneta (não vermelha).

  2. Podem responder às questões em qualquer ordem.

  3. Podem usar parte da folha de resposta como rascunho, identificando-a no topo da página com a palavra Rascunho.

  4. Podem entregar a prova a qualquer momento, desde que assinem a lista de presença.

  5. Devem trazer um documento com foto atual.

  6. Devem deixar as mochilas no chão, com o celular dentro (desligado ou silenciado). É proibido o uso de eletrônicos (celular, calculadoras, smartwatches, etc).

  7. Devem entregar a folha de questões juntamente com a folha de respostas.

  8. Devem deixar sobre a carteira somente lápis, caneta, borracha, documento e garrafa d'água. Qualquer outro objeto deve ser guardado.

  9. Idas ao banheiro apenas mediante a entrega definitiva da prova.

  10. Todo aluno poderá, eventualmente e a critério do professor, ser arguido oralmente sobre as soluções apresentadas na prova e essa arguição será parte da avaliação.

    O não cumprimento das instruções implica nota zero. Na ocorrência de fraude, o aluno será reprovado.


Recuperação

Tem direito ao exame recuperação, o qual engloba todo o conteúdo da disciplina, aqueles que foram aprovado com D ou reprovado com F e obtiveram frequência mínima. O resultado do exame é um conceito que compõe com o conceito final M obtido na avaliação regular da disciplina como segue:

 

O aluno deve manifestar interesse em fazer a recuperação de acordo com as instruções que serão enviadas pelo siga em momento apropriado durante a disciplina.


Substitutiva

Para os casos previstos em resolução mediante comprovação.