Seminário Resolvendo o problema das N-Rainhas Seminário Resolvendo o problema das N-Rainhas 1º...

Post on 18-Apr-2015

107 views 0 download

Transcript of Seminário Resolvendo o problema das N-Rainhas Seminário Resolvendo o problema das N-Rainhas 1º...

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

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