Inteligência Artificial

Documentos relacionados
Fundamentos de Inteligência Artificial [5COP099]

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula VI Busca Competitiva

JOGOS JOGOS. Exemplo: xadrez. Vários tipos de jogos. Uma árvore de jogo. Raciocínio em jogo de xadrez?

Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall.

Jogos. Geralmente o oponente tentará, na medida do possível, fazer o movimento menos benéfico para o adversário.

Introdução à Inteligência Artificial. Procura em contextos competitivos jogos (cont.)

Árvore de Jogos Minimax e Poda Alfa-Beta

Busca competitiva. Inteligência Artificial. Profª. Solange O. Rezende

Inteligência Artificial. 3º Quadrimestre de 2018

Técnicas para Implementação de Jogos

Jogos com Oponentes. March 7, 2018

Sumário. Decisões óptimas em jogos (minimax) Cortes α-β Decisões imperfeitas em tempo real

Algoritmos de retrocesso

Algoritmos de retrocesso

Inteligência Artificial (SI 214) Aula 6 Busca com Adversário. Prof. Josenildo Silva

3. Resolução de problemas por meio de busca

Algoritmo Minimax Russel and Norvig, AIMA slides

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Aula 9 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02

Jogos e Busca. Silvio Lago

Implementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers. Jhonny Moreira

Alternativamente pode ser pensado como uma forma de maximizar o minimo ganho possível.

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial

Enunciados dos Exercícios Cap. 2 Russell & Norvig

INTELIGÊNCIA ARTIFICIAL 2008/09

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

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

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Jogo de Damas. Alunos: Sávio Mendes de Figueiredo Sômulo Nogueira Mafra

Jogos com Oponentes. Problemas de busca: não assumem a presença de um oponente

Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina

Jogos com Oponentes. Problemas de busca: não assumem a presença de um oponente

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

BCC204 - Teoria dos Grafos

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula I - Introdução

Exemplo de aprendizagem máquina

Inteligência Artificial

Introdução à Inteligência Artificial 2007/08

PMR Computação para Mecatrônica


Sistemas Baseados em Conhecimento

PCS Inteligência Artificial

Técnicas de Desenho de Algoritmos

Departamento de Ciência de Computadores - FCUP Primeiro Teste de Inteligência Artificial / Sistemas Inteligentes (Duração: 2 horas)

Teoria da Computação. Complexidade computacional classes de problemas

Algoritmos de busca local e problemas de otimização

Inteligência Artificial. Minimax. Xadrez chinês. Xadrez chinês. Exemplos de Jogos. Exemplo de função de avaliação: Prof. Paulo Martins Engel

Inteligência Computacional

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

Resolução de Problemas

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Redes Neurais (Inteligência Artificial)

Buscas Informadas ou Heurísticas - Parte II

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO GABARITO

3 Aprendizado por reforço

PCS Gabarito da 1a. lista

Romildo Martins da S Bezerra Julho 2001

Busca em Espaço de Estados a

XADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de

Aula 03 Métodos de busca sem informação

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução

Microsoft Faculty Connection

Gatos & Cães Simon Norton, 1970s

Busca com Adversários: Jogos. Maria Carolina Monard

Distribuição de Jogos por Ciclo

Computação I - Python Aula 1 - Teórica: Introdução

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Controle Ótimo - Aula 6 Exemplos e Exercícios

Inteligência Artificial - IA

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

livro das regras (provisório)

8 Experimentos. de pelo menos uma solução. 2 Na verdade, poderíamos definir uma função que retorna o conjunto de equilíbrios de

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

INF 1771 Inteligência Artificial

Uma forma de classificação

12 = JL (DE UMA A TRÊS CASAS EM QUALQUER DIREÇÃO, INCLUSIVE R1 PARA OS PEÕES)

REGRAS DOS JOGOS do CNJM15

Gatos & Cães Simon Norton, 1970s

Jogos - aula 2. Xadrez chinês. Exemplo de função de avaliação:

Cap. 4 Busca com Informações e Exploração. do livro de Russel e Norvig

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR

Técnicas de Projeto de Algoritmos

