• Nenhum resultado encontrado

Jogos com Oponentes. espaço de busca muito grande tempo para cada jogada

N/A
N/A
Protected

Academic year: 2021

Share "Jogos com Oponentes. espaço de busca muito grande tempo para cada jogada"

Copied!
11
0
0

Texto

(1)

Jogos com Oponentes

(2)

Jogos com Oponentes

ˆ Problemas de busca: n˜ ao assumem a presen¸ ca de um oponente

ˆ Jogos: oponente → INCERTEZA!

ˆ Incerteza porque n˜ ao se conhece as jogadas exatas do oponente e n˜ ao por causa de falta de informa¸ c˜ ao.

ˆ Jogos s˜ ao diferentes de busca por duas raz˜ oes principais:

I

espa¸ co de busca muito grande

I

tempo para cada jogada

ˆ Ex: xadrez, em m´ edia fator de ramifica¸ c˜ ao = 35

ˆ em m´ edia, 50 jogadas para cada jogador, onde de cada

jogada devemos selecionar 1 de 35 → 35 100 n´ os!!!

(3)

Jogos

ˆ Um jogo pode ser definido como um tipo de problema de busca com os seguintes componentes:

I

estado inicial: configura¸ c˜ ao do tabuleiro e indica¸ c˜ ao de quem ´ e a vez

I

fun¸ c˜ ao para gerar os sucessores: retorna uma lista de sucessores para a jogada corrente

I

teste de termina¸ c˜ ao

I

Fun¸ c˜ ao utilidade (utility function) que devolve o valor num´ erico do jogo. Ex: ganhou, empatou, perdeu.

I

dependendo do tamanho do espa¸ co de procura: limite de profundidade

ˆ Jogo com dois jogadores: MIN e MAX

ˆ MAX inicia o jogo

(4)

Exemplo: jogo do galo

(velha - BR ou tic-tac-toe - US ou noughts and crosses - UK)

X X X X

X X X

X X

X X

O O X O

O X O X O

X

. . . . . . . . . . . . . . . . . .

. . . X

X

–1 0 +1

X X XOX

XOX XOX O O X XOX

O O

O O X X

MAX (

X

)

MIN (

O

)

MAX (

X

)

MIN (

O

)

TERMINAL

Utility

(5)

Exemplo: jogo do galo (fonte: Nilsson)

(6)

Observa¸ c˜ oes

Observa¸c˜ oes:

ˆ fator de ramifica¸ c˜ ao dos n´ os mais pr´ oximos da raiz pode ser reduzido removendo estados sim´ etricos

ˆ fator de ramifica¸ c˜ ao dos n´ os mais profundos da ´ arvore de procura vai automaticamente sendo reduzido (sem

necessidade de verifica¸ c˜ ao de simetrias, porque o n´ umero de posi¸ c˜ oes vagas no tabuleiro diminui)

ˆ se expandir todos os n´ os at´ e o ´ ultimo n´ıvel da ´ arvore, a fun¸ c˜ ao utilidade pode ser: 0 para empate, -1 para perdeu e +1 para ganhou

ˆ 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 o n´ umero

de filas vazias para o MIN.

(7)

Jogos: Minimax

MINIMAX-VALUE(n) =

U T ILIT Y (n) if n is a terminal state

max s∈successors(n) MINIMAX-VALUE(s) if n is a MAX node

min s∈successors(n) MINIMAX-VALUE(s) if n is a MIN node

(8)

Jogos: Algoritmo Minimax

functionMINIMAX DECISION(state): returns an action inputs: state→estado corrente no jogo

v←MAX-VALUE(state)

returnthe action in SUCCESSORS(state) with value v functionMAX-VALUE(state) returns a utility value ifTERMINAL TEST(state)then

returnUTILITY(state) end if

v←-infinito

fors in SUCCESSORS(state)do v←MAX(v, MIN-VALUE(s)) end for

returnv

functionMIN-VALUE(state) returns a utility value ifTERMINAL TEST(state)then

returnUTILITY(state) end if

v←infinito

fors in SUCCESSORS(state)do v←MIN(v, MAX-VALUE(s)) end for

returnv

(9)

Jogos: Algoritmo Alfa-Beta

functionALPHA-BETA-SEARCH(state): returns an action inputs: state→estado corrente no jogo

v←MAX-VALUE(state,-inf,+inf)

returnthe action in SUCCESSORS(state) with value v functionMAX-VALUE(state,alfa,beta) returns a utility value

inputs: state, alfa→melhor alternativa para MAX, beta→melhor alternativa para MIN ifTERMINAL TEST(state)then

returnUTILITY(state) end if

v←-infinito

fors in SUCCESSORS(state)do v←MAX(v, MIN-VALUE(s,alfa,beta))

if(v>= beta )then

returnv // momento da poda end if

alfa←MAX(alfa,v) end for

returnv

functionMIN-VALUE(state,alfa,beta) returns a utility value ifTERMINAL TEST(state)then

returnUTILITY(state) end if

v←+infinito

fors in SUCCESSORS(state)do v←MIN(v, MAX-VALUE(s,alfa,beta))

if(v<= alfa )then

returnv // momento da poda end if

beta←MIN(beta,v) end for

returnv

(10)

Exemplo: jogos com m´ ultiplos jogadores (fonte:

Russell)

to move A

B C A

(1, 2, 6) (4, 2, 3) (6, 1, 2) (7, 4,1) (5,1,1) (1, 5, 2) (7, 7,1) (5, 4, 5)

(1, 2, 6) (6, 1, 2) (1, 5, 2) (5, 4, 5)

(1, 2, 6) (1, 5, 2)

(1, 2, 6)

X

(11)

Exemplo: jogos com m´ ultiplos jogadores

Observa¸c˜ oes:

ˆ representa¸c˜ ao de valores para cada jogador em forma de vetor (tuplas), onde cada elemento indica a fun¸ c˜ ao utilidade para um jogador, na ordem de jogada

ˆ algoritmo aplicado similar ao minimax

ˆ complica¸c˜ oes:

I

mudan¸ cas dinˆ amicas de estrat´ egia durante o jogo quando acontecem alian¸ cas entre jogadores para derrubar o jogador mais forte e mais tarde estas alian¸ cas desaparecem (jogo flutua entre coopera¸ c˜ ao e competi¸ c˜ ao)

I

quando no jogo ´ e introduzido algum fator aleat´ orio (jogos

com utiliza¸ c˜ ao de dados, por exemplo)

Referências

Documentos relacionados

§ 1º Ao cursar a quarta e última disciplina de Estágio Curricular Supervisionado, será acrescido ao processo de avaliação a elaboração de trabalho final em forma

[r]

17.2 O licitante que, convocado no prazo de 05 (cinco) dias úteis, não celebrar o contrato, deixar de entregar ou apresentar documentação falsa exigida para o

Ocorreu aumento significativo da produção de matéria seca da braquiária no tratamento com calcário + gesso + guandu/ feijão de porco, em relação aos tratamentos calcário + gesso

São por demais conhecidas as dificuldades de se incorporar a Amazônia à dinâmica de desenvolvimento nacional, ora por culpa do modelo estabelecido, ora pela falta de tecnologia ou

Visitando: Londres, Stratford-Upon-Avon, Chester, Liverpool, Windermere, Glasglow, Loch Lomond, Loch Ness, Inverness, Aviemre, Edimburgo, Durham, York e Cambrigde.. Roteiro

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla