Backtracking Katia Guimarães.

Slides:



Advertisements
Apresentações semelhantes
Algoritmos em Grafos (Parte 2)
Advertisements

HASHING Katia Guimarães julho/2002
Antonio Dirceu Rabelo de Vasconcelos Filho
ALINHAMENTOS LOCAIS E SEMI-GLOBAIS
Katia S. Guimarães QUICKSORT Katia S. Guimarães
Grafos Introdução
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Hotel do Sol Bahia Atlântico
ÓPTICA Abordar assuntos introdutórios sobre óptica que darão um pouco de base para a palestra sobre metrologia óptica Conceitos como reflexão, refração.
Pós-graduação em Análise, Projeto e Gerência de Sistemas de Informação
Qualiti Courses :: Documento de Requisitos. {icc2, jmmn, mmc2, CIn-UFPE Equipe Ivan Cordeiro Cardim Julio Maravitch Maurício.
Tributação dos Serviços de Telecomunicações de Longa Distância
Prof. Dr. Ivan Torres Pisa
Othelo Alunos: Sávio Mendes de Figueiredo
Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao.
Introdução à NP-completude
Profa. Dra. Maria Teresa Miceli Kerbauy
INF 1771 – Inteligência Artificial
Metodologia da Pesquisa em Ensino de Ciências I
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Metodologia da Pesquisa em Ensino de Ciências I
Metodologia da Pesquisa em Ensino de Ciências I
Programa de Cargos e Salários
Silogística Tudo o que os artistas fazem é arte.
Algoritmos em Grafos.
Organização, Sistemas e Métodos LAYOUT
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
ELEMENTOS TEÓRICOS DA POLÍTICA
Intr. à Biologia Computacional
Intr. à Biologia Computacional
Intr. à Biologia Computacional ALINHAMENTO DE SEQÜÊNCIAS.
Metodologia da Pesquisa em Ensino de Ciências I
Metodologia da Pesquisa em Ensino de Ciências I
FABER Cirurgia & Implantes.
LÓGICA FILOSÓFICA. Teoria Obj: Construir um conceito de lógica
Raciocínio Lógico Parte 1
PLATÃO MITO DA CAVERNA 02/04/2017
Nazi-fascismo 02/04/2017
MÉTODOS E SISTEMAS ADMINISTRATIVOS - I
A UNIVERSALIDADE DO GOSTO
Engenharia de Conhecimento
Sistema de Gestão da Aprendizagem de Segunda Geração
ALINHAMENTOS LOCAIS E SEMI-GLOBAIS
Sistema de Gestão da Aprendizagem de Segunda Geração
Introdução à NP-completude Katia S. Guimarães
Algoritmos Gulosos em Grafos
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Evolução e Futuro das Linguagens de Programação
Abordagens para problemas NP-completos
Árvores Binárias e Encaminhamentos
Katia S. Guimarães Heaps Katia S. Guimarães
Remoção e Inserção em Heaps
Katia S. Guimarães Heapsort Katia S. Guimarães
ALGORITMOS E TECNICAS DE PROGRAMACAO II
Ferramentas de Planejamento
Palestra FUNCEF CACB Brasília A Solução Extrajudicial de Conflitos: Arbitragem Profa. Dra. Selma Ferreira Lemes A Solução.
CASE: O POSTGRESQL EM BI Milhares de operações diárias consolidadas "near-real-time" PGDay Campinas Wagner Correa Ramos Anderson.
AMÉRICA E SEUS POVOS 14/12/2014WWW.NILSON.PRO.BR1.
Metodologia da Pesquisa em Ensino de Ciências I
Desenvolvimento de Jogos Um Processo Criativo de Engenharia de Software Gustavo Henrique Nacha Costa 13 / 07 / 2005 –
Julho Fabrício Murai – Sobre dois fenômenos em redes P2P do tipo BitTorrent Fabrício Murai CTD 2012 Orientadores:Daniel.
Ronaldo Celso Messias Correia –
Construção e Análise de Algoritmos
MANUAIS NA EMPRESA
Auditório SUCESU-SP 27/03/2007 Marco Antonio Terlizzi
A Economia Açucareira 10/04/2017
Busca Combinatorial e Métodos de Heurística
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Resolução de Problemas de Busca
Resolução de Problemas Sistemas de Produção Prof. Cláudio M. N. A. Pereira.
Transcrição da apresentação:

Backtracking Katia Guimarães

Backtracking Técnica em procedimentos de busca que corresponde ao retorno de uma exploração. Ex: (já visto) Busca-em-Profundidade Quando chegamos a um nó v pela primeira vez, cada aresta incidente a v é explorada e então o controle volta (backtracks) ao nó a partir do qual v foi alcançado. katia@cin.ufpe.br

Problema das Oito Rainhas Colocar oito rainhas num tabuleiro de xadrez, de forma que nenhuma delas fique atacada por outra. Em outras palavras, escolher oito posições no tabuleiro de forma que não haja duas delas compartilhando a mesma linha, a mesma coluna ou a mesma diagonal. katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas 1. Coloque uma rainha na posição mais à esquerda da primeira linha. 2. Enquanto não houver oito rainhas no tabuleiro faça: Se na próxima linha existir uma coluna que não está sob ataque de uma rainha já no tabuleiro então coloque uma rainha nesta posição senão volte à linha anterior /* backtrack */ mova a rainha o mínimo necessário para a direita de forma que ela não fique sob ataque katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas Q katia@cin.ufpe.br

Algoritmo para O Problema das Oito Rainhas início (1,1) (2,3) (3,5) (4,2) (4,7) (5,4) (5,8) (5,2) (5,4) (6,4) (7,6) katia@cin.ufpe.br

Problema da 3-Coloração Dado um grafo G(V, E), encontrar uma 3-coloração de G, ou seja, definir uma função cor: V  {1, 2, 3} de forma que Se (u,v) é uma aresta em E então cor (u)  cor (v). Ex: katia@cin.ufpe.br

Algoritmo para 3-Coloração Para v  1 até n faça cor (v)  0; cor (1)  1; Se (3-Colorir (1)) então imprima cor senão imprima “Impossível 3-colorir” katia@cin.ufpe.br

Algoritmo para 3-Coloração Procedimento 3-Colorir (v): Se v = n então {retorne (suc) } Tome o vértice z  v +1 Se z não tem vizinhos w com cor (w) = 1 então {cor (z)  1; se (3-Colorir (z)) retorne (suc) } Se z não tem vizinhos w com cor (w) = 2 então {cor (z)  2; Se z não tem vizinhos w com cor (w) = 3 então {cor (z)  3; cor (z)  0; retorne (fail); /* backtrack */ katia@cin.ufpe.br

O Problema da 3-Coloração 1 3 2 ? 6 7 4 5 katia@cin.ufpe.br

O Problema da 3-Coloração 1 2 3 4 5 6 7 katia@cin.ufpe.br

Branch-and-Bound Uma outra técnica muito usada que está relacionada com Backtracking é a técnica chamada Branch-and-Bound. Branch-and-Bound é uma técnica de exploração mais sofisticada, que procura explorar opções (branch), mas colocando um limite quantitativo (bound), com o objetivo de evitar buscas em espaços menos promissores. Ex: Análise das possíveis seqüências de lances na implementação de um jogo, explorando os lances que parecem melhores, uma vez que o número total de possibilidades é muito grande. katia@cin.ufpe.br