Algoritmos de retrocesso

Documentos relacionados
Técnicas de Desenho de Algoritmos

INTELIGÊNCIA ARTIFICIAL 2008/09

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

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

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

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

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

Árvore de Jogos Minimax e Poda Alfa-Beta

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

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

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

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

Técnicas para Implementação de Jogos

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

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

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

PROCURA E PLANEAMENTO

INTELIGÊNCIA ARTIFICIAL

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

Algoritmos de busca local e problemas de otimização

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial

a) Defina em Prolog iguais/1, um predicado que recebe um estado do jogo e que verifica que todas as pilhas têm o mesmo número de peças.

Backtracking. Backtracking

Exemplo de aprendizagem máquina

Jogos e Busca. Silvio Lago

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

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Semáforo Autor: Alan Parr. Avanço Autor: Dan Troyka, Material Um tabuleiro quadrado 7 por peças brancas e 14 peças negras.

Inteligência Artificial Taguspark

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Romildo Martins da S Bezerra Julho 2001

PCS Gabarito da 1a. lista

CEFET/RJ Inteligência Artificial (2017.2) Professor: Eduardo Bezerra Lista de exercícios 03

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

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

Sistemas Baseados em Conhecimento

Inteligência Artificial

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

INTRODUÇÃO A BUSCA EXERCÍCIOS

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

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15

Inteligência Artificial Projecto 1

Recursividade Exaustiva e Backtracking

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

Jogos em Teoria dos Jogos e em

Otimização Combinatória - Parte 4

Técnicas Inteligência Artificial

Gatos & Cães Simon Norton, 1970s

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

Busca com Adversários: Jogos. Maria Carolina Monard

Distribuição de Jogos por Ciclo

INF 1010 Estruturas de Dados Avançadas

BCC204 - Teoria dos Grafos

lnteligência Artificial

Aprendizado por Reforço

Divisão e conquista. Eficiência de divisão e conquista

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

Projecto de Algoritmos e Estruturas de Dados

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

Backtracking. Túlio Toffolo Marco Antônio Carvalho BCC402 Aula 10 Algoritmos e Programação Avançada

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.4 e 3.5

Gatos & Cães Simon Norton, 1970s

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

Artifical (utilizando o Jogo da Velha)

INTELIGÊNCIA ARTIFICIAL

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

Lista de Prioridades. Estrutura de Dados II Prof. Erinaldo

INF 1771 Inteligência Artificial

FICHA DE REVISÕES Micro 1

Aula 5. Apontamentos Teórico-Práticos de Algoritmia Avançada LEI/ISEP Métodos de Pesquisa Carlos Ramos 60

Acesso Sequencial Indexado

Árvores B. Definição: Seja t a ordem da árvore B. Uma árvore B de ordem t é uma árvore ordenada que é vazia, ou que satisfaz as seguintes condições:

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

REGRAS DOS JOGOS do CNJM15

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Transcrição:

Algoritmos de retrocesso Algoritmos em que se geram escolhas que vão sendo testadas e eventualmente refeitas Problemas para os quais não existem algoritmos eficientes: retrocesso é melhor que pesquisa exaustiva solução é gerada e avaliada parcialmente quando uma solução parcial não satisfaz objectivos, retrocesso apenas desfaz última escolha evita-se a pesquisa em ramos que garantidamente não levam a solução - poda da árvore de pesquisa : arranjo da mobília numa casa grande número de possibilidades cada peça de mobília é colocada, solução é arranjo satisfatório chegando a ponto onde qualquer arranjo é inconveniente, desfaz-se o último passo e tenta-se alternativa muitos arranjos nunca são testados Problema da portagem Dados: n pontos p1, p2,..., pn situados no eixo dos xx xi é a coordenada x de pi x1= 0 determinam n (n-1)/2 distâncias d1, d2,..., dm da forma xi - xj Distâncias podem ser geradas em tempo O(n 2 ) Problema inverso: coordenadas dos pontos a partir das distâncias: mais difícil Não há algoritmo garantido como polinomial para o problema D - conjunto das distâncias D = m = n (n-1) / 2 Algoritmo que se segue: O(n 2 log n) - é conjectura Cristina Ribeiro Retrocesso - 1

