Seminário Resolvendo o problema das N-Rainhas
description
Transcript of Seminário Resolvendo o problema das N-Rainhas
SeminárioResolvendo o problema das N-Rainhas
1º semestre de 2.011Universidade Estadual de
Campinas
Vitor Salvucci RicciRA: 083052
MC 906 – Inteligência Artificial
Seminário Resolvendo o problema das N-rainhas
Roteiro
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Roteiro
Apresentação do problema
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Roteiro
Apresentação do problema
Táticas para a resolução
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Roteiro
Apresentação do problema
Táticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Apresentação do problema
Seminário Resolvendo o problema das N-rainhas
Enunciado
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
O problema consiste em dispor N rainhas em um tabuleiro N x N, de tal modo que nenhuma rainha ataque outra, seguindo as regras do xadrez.
Enunciado
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
O problema consiste em dispor N rainhas em um tabuleiro N x N, de tal modo que nenhuma rainha ataque outra, seguindo as regras do xadrez.
Enunciado
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Um exemplo de solução para N=5
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
História
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
História
Século XIX : primeiros relatos
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
História
Século XIX : primeiros relatosProposto por um jogador de xadrez e estudado por vários matemáticos
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
História
Século XIX : primeiros relatosProposto por um jogador de xadrez e estudado por vários matemáticos
Gauss dedicou-se ao problema das 8-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Quebra - cabeça
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Quebra - cabeça
Não há adversários
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Quebra - cabeça
Não há adversáriosProblemas semelhantes
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Quebra - cabeça
Não há adversáriosProblemas semelhantes
Torres de Hanói
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Quebra - cabeça
Não há adversáriosProblemas semelhantes
Torres de HanóiCobertura total
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Características
Quebra - cabeça
Não há adversáriosProblemas semelhantes
Torres de HanóiCobertura total
Combinações com outras peças
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Codificação
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Codificação
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Codificação
A solução pode ser representada por:
S = [ 1 , 3 , 5 , 2 , 4 ]
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Equivalência entre soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
N SoluçõesSoluções
Independentes1 1 12 0 03 0 04 2 15 10 26 4 17 40 68 92 12
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
N SoluçõesSoluções
Independentes1 1 12 0 03 0 04 2 15 10 26 4 17 40 68 92 12
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
N SoluçõesSoluções
Independentes1 1 12 0 03 0 04 2 15 10 26 4 17 40 68 92 12
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
N SoluçõesSoluções
Independentes9 352 46
10 724 92. . .. . .. . .
25 2.207.893.435.808.352 275.986.683.743.433
2622.317.699.616.364.04
42.789.712.466.510.289
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Soluções
Número de soluções
N SoluçõesSoluções
Independentes9 352 46
10 724 92. . .. . .. . .
25 2.207.893.435.808.352 275.986.683.743.433
2622.317.699.616.364.04
42.789.712.466.510.289
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Por que é um problema de I.A.?
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Por que é um problema de I.A.?
Podemos identificar no problema:
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Por que é um problema de I.A.?
Podemos identificar no problema:
Agente racional
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Por que é um problema de I.A.?
Podemos identificar no problema:
Agente racional
Espaço de estados
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Por que é um problema de I.A.?
Podemos identificar no problema:
Agente racional
Espaço de estados
Objetivo
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Táticas para a resolução
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Táticas escolhidas
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Táticas escolhidas
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Táticas escolhidas
Força bruta
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Táticas escolhidas
Força bruta
Busca local
Satisfação de restrições
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Táticas escolhidas
Força bruta
Busca local
Satisfação de restrições
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Busca pela solução de forma recursiva
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Busca pela solução de forma recursiva
O tabuleiro inicialmente está vazio
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Busca pela solução de forma recursiva
O tabuleiro inicialmente está vazio
Apresentação do ProblemaTáticas para a resolução
Software
Rainhas são colocadas uma – a – uma
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Sempre vai encontrar uma solução
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Sempre vai encontrar uma solução
E o tempo?
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Força bruta
Sempre vai encontrar uma solução
E o tempo?
Apresentação do ProblemaTáticas para a resolução
Software
Passa por muitos estados
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Força bruta
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
O caminho é irrelevante
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
O caminho é irrelevante
A configuração final é o que importa
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Formulação de estados completos
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Busca local
Formulação de estados completos
Apresentação do ProblemaTáticas para a resolução
Software
EstadoAtual
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Formulação de estados completos
Apresentação do ProblemaTáticas para a resolução
Software
EstadoAtual
EstadoVizinho
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Formulação de estados completos
Apresentação do ProblemaTáticas para a resolução
Software
EstadoAtual
EstadoVizinho
Objetivo:
N rainhas no tabuleiroe não há ataques entre elas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Função de custo da heurística (h) :
Apresentação do ProblemaTáticas para a resolução
Software
número de ataques entre rainhas no tabuleiro
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Função de custo da heurística (h) :
número de ataques entre rainhas no tabuleiro
Objetivo:
atingir um estado X tal que h(X) = 0
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
8
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
8
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
6
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
8
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
6 10 4
8 8 4
6 8 12 4
8 8
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
4
4
4
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
4
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
6 10
4 8 4
2 6 8 4
4 4 8
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
2
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Usa pouca memória
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Usa pouca memória
Frequentemente encontra soluções razoáveis em grades espaços de estados
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Problema : mínimos locais
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Busca local
Apresentação do ProblemaTáticas para a resolução
Software
Problema : mínimos locais
Tentativa de solução :
Hill – climbing com reinício aleatório
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Satisfação de restrições
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Satisfação de restrições
Método construtivo
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Satisfação de restrições
Método construtivo
Apresentação do ProblemaTáticas para a resolução
Software
Minimum Remaining Values (MRV)
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Satisfação de restrições
Método construtivo
Apresentação do ProblemaTáticas para a resolução
Software
Minimum Remaining Values (MRV)Least Constraining Value (LCV)
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
12
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
12 12 12 12 12
12 12
12 12
12 12
12 12 12 12 12
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
12 12 12 12 12
12 14 14 14 12
12 14 14 12
12 14 14 14 12
12 12 12 12 12
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
12 12 12 12 12
12 14 14 14 12
12 14 16 14 12
12 14 14 14 12
12 12 12 12 12
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
12 12 12 12 12
12 12
12 12
12 12
12 12 12 12 12
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
12
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
7
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
7 6 7
7 9 6
6 9 7
7 6 7
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
6
6
6
6
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
6
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Satisfação de restrições
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
0
0
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
0
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Satisfação de restrições
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Busca local para satisfação de restrições
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Busca local para satisfação de restrições
Apresentação do ProblemaTáticas para a resolução
Software
Formulação de estados completos
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Busca local para satisfação de restrições
Apresentação do ProblemaTáticas para a resolução
Software
Formulação de estados completosO que importa é a configuração final
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Função de custo da heurística (h) :
número de ataques de uma rainha
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Função de custo da heurística (h) :
número de ataques de uma rainha
Objetivo:
atingir um estado X tal que h(X) = 0
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
2
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
2
1
Apresentação do ProblemaTáticas para a resolução
Software
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
2
1
2
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
0
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
0
2
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
0
2
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
0
2
3
2
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
2
1
2
1
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
2
1
3
0
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Conflitos mínimos
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Primeiro protótipo
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Primeiro protótipo
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Primeiro protótipo
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Primeiro protótipo
Apresentação do ProblemaTáticas para a resolução
Software
N Força Bruta
Busca Local Conflitos MínimosMínimo de tentativas
Máximo de tentativas
Mínimo de tentativas
Máximo de tentativas
8
1 22 3 76
10
1 77 29 475
20
2 130 204 47.000 2 segundos 7 segundos
30 17 s20 115
2 segundos 14 segundos
40
32 167 15 s 1 min 18 s
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Próximos protótipos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Próximos protótipos
Reestruturação das classes
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Próximos protótipos
Reestruturação das classes
Apresentação do ProblemaTáticas para a resolução
Software
Otimizar as funções utilizadas
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Próximos protótipos
Reestruturação das classes
Apresentação do ProblemaTáticas para a resolução
Software
Otimizar as funções utilizadas
Melhorar a interface
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Futuramente...
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Futuramente...
Permitir a combinação de algoritmos
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Futuramente...
Permitir a combinação de algoritmos
Implementar o jogo
Apresentação do ProblemaTáticas para a resolução
Software
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Seminário Resolvendo o problema das N-rainhas
Futuramente...
Permitir a combinação de algoritmos
Implementar o jogo
Evoluir para o problema das N2 - rainhas
Apresentação do ProblemaTáticas para a resolução
Software
Seminário Resolvendo o problema das N-rainhas
Referências
[1] Material de aula disponibilizado pelo Professor Anderson Rocha no site da disciplina[2] Russell, Stuart & Norvig, Peter – Artificial Intelligence, 2ª edição, Pearson Education
Resolvendo o problema das N-RainhasVitor Salvucci Ricci
Apresentação do ProblemaTáticas para a resolução
Software