Corte Mínimo Aleatorizado e Limites de Concentração
Objetivos de Aprendizagem
- Distinguir algoritmos Las Vegas (sempre corretos, tempo de execução aleatório) de algoritmos Monte Carlo (tempo limitado, pequena probabilidade de erro), e explicar como a repetição independente reduz o erro.
- Descrever o algoritmo de contração de Karger para o corte mínimo global e provar que uma execução acerta com probabilidade de pelo menos .
- Calcular quantas repetições tornam a probabilidade de falha no máximo , e derivar o corolário de que um grafo tem no máximo cortes mínimos.
- Enunciar os limites de Markov, Chebyshev e Chernoff e comparar o quão apertado cada um limita a mesma probabilidade de cauda.
Contexto e Motivação
algorithms-software/algorithms calculou cortes mínimos - por meio do fluxo máximo: fixe uma fonte e um sumidouro, empurre fluxo e leia o corte. O problema do corte mínimo global pede o menor conjunto de arestas cuja remoção desconecta o grafo, sem e designados. Resolvê-lo com fluxos significa rodar fluxo máximo para muitos pares, o que é caro e complicado.
Em 1993, David Karger, então doutorando em Stanford, deu um algoritmo que cabe em poucas linhas e não usa fluxo nenhum: escolha uma aresta aleatória, funda as suas pontas, repita até sobrarem dois vértices e devolva as arestas entre eles. Ele costuma errar. Mas acerta com frequência suficiente, com uma probabilidade que pode ser provada, e repeti-lo um número polinomial de vezes o faz acertar com quase certeza. A análise é um modelo de como se raciocina sobre algoritmos aleatorizados no 6.856 (Randomized Algorithms) e no 6.046 do MIT, e depende dos limites de cauda que também sustentam hashing, sketches e a classe de complexidade BPP, mais adiante nesta trilha.
Teoria Central
Dois tipos de algoritmo aleatorizado
Um algoritmo Las Vegas sempre devolve uma resposta correta; só o seu tempo de execução é aleatório (o quicksort aleatorizado é o exemplo clássico). Um algoritmo Monte Carlo roda em tempo limitado, mas pode devolver uma resposta errada com alguma probabilidade. Se um algoritmo Monte Carlo falha com probabilidade no máximo e as execuções são independentes, então execuções falham todas com probabilidade no máximo , que decai exponencialmente. Quando dá para comparar respostas (no corte mínimo, fique com o menor corte encontrado), a repetição transforma uma probabilidade de sucesso fraca numa forte.
O algoritmo de contração de Karger
Trabalhe num multigrafo (arestas paralelas permitidas). Contrair a aresta funde e num único vértice, mantém todas as outras arestas (algumas viram paralelas) e apaga laços. O algoritmo:
- Enquanto restarem mais de dois vértices, escolha uma aresta uniformemente ao acaso e contraia-a.
- Devolva as arestas entre os dois supervértices restantes.
Cada supervértice é um conjunto de vértices originais, então a saída é um corte do grafo original. Ela é um corte mínimo exatamente quando nenhuma aresta de algum corte mínimo fixo foi contraída.
A probabilidade de sucesso
Seja um corte mínimo com arestas. Todo vértice tem grau pelo menos (senão as suas arestas sozinhas seriam um corte menor), então o grafo tem pelo menos arestas. A probabilidade de a primeira contração escolher uma aresta de é no máximo . Depois de contrações restam vértices, o mesmo argumento vale para o grafo contraído (a contração nunca diminui o tamanho do corte mínimo), e assim:
O produto se cancela em telescópio porque cada numerador cancela o denominador dois fatores depois. É pequeno, cerca de , mas só polinomialmente pequeno.
Amplificação
Rode o algoritmo vezes e fique com o menor corte. Usando :
Cada execução leva tempo numa implementação simples, então o total é . Karger e Stein (1996) observaram que as primeiras contrações são seguras e as últimas, arriscadas, e usaram recursão: contraia até cerca de vértices duas vezes de forma independente e recursione em cada uma, chegando a .
Um corolário de graça: todo corte mínimo sobrevive com probabilidade de pelo menos , e esses eventos são disjuntos (o algoritmo devolve um corte), então as suas probabilidades somam no máximo 1. Portanto um grafo tem no máximo cortes mínimos distintos, um fato puramente combinatório provado por probabilidade.
Limites de concentração
Analisar algoritmos aleatorizados exige o tempo todo limitar a probabilidade de uma quantidade aleatória ficar longe da sua média. Três ferramentas, das suposições mais fracas às conclusões mais fortes:
- Markov: para , . Precisa só da média.
- Chebyshev: . Precisa da variância; decai quadraticamente.
- Chernoff: se é uma soma de variáveis indicadoras independentes com média , então para , , e simetricamente . Precisa de independência; decai exponencialmente.
O Chernoff é o que justifica afirmações como "com alta probabilidade todo balde de uma tabela hash tem itens" ou "a votação por maioria sobre 50 execuções independentes erra com probabilidade abaixo de ".
Exemplos Resolvidos
Exemplo 1: quantas execuções num grafo pequeno
Problema: Um grafo tem vértices. Qual é a probabilidade de sucesso garantida de uma execução do algoritmo de Karger, e quantas execuções garantem probabilidade de falha de no máximo 1%?
Rastreamento: Uma execução: . Precisamos de . Tirando logaritmos, . Então 205 execuções independentes bastam. Usando a forma mais grosseira dá , quase o mesmo. Cada execução é barata, então mesmo uma garantia de (cerca de 933 execuções) é prática para grafos pequenos.
Exemplo 2: três limites para uma cauda
Problema: Jogue uma moeda honesta 100 vezes. Limite com Markov, Chebyshev e Chernoff.
Rastreamento: = número de caras, , . Markov: . Chebyshev: desvio 25, então . Chernoff com : . A probabilidade verdadeira é cerca de . Cada suposição adicional compra um limite muito melhor, e o decaimento exponencial do Chernoff é o que escala: com 1.000 lançamentos e 750 caras, o Chernoff dá , enquanto o Chebyshev ainda dá só .
Equívocos Comuns e Armadilhas
- "Um algoritmo aleatorizado não é confiável." A sua probabilidade de falha é um parâmetro que você escolhe. Uma falha abaixo de é muito menos provável do que uma falha de hardware durante a computação, e custa só um número logarítmico de repetições extras.
- "A contração escolhe um par de vértices aleatório." Ela escolhe uma aresta uniformemente ao acaso, e é isso que faz vértices ligados por muitas arestas paralelas (provavelmente do mesmo lado do corte mínimo) se fundirem primeiro. Escolher pares de vértices aleatórios quebra a análise.
- "O Chernoff vale para qualquer soma." Ele exige independência (ou uma forma mais fraca específica dela). Somas de variáveis dependentes, como indicadores de itens que colidem entre si, precisam de outras ferramentas, muitas vezes Chebyshev com um argumento de independência par a par.
Resumo
Algoritmos Monte Carlo trocam certeza por simplicidade, e a repetição independente derruba o seu erro exponencialmente. O algoritmo de Karger contrai arestas aleatórias até sobrarem dois vértices; como todo vértice tem grau pelo menos igual ao tamanho do corte mínimo, cada passo evita um corte mínimo fixo com probabilidade de pelo menos , e o produto telescópico dá sucesso de pelo menos . Cerca de execuções tornam a falha no máximo , e a análise ainda prova que um grafo tem no máximo cortes mínimos. Markov, Chebyshev e Chernoff limitam probabilidades de cauda com suposições e conclusões progressivamente mais fortes. O próximo conceito usa a aleatoriedade de outro jeito: funções hash escolhidas para que itens parecidos colidam de propósito.