A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos Randomizados

Apresentações semelhantes


Apresentação em tema: "Algoritmos Randomizados"— Transcrição da apresentação:

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 Problema de Coloração
Entrada: n inteiro Saída: sim, se n é primo não, se n é composto Problema de Coloração Entrada: Grafo G, inteiro k 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 Resultado = 1 Resultado = 0 T2,1 T2,1
AND OR AND AND OR OR 1 1 1 A cada folha está associado um valor binário

8 Game Tree Evaluation Objetivo: Algoritmo determinístico:
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 Game Tree Evaluation Seja a seguinte árvore de jogo: AND OR S1 S2 S3

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 Análise Hipótese de indução Base: k=1
Na média 3k folhas são avaliadas por Rand-Eval Base: k=1 AND OR S1 S2 S3 S4

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 Análise Assuma que a hipótese de indução vale para k. Provaremos para k+1. AND OR T2,k

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:
-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 Zero Information Game
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
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 Teorema - Prova Sejam: i1 k1 i2 k2

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

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


Carregar ppt "Algoritmos Randomizados"

Apresentações semelhantes


Anúncios Google