J2 Velha. Uma Implementação Java do Jogo da Velha Utilizando o Algoritmo MiniMax. Universidade Federal do ABC ufabc. André Filipe de Moraes Batista

Resolução de problemas por meio de busca. Inteligência Artificial. Busca. Exemplo: Romênia. Exemplo: Romênia 8/23/2010

Métodos de Busca. Estratégias de Busca Cega

Inteligência Artificial Agentes Inteligentes

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Inteligência Artificial

JOGOS LIVRO REGRAS M AT E M Á T I CO S. 11.º Campeonato Nacional

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Transcrição:

Inteligência rtificial usca ompetitiva Jogos usca ompetitiva Num ambiente multiagente, é necessário considerar as ações de outros agentes e o modo como essas ações nos afetam. imprevisibilidade de outros agentes pode introduzir contingências no processo de resolução de problema. Em ambientes competitivos, as metas dos agentes estão em conflito, dando origem a problemas de busca competitiva, onde se enquadram os jogos. 2

Jogos em I Em I, os jogos são determinísticos, de revezamento de dois jogadores, com informações perfeitas. posição (favorável ou desfavorável) de um jogador num determinado instante (estado) do jogo pode ser medida por uma função de utilidade. Os valores de utilidade dos agentes no fim do jogo são iguais e opostos (simétricos): +1 (ganha), ou 1 (perde). O objetivo da busca competitiva é planejar com antecedência num mundo em que outros agentes estão fazendo planos contra nós. 3 Jogos Entre os primeiros domínios de aplicação, pois: - É fácil representar o estado de um jogo. - Em geral, os agentes estão restritos a um pequeno número de ações com resultados definidos por regras precisas. - onstituem uma tarefa estruturada em que é fácil medir o sucesso ou fracasso. - Supunha-se que os jogos podiam ser solucionados por uma busca direta do estado inicial para a posição vencedora, sem grandes quantidades de conhecimento. Exceção aos jogos simulados: O futebol de robôs é um jogo físico, com descrições muito mais complicadas envolvendo ações bastante imprecisas. 4

Jogos Por volta de 1950, o xadrez foi estudado por Konrad Zuse, laude Shannon, Norbert Wiener e lan Turing. tualmente, as máquinas ultrapassaram os seres humanos nos jogos de damas e Othello, derrotaram campeões do mundo (embora não todas as vezes) em xadrez (eep lue Kasparov 1997) e gamão, e são competitivas em muitos outros jogos. amas: rthur Samuel (IM) desenvolveu um programa que aprendia a sua própria função de avaliação, derrotando o campeão humano em 1962 (graças a um erro de Robert Nealy). O programa hinahook (Jonathan Schaeffer) se tornou campeão mundial em 1994. principal exceção é Go, em que os computadores se enquadram no nível amador. 5 Exemplo: xadrez Fator médio de ramificação: 35 Número médio de jogadas: 50 para cada jogador. ssim, a árvore completa de busca de um jogo terá aproximadamente 35 100 ou 10 154 nós. Portanto, uma busca cega é inviável, mesmo para realizar o primeiro movimento. Se deve fazer o melhor uso possível do tempo disponível para uma jogada: tomar alguma decisão, mesmo que a jogada ótima não seja determinada em tempo. 6

I lgoritmo mais usado em jogos com dois jogadores, chamados e. faz o primeiro movimento, e depois eles se revezam até o jogo terminar. Um jogo como problema de busca com os componentes: Estado inicial: posição do tabuleiro, identifica jogador que fará o movimento. Função sucessor: retorna lista de pares (movimento, estado). Teste de término: determina quando o jogo termina (estados terminais) Função utilidade (ou objetivo): dá valor numérico aos estados terminais. No xadrez: +1 (vitória), 0 (empate), 1 (derrota). 7 Uma árvore de busca do jogo da velha (X) X X X X X X X X X (o) X O X O X O... (X) (o) TERL X X O X X O X X O X............... O X O X O X O X O O X X X O X O X X X O O Utilidade 1 0 +1 Jogo da velha: 765 posições diferentes 26.830 jogos distintos 138 estados terminais: 91 (+1, X) 44 ( 1, O) 3 empates (0) 8

