1 / 44

Algoritmos Randomizados

Algoritmos Randomizados. Eduardo Laber. Dois tipos de algoritmos randomizados. Algoritmos Las Vegas Sempre produzem a resposta correta Tempo de execução é uma variável aleatória Exemplo: RandQs Sempre produz seqüência ordenada

teague
Download Presentation

Algoritmos Randomizados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmos Randomizados Eduardo Laber

  2. Dois tipos de algoritmos randomizados • Algoritmos Las Vegas • Sempre produzem a resposta correta • Tempo de execução é uma variável aleatória • Exemplo: RandQs • Sempre produz seqüência ordenada • Tempo de término varia de execução para execução em uma dada instância

  3. Dois tipos de algoritmos randomizados • Algoritmos Monte-Carlo • Podem produzir respostas incorretas • A probabilidade de erro pode ser cotada • Executando o algoritmo diversas vezes podemos tornar a probabilidade de erro tão pequena quanto se queira • Exemplo: Min-Cut

  4. Problemas de decisão • Problema de Primalidade • Entrada: n inteiro • Saída: • sim, se n é primo • não, se n é composto • Problema de Coloração • Entrada: Grafo G, inteiro k • Saída: • sim, se existe k-coloração para G • não, caso contrário

  5. Algoritmos Monte-Carlo • One-sided error • Probabilidade nula de erro quando responde sim (não). Probabilidade não-nula quando responde não (sim). • Two-sided error • Probabilidade não-nula de erro quando responde sim e quando responde não.

  6. Game Tree Evaluation • Definição: Uma árvore de jogo Td,k é uma árvore em que todo nó interno tem d filhos e toda folha está a uma distância 2k da raiz. Cada nó interno está associado a um operador OR ou AND. Além disso, os filhos de um nó associado a um operador OR (AND) estão associados a um operador AND (OR).

  7. Game Tree Evaluation AND Resultado = 1 Resultado = 0 T2,1 T2,1 OR AND AND OR OR 0 1 0 1 1 0 0 0 A cada folha está associado um valor binário

  8. Game Tree Evaluation • Objetivo: • Descobrir o resultado da árvore processando o número mínimo de folhas possíveis. • Algoritmo determinístico: • Para todo algoritmo determinístico A, existe uma instância IA em que todas as folhas devem ser testadas. Note que a instância depende do algoritmo

  9. AND OR OR S1 S2 S3 S4 Game Tree Evaluation • Seja a seguinte árvore de jogo:

  10. Game Tree Evaluation Algoritmo determinístico sempre precisa testar todas as folhas no pior caso.

  11. Terminologia • T: árvore de jogo • T0: árvore à esquerda de T • T1: árvore à direita de T • Op(T): operador associado a raiz de T

  12. Algoritmo Rand-Eval (T) • Sorteie uma moeda ‘justa’ H Î {0,1} • B = Rand-Eval (TH) • Caso: • B=1 e Op(T)=OR, retorne 1 • B=1 e Op(T)=AND, retorne Rand-Eval(T1-H) • B=0 e Op(T)=OR, retorne Rand-Eval(T1-H) • B=0 e Op(T)=AND, retorne 0

  13. Comentários • Se resultado do AND=1, então Rand-Eval precisa avaliar ambos os filhos • Se resultado do AND=0, Rand-Eval avalia na média não mais que 3/2 filhos • Se resultado do OR=0, Rand-Eval avalia os dois filhos • Se resultado do OR=1, Rand-Eval avalia na média não mais que 3/2 filhos • OBS.: Se o AND é 1 os dois filhos OR assumem valor 1 (caso bom para o OR)

  14. AND OR OR S1 S2 S3 S4 Análise • Hipótese de indução • Na média 3k folhas são avaliadas por Rand-Eval • Base: k=1

  15. Análise • Caso 1) Resultado=1 • Os dois OR são iguais a 1 • Para avaliar um 0R, necessitamos de 3/2 testes na média

  16. Análise • Caso 2) Resultado=0 • No pior caso somente um dos OR é 0 • Com probabilidade ½ testa-se os dois OR e com probabilidade ½ testa-se um OR

  17. AND T2,k OR OR Análise • Assuma que a hipótese de indução vale para k. Provaremos para k+1.

  18. Análise • Caso 1) Resultado=1 (AND=1) • Caso 2) Resultado=0 (AND=0) => pelo menos um dos OR é falso.

  19. Análise • Sabendo que o total de folhas é n=4k, o resultado garante que o algoritmo avalia na média: • Melhor que qualquer algoritmo determinístico ! • Esse algoritmo é um do tipo Las Vegas.

  20. Teoria dos Jogos • Rodrigo e Pedro jogam o seguinte jogo com os dedos: Pedro 1 dedo 2 dedos 1 dedo -10 10 Rodrigo 2 dedos 20 -10

  21. Teoria dos Jogos • Se Pedro e Rodrigo escolhem o mesmo número de dedos => Pedro ganha. • Se Pedro e Rodrigo escolhem números diferentes => Rodrigo ganha.

  22. Teoria dos Jogos • Jogo de Soma 0 • A quantidade que um jogador ganha é igual a quantidade que o adversário perde. • Zero Information Game • Um jogador não conhece a estratégia do adversário.

  23. Teoria dos Jogos • Jogos de soma 0 podem ser representados por uma matriz de payoff. • Mik : quantidade que R ganha (C perde). Mik

  24. Teoria dos Jogos • Objetivo dos jogadores: Maximizar o lucro considerando a pior possibilidade • Rodrigo escolhe a configuração i (linha i) que maximiza Mink { Mik } • Pedro escolhe a coluna k que minimiza Maxi { Mik }

  25. Teoria dos Jogos Pedro • Exemplo • Rodrigo escolhe linha 3 e Pedro escolhe coluna 1 1 dedo 2 dedos 1 dedo -10 20 Rodrigo 2 dedos 20 -10 3 dedos 60 80

  26. Teorema • Para toda matriz de Payoff: • No exemplo,

  27. i1 k1 i2 k2 Teorema - Prova • Sejam:

  28. 0 1 2 -1 0 1 -2 -1 0 Jogos com solução • Um jogo tem solução se Solução: Linha=1 Coluna=1

  29. Jogos com solução • Solução: (i*, k*) • Jogo com solução (Equilíbrio) Na solução, nenhum movimento de Rodrigo nem de Pedro pode melhorar suas situações. Estratégia ótima para Rodrigo Estratégia ótima para Pedro

  30. Jogos sem solução • Em qualquer ponto um dos jogadores desejará se movimentar (não existe ótimo local).

  31. Estratégia de jogo aleatorizada • Estratégias determinísticas: forma de jogar é única. • Estratégias aleatorizadas: • Rodrigo joga de acordo com uma distribuição de probabilidade p=(p1, ..., pn) • Pedro joga de acordo com uma distribuição de probabilidade q=(q1, ..., qm)

  32. Estratégia de jogo randomizada • Temos que: • Estratégia ótima de Rodrigo é uma distribuição p que maximiza • Estratégia ótima de Pedro é uma distribuição q que minimiza

  33. Teorema de Von Neumman’s • Para qualquer jogo de soma 0 • (p^, q^) é a solução do jogo • Obs.: Se p é fixo, pTMq é uma função linear de q que é minimizada fazendo com que o qi com menor coeficiente seja igual a 1 => se Pedro conhece a distribuição utilizada por Rodrigo, a estratégia ótima de Pedro é determinística (e vice-versa).

  34. Exemplo Se a estratégia de Rodrigo é pT = [1/2, 1/2] então Logo, o melhor que Pedro pode fazer é escolher q1=0 e q2=1.

  35. Teorema de Loomis • Para todo jogo de soma 0 especificado por M, temos: onde ek é um vetor em que a k-ésima coordenada é 1 e as demais são iguais a 0.

  36. Técnica de Yao • Única técnica geral conhecida para provar limites inferiores para algoritmos aleatorizados • Ideia: • Enxergar o projetista de algoritmos como o jogador das colunas e o adversário, aquele que escolhe entradas difíceis como o jogador das linhas

  37. Matriz de payoff • Matriz M: medida de complexidade do algoritmo • Tempo de execução • Qualidade da solução obtida • Etc. • Objetivos • Projetista: minimizar o tempo de execução • Adversário: maximizar o tempo de execução

  38. Matriz de payoff • Estratégia pura ótima para projetista: • Algoritmo determinístico ótimo: minimiza o pior caso • Algoritmo aleatorizado ótimo: minimiza • Aq – Algoritmo aleatorizado que segue a distribuição q • Ip – Entrada que segue a distribuição p

  39. Teorema de Loonis • A - conjunto dos possíveis algoritmos colunas • I – conjunto das possíveis entradas • Significado: O tempo esperado do melhor algoritmo determinístico para a pior distribuição possível de entradas é igual ao tempo esperado do melhor algoritmo aleatorizado

  40. Princípio de Yao • Para todas distribuições p sobre I: • Implicação: • Para determinar um limite inferior para o tempo de execução de um algoritmo randomizado, basta determinar um limite inferior para o valor esperado do melhor algoritmo determinístico para uma dada distribuição das entradas • Vantagem • A distribuição pode ser escolhida

  41. Limite inferior para árvore de jogos • Arvore T2,k é equivalente a uma árvore de NOR’s • Nor(a,b) = 1 , se a = 0 e b = 0 • Nor(a,b) = 0 , caso contrário

  42. Limite inferior para árvore de jogos • Cada folha recebe 1 com probabilidade p • Lema : a probabilidade de um nó de T2,k ter saida 1 é p • Nor=1 seus dois filhos são 0 • Assumindo por indução que a probabilidade de seus filhos serem 1 é p

  43. Limite inferior para árvore de jogos • Teoriema • Existe um algoritmo ótimo para a distribuição apresentada que percorre a árvore em profundidade, testando somente os nós necessários

  44. Limite inferior para árvore de jogos • Análise • W(h) – valor esperado do número de folhas testadas para determinar o resultado de um nó a uma distância h das folhas • Fazendo h = log2(n) , temos • Este limite pode ser melhorado para n0,793 considerando uma distribuição mais adequada

More Related