D= {1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 7, 8, 10} D = 15 -> n = 6 x1 = 0, x6 = 10 x1 = 0 x6 = 10 D= {1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 7, 8} maior distância: 8 então x2 = 2 ou x5 = 8 (escolha é indiferente) x1 = 0 x5 = 8 x6 = 10 D= {1, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 7} 7 - maior valor em D -> x4 = 7 ou x2 = 3 x4 = 7 x2 = 3 distâncias x6-7 = 3 e x5-7 = 1 estão em D distâncias 3-x1 = 3 e x5-3 = 5 estão em D x1 = 0 x4 = 7 x5 = 8 x6 = 10 D= {2, 2, 3, 3, 4, 5, 5, 5, 6} 6 - maior valor em D -> x3 = 6 ou x2 = 4 x3 = 6 distância x4 - x3 = 1 impossível, já não existe 1 em D x2 = 4 distâncias x2-x1 = 4 e x5 - x2 = 4 impossível, só 1 vez 4 em D É preciso retroceder! Cristina Ribeiro Retrocesso - 2

x4 = 7 não conduziu a solução tenta-se agora x2 = 3 x1 = 0 x2 = 3 x5 = 8 x6 = 10 D= {1, 2, 2, 3, 3, 4, 5, 5, 6} 6 - maior valor em D -> x4 = 6 ou x3 = 4 x3 = 4 impossível, só 1 vez 4 em D x1 = 0 x2 = 3 x4 = 6 x5 = 8 x6 = 10 D= {1, 2, 3, 5, 5} x1 = 0 x2 = 3 x3 = 5 x4 = 6 x5 = 8 x6 = 10 D = { } x 1 =0, x 5 =10 x 5 =8 Árvore de decisão x ** 4 =7 x 2 =3 * * x 3 =6 x 2 =4 x 3 =4 x 4 =6 x 3 =5 Cristina Ribeiro Retrocesso - 3

Na ausência de retrocesso Análise D pode ser mantido como árvore de pequisa equilibrada O(n 2 ) operações em D remoção: D tem O(n 2 ) elementos, não há reinserções, total é O(n 2 ) pesquisa: 1 tentativa de colocação faz no máximo 2n, total é O(n 2 ) Tempo total é O(n 2 log n) Com retrocesso: perde-se eficiência não existe limite polinomial para o retrocesso requerido não estão identificados exemplos patológicos com pontos de coordenadas inteiras e distribuídas uniformemente, conjectura é que retrocesso não ocorre mais que O(1) Jogos Como jogar automaticamente um jogo estratégico? : jogo do galo pode construir-se algoritmo que nunca perde e aproveita oportunidades para ganhar posições críticas armazenadas em tabela escolha de jogada baseada na posição corrente usando uma tabela... todo a análise do jogo feita pelo programador Em geral, em jogos não triviais não é possível dispor de decisões para todos os caminhos a partir de uma posição é preciso recomputar a cada jogada é impraticável explorar todas as hipóteses Cristina Ribeiro Retrocesso - 4

imax Estratégia minimax função de avaliação da qualidade de uma posição 1 se posição de vitória 0 se é empate -1 se é para perder se se pode fazer avaliação por inspecção do tabuleiro: posição terminal posição não terminal: valor é determinado assumindo recursivamente jogadas óptimas de ambos os lados Um jogador tenta minimizar e o outro maximizar o valor da posição Para posição P: Se é a minha vez de jogar avalio recursivamente as posições sucessoras Ps, escolhendo o valor maior; ao avaliar Ps as suas sucessoras são avaliadas e o menor valor é escolhido (caso mais favorável para o oponente) Pesquisa com limite de profundidade Em jogos complexos: inviável pesquisar todos os nós terminais para avaliar a posição parar a determinada profundidade nós onde pára a recursão tratados como nós terminais função de estimativa para avaliar nós terminais Ex: xadrez - avaliar peças e suas posições Para aumentar o factor de previsão - métodos que avaliam menos nós e não perdem informação sobre posições já avaliadas X X O X X O X X O X O X...... tabela de transposição Cristina Ribeiro Retrocesso - 5

Árvore do jogo Estrutura da pesquisa de posições (nós) e valores das avaliações 44 44 44 68 27 44 68 C 42 27 86 44 68 73 42 25 27 7 72 86 9 44 50 68 73 A Cortes α β 44 Estrutura da pesquisa de posições (nós) e valores das avaliações 40 40 D 40 27 73 40 27 B 73 23 30 40 19 27 Cristina Ribeiro Retrocesso - 6

Corte α 44 44 40 40 D? Valor em D não pode aumentar resultado na raiz: o seu nó pai é min e tem valor garantidamente inferior ao conseguido na raiz até ao momento Corte β 44 44 68 68 D? Valor em C não pode aumentar resultado na raiz: nó pai é max e tem valor garantidamente superior ao conseguido na raiz até ao momento Cristina Ribeiro Retrocesso - 7