I I é uma estratégia de contingência para que especifica o movimento de de modo a otimizar o valor de utilidade, quando está enfrentando um oponente com estratégia ótima. estratégia ótima é determinada pelo exame do valor minimax de cada nó n: valor-minimax(n). O valor minimax de um nó é a utilidade (para ) de se encontrar naquele estado, supondo-se que ambos os jogadores têm desempenho ótimo. O valor minimax é obtido, recursivamente, pela propagação dos valores dos nós sucessores: valor minimax( n) utilidade( n), max s sucessores min s sucessores valor minimax( s), valor minimax( s), se n é um estado terminal se n é um nó se n é um nó 9 Uma árvore de jogo Árvore com 3 jogadas (,, ) Um movimento são 2 jogadas:, E F G H I J N 10

plicando uma função de avaliação nos nós folhas E F G H I J N (2) (10) (5) (3) (7) (2) (5) função de avaliação é em relação ao jogador de maximização 11 Propagando as avaliações 10 E F G 3 7 5 H I J N (2) (10) (5) (3) (7) (2) (5) 12

Propagando as avaliações 3 5 10 E F G 3 7 5 H I J N (2) (10) (5) (3) (7) (2) (5) 13 Propagando as avaliações e decisão minimax 5 a 1 a 2 3 5 b 1 b 2 c 1 c 2 10 E F G 3 7 5 d 1 d d 3 2 e 1 f 1 g 1 g 2 H I J N (2) (10) (5) (3) (7) (2) (5) jogada seria de para ecisão minimax: ação a 1 14

lgoritmo Minimax função EISÃO-I(estado) retorna uma ação entradas: estado, estado corrente no jogo v VLOR-(estado) retornar a ação em SUESSORES(estado) comvalorv função VLOR-(estado) retorna um valor de utilidade se TESTE-TERL(estado) então retornar UTILIE(estado) v para cada s em SUESSORES(estado) faça v (v, VLOR-(s)) retornar v função VLOR-(estado) retorna um valor de utilidade se TESTE-TERL(estado) então retornar UTILIE(estado) v para cada s em SUESSORES(estado) faça v (v, VLOR-(s)) retornar v 15 lgoritmo Minimax O algoritmo minimax calcula a decisão minimax a partir do estado corrente. Utiliza a computação recursiva dos valores minimax de cada estado sucessor. Percorre inicialmente todo o caminho até as folhas e depois propaga os valores minimax de volta pela árvore, à medida que a recursão retorna. O algoritmo minimax executa uma exploração completa da árvore de jogo fazendo uma busca em profundidade. Seaprofundidademáximadaárvoreém eexistemb movimentos válidos em cada ponto, a complexidade de tempo do algoritmo é O(b m ). complexidade de espaço é O(bm) para um algoritmo que gera todos os sucessores de uma vez. Na busca com retrocesso, apenas um sucessor é gerado por vez. ada nó expandido memoriza apenas o sucessor que deve ser gerado em seguida. Neste caso, a complexidade de espaço é O(m). 16

lgoritmo Minimax (com avaliação) função EISÃO-I(estado, profundidade) retorna uma ação entradas: estado, estado corrente no jogo; profundidade corrente v VLOR-(estado) retornar a ação em SUESSORES(estado) com valor v função VLOR-(estado) retorna um valor de avaliação se TESTE-PR(estado, profundidade) então retornar VL(estado) v para cada s em SUESSORES(estado) faça v (v, VLOR-(s)) retornar v função VLOR-(estado) retorna um valor de avaliação se TESTE-PR(estado, profundidade) então retornar VL(estado) v para cada s em SUESSORES(estado) faça v (v, VLOR-(s)) retornar v TESTE-TERL(estado) TESTE-PR(estado, profundidade) UTILIE(estado) VL(estado) 17 lgoritmo Minimax GERMOV (posição, jogador) - gera todas as jogadas válidas a partir da situação do jogo definida por posição e considerando que a jogada atual é de jogador. ESTÁTI (posição, jogador) - retorna um valor que quantifica o estado atual das peças do jogo. função de avaliação é em relação ao jogador que faria a jogada Quanto maior o valor melhor a situação PROFUNO_SUFIIENTE (posição, profundidade) - pode considerar vários fatores: número de níveis na árvore um jogador ganhou quão promissor é o caminho quanto tempo ainda há disponível para a jogada 18

