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

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

Algoritmos Randomizados Eduardo Laber. Dois tipos de algoritmos randomizados Algoritmos Las Vegas – Sempre produzem a resposta correta – Tempo de execução.

Apresentações semelhantes


Apresentação em tema: "Algoritmos Randomizados Eduardo Laber. Dois tipos de algoritmos randomizados Algoritmos Las Vegas – Sempre produzem a resposta correta – Tempo de execução."— 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 – 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 T d,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 OR AND T 2,1 A cada folha está associado um valor binário Resultado = 1Resultado = 0

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 I A 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 S1S1 S2S2 S3S3 S4S4

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

11 Terminologia T: árvore de jogo T 0 : árvore à esquerda de T T 1 : á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 (T H ) Caso: – B=1 e Op(T)=OR, retorne 1 – B=1 e Op(T)=AND, retorne Rand-Eval(T 1-H ) – B=0 e Op(T)=OR, retorne Rand-Eval(T 1-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 – Na média 3 k folhas são avaliadas por Rand-Eval Base: k=1 AND OR S1S1 S2S2 S3S3 S4S4

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 T 2,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=4 k, 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: dedo 2 dedos 1 dedo2 dedos Pedro Rodrigo

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. M ik : quantidade que R ganha (C perde). M ik

24 Teoria dos Jogos Objetivo dos jogadores: Maximizar o lucro considerando a pior possibilidade – Rodrigo escolhe a configuração i (linha i) que maximiza Min k { M ik } – Pedro escolhe a coluna k que minimiza Max i { M ik }

25 Teoria dos Jogos Exemplo Rodrigo escolhe linha 3 e Pedro escolhe coluna dedo2 dedos 1 dedo 2 dedos 3 dedos Pedro Rodrigo

26 Teorema Para toda matriz de Payoff: No exemplo,

27 Teorema - Prova Sejam: i1k1 i2 k2

28 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=(p 1,..., p n ) – Pedro joga de acordo com uma distribuição de probabilidade q=(q 1,..., q m )

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 Neummans Para qualquer jogo de soma 0 (p^, q^) é a solução do jogo Obs.: Se p é fixo, p T Mq é uma função linear de q que é minimizada fazendo com que o q i 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 é p T = [1/2, 1/2] então Logo, o melhor que Pedro pode fazer é escolher q 1 =0 e q 2 =1.

35 Teorema de Loomis Para todo jogo de soma 0 especificado por M, temos: onde e k é 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 A q – Algoritmo aleatorizado que segue a distribuição q I p – 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 T 2,k é equivalente a uma árvore de NORs – 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 T 2,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 = log 2 (n), temos – Este limite pode ser melhorado para n 0,793 considerando uma distribuição mais adequada


Carregar ppt "Algoritmos Randomizados Eduardo Laber. Dois tipos de algoritmos randomizados Algoritmos Las Vegas – Sempre produzem a resposta correta – Tempo de execução."

Apresentações semelhantes


Anúncios Google