• Nenhum resultado encontrado

Jogos de Tabuleiro e Busca Competitiva

N/A
N/A
Protected

Academic year: 2021

Share "Jogos de Tabuleiro e Busca Competitiva"

Copied!
20
0
0

Texto

(1)

Fabr´ıcio Jailson Barth

BandTec

(2)

Sum´

ario

• Caracter´ısticas e Exemplos

• Hist´orico

• Arvore de busca´

• Avalia¸c˜ao Est´atica

• Algoritmo Min Max

• Poda Alpha Beta

• Quest˜oes pr´aticas

(3)

Caracter´ısticas e Exemplos

• S˜ao jogados por duas pessoas (agentes).

• Trata-se de uma competi¸c˜ao.

• N˜ao tem vari´avel aleat´oria.

(4)

Hist´

orico

• Shannon. Programming a Computer for Playing

Chess. 1950 : O uso do algoritmo Min Max no jogo

de Xadrez.

• · · ·

• Deep Blue Wins. 1996 e 1997.

(5)

´

Arvore de Busca para Jogos

• Estado inicial: tabuleiro na posi¸c˜ao inicial e jogador.

• Operadores: movimentos permitidos.

• Estados Objetivo: posi¸c˜oes vencedoras para o meu jogador no tabuleiro.

• Fun¸c˜ao de Utilidade: determina um valor para cada estado.

• Arvore de Busca´ : mostra todas as possibilidade de jogo.

(6)

• N˜ao estamos procurando por um caminho. Apenas

pelo pr´oximo movimento (espera-se que este

movimento me leve `a vit´oria).

• Meus melhores movimentos dependem dos

movimentos do meu advers´ario.

(7)

´

Arvore de Busca

Xadrez b = 36 d > 40 grande! Resultado b = Fator de ramificação Movimentos do oponente Meus movimentos d = Profundidade

(8)

´

Arvore de Busca Parcial para o Jogo da

Velha

(9)

Fun¸c˜

ao de Utilidade

Qual a melhor opção?

Pontuação

estado)

(Probabilidade de vencer a partir deste

(10)

Defini¸c˜

ao da fun¸c˜

ao de utilidade para o

xadrez

material = numeroP eao × 1 + · · · + numeroDama × 9 (1)

v1 = c1 × material (2) v2 = c2 × mobilidade (3) v3 = c3 × segurancaRei (4) v4 = c4 × controleCentro (5) v5 = · · · (6) U tilidade = n X i=0 vi (7)

(11)

• Muito fraco para predizer o sucesso final do jogo!

(12)

Olhar adiante + fun¸c˜

ao de utilidade

(

MinMax

)

P r o f u n d i d a d e 7 3 5 2 1 8 eval min max 3 1 7 7

(13)

Min-Max

chamada inicial MAX-VALUE(estado,max-p)

function MAX-VALUE(Estado estado, int p) if p==0 then return EVAL(estado) end if v = −∞ for s ∈ SUCESSORES(estado) do v = MAX(v,MIN-VALUE(s,p − 1)) end for return v

(14)

function MIN-VALUE(Estado estado, int p) if p==0 then return EVAL(estado) end if v = ∞ for s ∈ SUCESSORES(estado) do v = MIN(v,MAX-VALUE(s,p − 1)) end for return v

(15)

Desempenho x Profundidade

(16)

Deep Blue ' For¸ca Bruta

• 256 processadores dedicados.

• Examina em torno de 30 bilh˜oes de movimentos por

minuto.

• A profundidade geralmente ´e 13. No entanto, em

determinadas situa¸c˜oes, pode chegar at´e 30.

(17)

Min-Max α − β

chamada MAX-VALUE(estado,−∞,∞,max-p)

function MAX-VALUE(Estado estado, α, β, int p) if p==0 then return EVAL(estado) end if for s ∈ SUCESSORES(estado) do α = MAX(α,MIN-VALUE(s,α,β,p − 1)) if α ≥ β then return α //cutoff end if end for return α

(18)

function MIN-VALUE(Estado estado,α,β,int p) if p==0 then return EVAL(estado) end if for s ∈ SUCESSORES(estado) do β = MIN(β,MAX-VALUE(s,α,β,p − 1)) if β ≤ α then return β //cutoff end if end for return β

(19)

Exemplo α − β

7 1 MAX MIN 2 − 1000, 1000

(20)

Material de consulta

• Cap´ıtulo 6 do livro do Russell & Norvig.

• http://en.wikipedia.org/wiki/Minimax.

• MIT Open Course. 6.034 Artificial Intelligence.

• Game Theory - Stanford. www.game-theory-class.org

Referências

Documentos relacionados

Os dados obtidos na pesquisa refletem a situação atual das mulheres dos cursos da UFSC campus Araranguá e reforçam as hipóteses sobre os jogos digitais e de

ˆ se n˜ ao expandir os n´ os at´ e o ´ ultimo n´ıvel, pode utilizar a fun¸ c˜ ao utilidade que devolve o n´ umero de filas (linhas, colunas e diagonais) vazias para o MAX menos

No entanto, s˜ao as defini¸c˜oes de fun¸c˜oes dentro do h corpo i que permitem a defini¸c˜ao da estrutura de blocos num programa em Python: cada fun¸c˜ao definida no corpo de

O objetivo foi demonstrar as origens divinas e mundanas do jogo de tabuleiro, e assim entender que os jogos antigos não eram apenas percebidos como diversão, mas como uma

Logo, observou-se pela análise dos dados que o uso de jogos de tabuleiro como ferramenta pedagógica no processo de aquisição da leitura e escrita de crianças com

Nesse sentido, apresenta-se como objetivo: produzir uma oficina sobre a construção de jogos de tabuleiro para o ensino de Ciências nas séries finais do Ensino

Contra- riamente ao que a defini¸ c˜ ao possa revelar, a utilidade das fun¸ c˜ oes geradoras n˜ ao est´ a na constru¸c˜ ao da fun¸ c˜ ao geradora de uma dada sucess˜ ao

O produto gerado pelo presente trabalho contará com uma interface gráfica representando o tabuleiro e as peças do jogo de xadrez, bem como a execução dos movimentos de cada peça