I (POSIÇÃO, PROFUNIE, JOGOR) 1- se PROFUNO_SUFIIENTE (POSIÇÃO, PROFUNIE) então retorna estrutura: VLOR ESTÁTI (POSIÇÃO, JOGOR) HO nil senão SUESSORES GERMOV (POSIÇÃO, JOGOR) fim_se 2- se SUESSORES = então retorna estrutura: VLOR ESTÁTI (POSIÇÃO, JOGOR) HO nil senão MELHOR_ONTGEM VLOR MÍNIMO E ESTÁTI (X,Y) para cada elemento SU de SUESSORES faça: RESULTO_SU I(SU,PROFUNIE+1,OPOSTO(JOGOR)) NOVO_VLOR - VLOR.RESULTO_SU se NOVO_VLOR > MELHOR_ONTGEM então MELHOR_ONTGEM NOVO_VLOR MELHOR_HO SU + HO.RESULTO_SU fim_se fim_paracada fim_se 3- retorna estrutura: VLOR MELHOR_ONTGEM HO MELHOR_HO 19 Poda lfa-eta Um aperfeiçoamento do algoritmo minimax corresponde a não pesquisar um ramo da árvore que comprovadamente não pode levar a um resultado melhor que o atual. : o valor da melhor escolha (mais alto), até o momento, ao longo do caminho para. : o valor da melhor escolha (mais baixo), até o momento, ao longo do caminho para. 20

usca em profundidade intervalo de valores de avaliação possíveis [, + ] (, v)? [, + ] 3 21 [, + ] [, 3] 3 22

[, + ]? [, 3] 3 12 23 [, + ] [, 3] 3 12 24

[, + ]? [, 3] 3 12 8 último sucessor 25 (, v)? [, + ] v =3 [3, 3] 3 12 8 26

: o valor da melhor escolha (mais alto), até o momento, ao longo do caminho para. =3 [3, + ] [3, 3] 3 12 8 27 [3, + ] [3, 3] (, v)? [, + ] 3 12 8 2 28

onclusão: o caminho será sempre pior que [3, + ] v? [3, 3] [, 2] 3 12 8 2 Interrompe a busca deste ramo 29 [3, + ] [3, 3] [, 2]? [, + ] 3 12 8 2 14 30

? (, v) [3, + ] [3, 3] [, 2] [, 14] 3 12 8 2 14 31 : o valor da melhor escolha (mais alto), até o momento, ao longo do caminho para. [3, 14] [3, 3] [, 2] [, 14] 3 12 8 2 14 32

[3, 14] [3, 3] [, 2]? [, 14] 3 12 8 2 14 5 33? [3, 14] [3, 3] [, 2] [, 5] 3 12 8 2 14 5 34

[3, 5] [3, 3] [, 2] [, 5] 3 12 8 2 14 5 35 [3, 5] [3, 3] [, 2]? [, 5] 3 12 8 2 14 5 2 36

? [3, 5] [3, 3] [, 2] v? [2, 2] 3 12 8 2 14 5 2 37 Escolhe o ramo com o maior valor. [3, 3] [3, 3] [, 2] [2, 2] 3 12 8 2 14 5 2 38

função US-LF-ET (estado) retorna uma ação entradas: estado, estado corrente no jogo v VLOR-(estado,, + ) retornar a ação em SUESSORES(estado) comvalorv função VLOR- (estado,, ) retorna um valor de utilidade entradas: estado, estado corrente no jogo, valor da melhor alternativa para ao longo do caminho até estado, valor da melhor alternativa para ao longo do caminho até estado se TESTE-TERL(estado) então retornar UTILIE(estado) v para cada s em SUESSORES(estado) faça v (v, VLOR-(s,, )) se v então retornar v (, v) retornar v função VLOR- (estado,, ) retorna um valor de utilidade entradas: estado, estado corrente no jogo, valor da melhor alternativa para ao longo do caminho até estado, valor da melhor alternativa para ao longo do caminho até estado se TESTE-TERL(estado) então retornar UTILIE(estado) v + para cada s em SUESSORES(estado) faça v (v, VLOR-(s,, )) se v então retornar v (, v) retornar v Poda alfa-beta 39 usca lfa-eta 40

