Algoritmos Randomizados - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Algoritmos Randomizados

Description:

Algoritmos Randomizados Eduardo Laber Dois tipos de algoritmos randomizados Algoritmos Las Vegas Sempre produzem a resposta correta Tempo de execu o uma ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 45
Provided by: MarceloLa1
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos Randomizados


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
Resultado 1
Resultado 0
T2,1
  • AND

OR
T2,1
AND
AND
OR
OR
0
1
1
0
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
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
  • B1 e Op(T)OR, retorne 1
  • B1 e Op(T)AND, retorne Rand-Eval(T1-H)
  • B0 e Op(T)OR, retorne Rand-Eval(T1-H)
  • B0 e Op(T)AND, retorne 0

13
Comentários
  • Se resultado do AND1, então Rand-Eval precisa
    avaliar ambos os filhos
  • Se resultado do AND0, Rand-Eval avalia na média
    não mais que 3/2 filhos
  • Se resultado do OR0, Rand-Eval avalia os dois
    filhos
  • Se resultado do OR1, 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 3k folhas são avaliadas por Rand-Eval
  • Base k1

15
Análise
  • Caso 1) Resultado1
  • 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) Resultado0
  • 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 k1.

18
Análise
  • Caso 1) Resultado1 (AND1)
  • Caso 2) Resultado0 (AND0) gt pelo menos um dos
    OR é falso.

19
Análise
  • Sabendo que o total de folhas é n4k, 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
-10
10
1 dedo
Rodrigo
20
-10
2 dedos
21
Teoria dos Jogos
  • Se Pedro e Rodrigo escolhem o mesmo número de
    dedos gt Pedro ganha.
  • Se Pedro e Rodrigo escolhem números diferentes gt
    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
-10
20
1 dedo
Rodrigo
20
-10
2 dedos
60
80
3 dedos
26
Teorema
  • Para toda matriz de Payoff
  • No exemplo,

27
Teorema - Prova
  • Sejam

28
Jogos com solução
Solução Linha1 Coluna1
  • 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 Neummans
  • 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 gt 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
    q10 e q21.

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 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 T2,k ter saida
    1 é p
  • Nor1 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
Write a Comment
User Comments (0)
About PowerShow.com