Refinamentos adicionais [RI 94] Esperando por quietude: não parar a busca no meio de uma troca de peças, por exemplo usca secundária: após decidir qual o melhor movimento, investigar este movimento 2 jogadas além do verificado inicialmente, para ter certeza que não há uma armadilha Usar movimentos de livros: por exemplo, aberturas e encerramentos 41 Tabela de transposição Estados repetidos na árvore de busca podem causar um aumento exponencial no custo da busca. Em jogos, estados repetidos ocorrem frequentemente devido a transposições, permutações diferentes da mesma sequencia que terminam na mesma posição. rmazena-se a avaliação da posição final que pode ser alcançada por diferentes configurações iniciais, numa tabela hash, na primeira vez em que ela for encontrada, de forma a não recalculá-la em ocorrências subsequentes. tabela hash de posições já vistas é chamada de tabela de transposição. omo não é prático manter todos os nós já avaliados na tabela de transposição, existem diversas estratégias para escolher os mais importantes. O efeito do uso da tabela de transposição é bastante importante, chegando a duplicar a profundidade da busca. 42

profundamento progressivo Procedimento usado para evitar o problema de jogar com tempo definido ase: encontrar a melhor solução com profundidade 1, depois com profundidade 2 e assim sucessivamente. o terminar o tempo disponível, apresenta-se a melhor solução encontrada até o momento. om o aprofundamento progressivo pode-se determinar a variação principal corrente, que é a sequencia de movimentos mais vantajosa, assumindo que cada jogador maximize as suas jogadas. lgoritmos de busca como o Negascout, otimizam a poda investigando inicialmente nós que estão na variação principal. 43 profundamento progressivo max +4 max +4 +1-2 +4 min +1-2 +4 +1 +2-2 +4 +5 max +4 min +1-2 +4 max +1 +2-2 +4 +5 +1-3 +2-3 -2 +4 +5 variação principal 44

Problemas do Minimax aseia-se fortemente em que o oponente escolherá sempre o melhor movimento aceitável em situação de vitória em situação de derrota pode ser melhor arriscar que o oponente cometerá um erro 45 Função de valiação Retorna uma estimativa da utilidade a partir da posição. eve ordenar os estados terminais do mesmo modo que a função utilidade verdadeira. Nos estados não-terminais, a função de avaliação deve estar fortemente correlacionada com as chances reais de vitória. maiorias das funções calcula características do estado. s características em conjunto definem categorias de estados equivalentes, com uma distribuição de resultados esperados: 72% dos estados levam a vitória (+1); 20% derrota ( 1); 8% empate (0). valiação dos estados da categoria é dada pelo valor esperado: (0,72 +1) + (0,20 1) + (0,08 0) = 0,52 46

Função de valiação Em vez de definir muitas categorias de estados, que exigiria muita estimação das distribuições de resultados, a maioria das funções calcula separadamente diversas características do estado, f i (s). grupa estas características por uma função linear ponderada: n 1 f1( s) w2 f2( s) wn fn( s) wi fi ( s) i 1 VL( s) w No xadrez f i (s) poderia representar o número de peças i (peão, cavalo, etc.) ou ainda: domínio do centro, mobilidade, etc w i é o peso da característica i e pode ser ajustado por aprendizado Ex. xadrez: peão (1), cavalo (3), bispo (3), torre (5), rainha (9) Em muitos programas, a função de avaliação é não-linear, para refletir dependência de peças (dois bispos valem um pouco mais que um bispo). 47 lguns jogos específicos Os melhores programas de jogos jogam, em geral, muito bem, mas eles utilizam técnicas bastante diferentes das técnicas humanas: Nós determinamos as melhores posições a analisar por um processo de identificação de estruturas (pattern matching), que é um processo realizado em paralelo exploração de um conjunto de jogadas possíveis, como realizado pelo computador, não é paralelizável 48

usca e onhecimento usca Minimax orte lfa-eta Ordenação Tabela de Transposição Velocidade do ódigo Forward Pruning Extensões de usca Pensar na Vez do Oponente onhecimento Função de valiação anco de ados Livro de bertura 49 usca versus onhecimento 50

profundando a usca umentar tempo de busca umentar a capacidade do hardware Otimizar o código do programa Pensar na vez do oponente orte alfa-beta Ordenação da árvore Tabela de Transposição 51 Tabela de Transposição Funciona como uma cache de posições já analisadas. Utilizada para ordenar a árvore. Reutiliza escores. Utilizada para fazer o computador pensar na vez do adversário. Redução de ~40% no tamanho da árvore. esempenho aumenta conforme a profundidade da busca. 52

Forward Prunning Ignora certos movimentos possíveis Humanos fazem isso inconscientemente Não há garantias de que a melhor jogada não será excluída Interessante para movimentos simétricos 53 ortes do Espaço de usca Minimax mesmo c/ lpha eta Prunning não é factível para jogos complexos Solução: Parar a busca antes de chegar ao final Função de valiação (Evaluation Function): fornece uma estimativa da utilidade daquele estado (Heurística) Teste de Parada (utoff Test): decide quando parar a busca 54

Pensar na vez do oponente plica diversas técnicas para melhorar a busca enquanto o oponente pensa (ou processa) vança na busca para evitar armadilhas cessa banco de jogada Recalcular 55 Problemas na usca Teste de Parada função de avaliação somente deve ser aplicada a estados que não vão sofrer mudanças bruscas de valor Quiescence Search Efeito Horizonte: Não previsão de jogada catastrófica que vai acontecer inevitavelmente em um futuro próximo, fora do horizonte de busca 56 56

itboards Utilizado largamente. Permite operações lógicas entre tabuleiros. Funções para descobrir captura e mobilidade de peças são mais velozes. Pré-cálculo de tabelas de bitboards. 57 Estado da rte de lguns Jogos Xadrez eep lue bateu Kasparov em 1997 Máquina paralela: 30 RS/6000 + 480 ustom 126 Milhões de nodos/s (330 Max) = média 14 níveis om uso de Extensions podia chegar a 40 níveis lpha-eta c/ função de avaliação com 8000 features anco de dados com 4000 aberturas e todos os fechamentos possíveis p/ 5 peças (muitos p/ 6) nálise de 700.000 jogos (consensus) Hardware x Software : qual é mais importante? 58

Estado da rte de lguns Jogos amas Em 1952 rthur Samuel (IM) fez um dos primeiros programas Função de avaliação aprendida em jogos consigo mesmo hinook (Vice-ampeão US-Open em 1990) lpha-eta Search anco com 444 bilhões de posições (<8 peças) om o uso de bancos de posições, uma pequena busca leva a um resultado já resolvido 59 Estado da rte de lguns Jogos Othello (Reversi) Espaço de busca: 5 a 15 movimentos Logistello (1997) 6 x 0 ampeão Mundial omputadores são melhores que humanos 60

Estado da rte de lguns Jogos Go té 1997 não existiam programas bons Hoje em dia, são melhores Go4++ (nível amador fraco) Reconhecimento de padrões + pequena busca Programas irão requerer técnicas mais sofisticadas de tomada de decisão 61 Estado da rte de lguns Jogos Gamão Incerteza faz com que técnicas de busca não sejam satisfatórias Esforço na construção de funções de avaliação sofisticadas T-Gammon está entre os 3 melhores do mundo prendizado por reforço Redes Neurais usca de 2 a 3 níveis 62

Estado da rte de lguns Jogos ridge ifícil para computadores Parcialmente Observável artas escondidas lefes omunicação ridge aron (1997) GI (2000) 12o lugar em 35 contra humanos 63 anco de ados de Fim de Jogo aracterísticas ontém informação perfeita. Pode ser atingido mesmo em posições da abertura. Indispensável para a construção de um jogo de damas. onstruído com o algoritmo de análise retroativa. Vantagens Proporciona cortes na busca. Melhora a qualidade da estimativa. Garante vitórias ou empates em finais de partidas. Mestres humanos memorizam finais de até 5 peças. Eventualmente será responsável pela resolução do jogo de damas. 64