SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Busca Tabu
Lucas Fernandes - abril 2011
Roteiro
 Algoritmos de busca   Funcionamento
 Heurísticas           Código
 Metaheurísticas       Problema das n-Rainhas
 Busca local           Execução do TSM
 Busca tabu
 Conceitos básicos
Algoritmos de busca
Dois tipos
  Força bruta
  Heurística
Vantagens e desvantagens
Busca em listas
Busca em árvores
Busca em grafos
Heurísticas em algoritmos
de buscas
As heurísticas são funções usadas como alternativas
em algoritmos de busca
Visam diminuir o tempo computacional de uma busca
Nem sempre apresentam uma solução ótima
O trabalho de escolher uma heurística adequada para
um problema geralmente é feito pela IA
Tipos de heurísticas
 Heurística de construção: uma ou mais soluções são
 construídas elemento a elemento, baseando-se em
 critérios até que se encontre a solução
 Heurísticas de busca em vizinhança: parte de uma
 solução possível e tenta melhorar a mesma através de
 trocas, remoções ou inserções, até que seja atingido
 algum critério (geralmente uma solução ideal)
 Heurísticas sistemáticas: a árvore de espaço de
 soluções é percorrida sob critérios de ramificação e
 corte da mesma
Tipos de heurísticas


 Heurísticas híbridas: resulta da combinação de uma ou
 mais heurísticas, de tipos diferentes
 Metaheurísticas: o tipo mais sofisticado, consiste de
 uma heurística simples que é analisada por um
 procedimento que explora o problema e seu espaço
 de soluções
Exemplos de uso de
heurísticas

Busca de melhor caminho em um grafo
Busca de virus
Desktops semânticos
Metaheurística
Geralmente utilizada quando não se conhece um
algoritmo eficiente para resolver o problema
São usadas para melhorar os resultados obtidos por
funções heurísticas
“Evoluem” com o tempo, aprendendo sobre o que foi
feito anteriormente de maneira a melhorar as próximas
soluções
Termo cunhado por Fred Glover, em 1986
Busca local
É também considerada uma metaheurística
Busca uma solução ótima dentro de um conjunto de
soluções possíveis (o espaço de busca)
Parte de uma solução candidata inicial para a uma
solução vizinha, i.e. vértices vizinhos em um grafo
Geralmente, cada solução candidata tem mais de uma
solução vizinha. A escolha de qual será a próxima deve
ser feita tomando em consideração apenas a
vizinhança da solução candidata atual, por isso é
chamada de busca local
Busca local
É iterativa, métodos para encerrar a busca podem
involver o tempo de execução ou um certo número de
iterações sem apresentar melhora na solução
Considerada um algortimo de busca incompleto uma
vez que pode encerrar sem ter encontrado uma
solução ótima
Na prática é pouco provável que a solução encontrada
em pouco tempo seja próxima da ótima, por isso
foram feitas várias tentativas de melhorar o algortimo,
resultando por exemplo na busca tabu
Busca tabu

Um algoritmo de busca baseado em metaheurística
Um método de otimização matemática, da classe dos
métodos de pesquisa local
Melhora os métodos de pesquisa local usando
estruturas de memória
Busca tabu

Muito usada nas telecomunicações e em otimização
de trajetórias
Estudada principalmente no ramo da IA
Surgiu na década de 70
Fred Glover formalizou sua estrutura também em 1986
Busca tabu
É uma estratégia para resolver problemas de
otimização combinatorial as quais a aplicação abrange
da teoria de grafos e conjuntos de matróides à
problemas de programação linear gerais, puros e
mistos. É um procedimento adaptativo com a
habilidade de fazer uso de muitos outros métodos,
como algoritmos de programação linear e heurísticas
especializadas, que são dirigidas para superar as
limitações da otimização local. (Glover, 1988)
Conceitos básicos
Solução       Vizinhança
 Inicial        Original
 Corrente       Modificada (reduzida
                ou espandida)
 Melhor
              Tabu
Movimento
                Status
 Atributos
                Regra de ativação
 Valores
Funcionamento

Busca possíveis soluções a partir de um ponto
conhecido
Caso seja uma solução possível, marca o ponto como
tabu para que ele não seja visitado repetidamente
Para que todos os pontos sejam visitados, ao contrário
da busca local, a busca tabu modifica a estrutura de
vizinhos a cada solução
Funcionamento

Busca o ótimo local, mesmo que seja necessário fazer
movimentos que não melhorem a solução em relação
ao passo atual
Mantém uma lista de soluções já visitadas, chamada
de lista tabu para evitar que elas sejam revisitadas
Procedimento        Gerar solução
   heurístico      inicial e inicializar
                                                       PARAR
                     estruturas de
                        memória

Restrições tabu                                             Não
    Lista de           Construir
  candidatos         estruturas de         Sim    Mais iterações?
  Critério de          vizinhos
   aspiração         modificadas


   Regras de
    escolhas       Escolher melhor               Atualizar estruturas   Curto e longo
modificadas para        vizinho                      de memória              prazo
diversificação e
 intensificação


  Recomeçar            Executar
                                                  Atualizar melhor
Religar caminhos    procedimentos
                                                      solução
    Oscilação       especializados
   estratégica
Código
k := 1.
generate initial solution
WHILE the stopping condition is not met DO
    Identify N(s). (Neighbourhood set)
    Identify T(s,k). (Tabu set)
    Identify A(s,k). (Aspirant set)
    Choose the best s‘ |  N(s,k) = {N(s) - T(s,k)}+A(s,k).
    Memorize s’ if it improves the previous best known solution
    s := s’.
    k := k+1.
END WHILE
Memória a curto prazo



O principal objetivo da memória a curto prazo é evitar
movimentos reversos e ciclos
Exemplo 1

Após um movimento que muda o valor de xi de 0 para
1, gostariamos que o valor de xi não volte a ser 0
numa próxima iteração
    Atributo a recordar: i
    Regra de ativação tabu: move(xi←0) é tabu se i é
    tabu-ativo
Exemplo 2

Após um movimento que muda as posições dos
elementos i e j, gostariamos que na próxima iteração
os valores de i e j não mudassem novamente
    Atributo a recordar: i e j
    Regra de ativação tabu: move(i j) é tabu se
    ambos i e j são tabu-ativos
Tabu, or not tabu, that is the
question.
 Somente movimentos podem ser tabu. Atributos não
 são tabu, somente podem ser tabu-ativos
 Um movimento pode ser tabu se conter um ou mais
 atributos tabu-ativos
 A classificação de um movimento tabu (tabu ou não
 tabu) é determinada pela regra de ativação
Movimento


 O movimento         Sim    O movimento
contém atributos
                              é tabu?
  tabu-ativos?
                                     Sim
                   Não
        Não                 O movimento
                           satisfaz o critério
                            de aspiração?
   Movimento         Sim
                                     Não
   permitido
                             Movimento
                            não permitido
Flexidade de busca

O número de movimentos permitidos na vizinhança da
solução corrente depende de:
  Tipo de movimento
  Regras de ativação tabu
  Número de movimentos permitidos
  Critério de aspiração
Número de movimentos
permitidos
Estático
  O número de movimentos (TabuTenure) é fixo e se
  mantém durante toda a busca
  Os atributos se mantém tabu-ativos pelo mesmo
  número de iterações
Dinâmico
  O valor do TabuTenure não é constante durante a
  busca
  A duração dos atributos também varia
Critério de aspiração

       Por objetivo
          Um movimento tabu se torna permissível se
          possibilitar uma solução melhor do que um valor
          aspirado
       Por direção da busca
          Um movimento tabu se torna permissível se a
          direção da busca (melhorando ou não) não se altera

O critério de aspiração permite aceitar uma solução baseado em sua qualidade, mesmo que tal
                            solução faça movimentos da lista tabu.
Lista de candidatos


 São usados para reduzir o número de soluções
 examinadas em um determinada iteração
 Elas isolam regiões da vizinhança contendo
 movimentos que se aproximam de atributos desejáveis
Problema das n-Rainhas
Consiste em colocar rainhas em um tabuleiro de
xadrez, onde elas só são capazes de executar os seus
movimentos tradicionais de modo que elas não
consigam capturar umas as outras
Ou seja, nenhuma rainha pode estar na mesma linha,
coluna ou diagonal da outra
Uma simplificação do problema á chamada de
problema das 8 rainhas, onde são usadas 8 rainhas no
tabuleiro
Problema das n-Rainhas

É um problema computacionalmente muito caro de se
resolver
São possíveis 4.426.265.368 (64!/(56!8!)) com oito
rainhas no tabuleiro, mas apenas 92 soluções existem
nesse cenário (12 únicas)
Diversas heurísticas existem para que esse problema
torne-se computacionalmente viável, uma delas é a
busca tabu
Algoritmo
n-Rainhas

Mais conteúdo relacionado

Mais procurados

Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de ArquivosArthur Emanuel
 
Utilização de Seletividade e Estimativa de Custo na Otimização de Consultas
Utilização de Seletividade e Estimativa de Custo na Otimização de ConsultasUtilização de Seletividade e Estimativa de Custo na Otimização de Consultas
Utilização de Seletividade e Estimativa de Custo na Otimização de ConsultasDenilson Sousa
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Mario Sergio
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaRanilson Paiva
 
Pesquisa Operacional - Aula 05: O Médoto Simplex
Pesquisa Operacional - Aula 05: O Médoto SimplexPesquisa Operacional - Aula 05: O Médoto Simplex
Pesquisa Operacional - Aula 05: O Médoto SimplexLeinylson Fontinele
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de RepetiçãoArthur Emanuel
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Pesquisa operacional 1
Pesquisa operacional 1Pesquisa operacional 1
Pesquisa operacional 1Erique Neto
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Marcos Castro
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaDelacyr Ferreira
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Pesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - ApresentaçãoPesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - ApresentaçãoLeinylson Fontinele
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8Eder Magalhães
 
Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasSérgio Souza Costa
 

Mais procurados (20)

Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de Arquivos
 
Utilização de Seletividade e Estimativa de Custo na Otimização de Consultas
Utilização de Seletividade e Estimativa de Custo na Otimização de ConsultasUtilização de Seletividade e Estimativa de Custo na Otimização de Consultas
Utilização de Seletividade e Estimativa de Custo na Otimização de Consultas
 
Diagrama de caso de uso
Diagrama de caso de usoDiagrama de caso de uso
Diagrama de caso de uso
 
Algoritmo recursivo
Algoritmo recursivoAlgoritmo recursivo
Algoritmo recursivo
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à Disciplina
 
Pesquisa Operacional - Aula 05: O Médoto Simplex
Pesquisa Operacional - Aula 05: O Médoto SimplexPesquisa Operacional - Aula 05: O Médoto Simplex
Pesquisa Operacional - Aula 05: O Médoto Simplex
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Estrutura de Dados - Registros
Estrutura de Dados - RegistrosEstrutura de Dados - Registros
Estrutura de Dados - Registros
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de Repetição
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Pesquisa operacional 1
Pesquisa operacional 1Pesquisa operacional 1
Pesquisa operacional 1
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Pesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - ApresentaçãoPesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - Apresentação
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8
 
Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicas
 

Destaque

Aplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosAplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosRamon Mayor Martins
 
Simulação e Otimização
Simulação e OtimizaçãoSimulação e Otimização
Simulação e OtimizaçãoSimulação
 
Aplicação Algorítimo Genético
Aplicação Algorítimo GenéticoAplicação Algorítimo Genético
Aplicação Algorítimo GenéticoRodrigo Romais
 
Trabalhando com aplicações qt no net beans
Trabalhando com aplicações qt no net beansTrabalhando com aplicações qt no net beans
Trabalhando com aplicações qt no net beansValdomiro Morais
 
QTestLib: Criando unit tests inteligentes para projetos baseados em Qt
QTestLib: Criando unit tests inteligentes para projetos baseados em QtQTestLib: Criando unit tests inteligentes para projetos baseados em Qt
QTestLib: Criando unit tests inteligentes para projetos baseados em QtBruno Abinader
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010Wagner Reck
 
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASMETAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASJoao Gonçalves
 
Curso avançado de c++ em portugues
Curso avançado de c++ em portuguesCurso avançado de c++ em portugues
Curso avançado de c++ em portuguesLaura
 
Heurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webHeurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webDaniel Brandão
 

Destaque (20)

Rqt3
Rqt3Rqt3
Rqt3
 
Aplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosAplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios Cognitivos
 
Simulação e Otimização
Simulação e OtimizaçãoSimulação e Otimização
Simulação e Otimização
 
Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
QtQuick - WSL II
QtQuick - WSL IIQtQuick - WSL II
QtQuick - WSL II
 
Tutorial api qt
Tutorial api qtTutorial api qt
Tutorial api qt
 
Revista qt 4
Revista qt 4Revista qt 4
Revista qt 4
 
Aplicação Algorítimo Genético
Aplicação Algorítimo GenéticoAplicação Algorítimo Genético
Aplicação Algorítimo Genético
 
Rqt2
Rqt2Rqt2
Rqt2
 
Trabalhando com aplicações qt no net beans
Trabalhando com aplicações qt no net beansTrabalhando com aplicações qt no net beans
Trabalhando com aplicações qt no net beans
 
QTestLib: Criando unit tests inteligentes para projetos baseados em Qt
QTestLib: Criando unit tests inteligentes para projetos baseados em QtQTestLib: Criando unit tests inteligentes para projetos baseados em Qt
QTestLib: Criando unit tests inteligentes para projetos baseados em Qt
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
QtQuick
QtQuickQtQuick
QtQuick
 
Introdução ao QML
Introdução ao QMLIntrodução ao QML
Introdução ao QML
 
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASMETAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
 
Apostila ferramentas QT
Apostila ferramentas QTApostila ferramentas QT
Apostila ferramentas QT
 
Curso avançado de c++ em portugues
Curso avançado de c++ em portuguesCurso avançado de c++ em portugues
Curso avançado de c++ em portugues
 
Heurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webHeurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na web
 
Jogos em Qt
Jogos em QtJogos em Qt
Jogos em Qt
 
Acordes para teclado
Acordes para tecladoAcordes para teclado
Acordes para teclado
 

Mais de iaudesc

Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clusteringiaudesc
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimariaudesc
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzyiaudesc
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticosiaudesc
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celularesiaudesc
 
Vida artificial
Vida artificialVida artificial
Vida artificialiaudesc
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiaisiaudesc
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)iaudesc
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogosiaudesc
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genéticaiaudesc
 
Seminário redes bayesianas
Seminário redes bayesianasSeminário redes bayesianas
Seminário redes bayesianasiaudesc
 
Solvers and Applications with CP
Solvers and Applications with CPSolvers and Applications with CP
Solvers and Applications with CPiaudesc
 

Mais de iaudesc (12)

Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimar
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzy
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticos
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celulares
 
Vida artificial
Vida artificialVida artificial
Vida artificial
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiais
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogos
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genética
 
Seminário redes bayesianas
Seminário redes bayesianasSeminário redes bayesianas
Seminário redes bayesianas
 
Solvers and Applications with CP
Solvers and Applications with CPSolvers and Applications with CP
Solvers and Applications with CP
 

Último

Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...SileideDaSilvaNascim
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPEli Gonçalves
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeLEONIDES PEREIRA DE SOUZA
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfLidianeLill2
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...azulassessoria9
 

Último (20)

Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidade
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 

Busca tabu

  • 2. Roteiro Algoritmos de busca Funcionamento Heurísticas Código Metaheurísticas Problema das n-Rainhas Busca local Execução do TSM Busca tabu Conceitos básicos
  • 3. Algoritmos de busca Dois tipos Força bruta Heurística Vantagens e desvantagens Busca em listas Busca em árvores Busca em grafos
  • 4. Heurísticas em algoritmos de buscas As heurísticas são funções usadas como alternativas em algoritmos de busca Visam diminuir o tempo computacional de uma busca Nem sempre apresentam uma solução ótima O trabalho de escolher uma heurística adequada para um problema geralmente é feito pela IA
  • 5. Tipos de heurísticas Heurística de construção: uma ou mais soluções são construídas elemento a elemento, baseando-se em critérios até que se encontre a solução Heurísticas de busca em vizinhança: parte de uma solução possível e tenta melhorar a mesma através de trocas, remoções ou inserções, até que seja atingido algum critério (geralmente uma solução ideal) Heurísticas sistemáticas: a árvore de espaço de soluções é percorrida sob critérios de ramificação e corte da mesma
  • 6. Tipos de heurísticas Heurísticas híbridas: resulta da combinação de uma ou mais heurísticas, de tipos diferentes Metaheurísticas: o tipo mais sofisticado, consiste de uma heurística simples que é analisada por um procedimento que explora o problema e seu espaço de soluções
  • 7. Exemplos de uso de heurísticas Busca de melhor caminho em um grafo Busca de virus Desktops semânticos
  • 8. Metaheurística Geralmente utilizada quando não se conhece um algoritmo eficiente para resolver o problema São usadas para melhorar os resultados obtidos por funções heurísticas “Evoluem” com o tempo, aprendendo sobre o que foi feito anteriormente de maneira a melhorar as próximas soluções Termo cunhado por Fred Glover, em 1986
  • 9. Busca local É também considerada uma metaheurística Busca uma solução ótima dentro de um conjunto de soluções possíveis (o espaço de busca) Parte de uma solução candidata inicial para a uma solução vizinha, i.e. vértices vizinhos em um grafo Geralmente, cada solução candidata tem mais de uma solução vizinha. A escolha de qual será a próxima deve ser feita tomando em consideração apenas a vizinhança da solução candidata atual, por isso é chamada de busca local
  • 10. Busca local É iterativa, métodos para encerrar a busca podem involver o tempo de execução ou um certo número de iterações sem apresentar melhora na solução Considerada um algortimo de busca incompleto uma vez que pode encerrar sem ter encontrado uma solução ótima Na prática é pouco provável que a solução encontrada em pouco tempo seja próxima da ótima, por isso foram feitas várias tentativas de melhorar o algortimo, resultando por exemplo na busca tabu
  • 11. Busca tabu Um algoritmo de busca baseado em metaheurística Um método de otimização matemática, da classe dos métodos de pesquisa local Melhora os métodos de pesquisa local usando estruturas de memória
  • 12. Busca tabu Muito usada nas telecomunicações e em otimização de trajetórias Estudada principalmente no ramo da IA Surgiu na década de 70 Fred Glover formalizou sua estrutura também em 1986
  • 13. Busca tabu É uma estratégia para resolver problemas de otimização combinatorial as quais a aplicação abrange da teoria de grafos e conjuntos de matróides à problemas de programação linear gerais, puros e mistos. É um procedimento adaptativo com a habilidade de fazer uso de muitos outros métodos, como algoritmos de programação linear e heurísticas especializadas, que são dirigidas para superar as limitações da otimização local. (Glover, 1988)
  • 14. Conceitos básicos Solução Vizinhança Inicial Original Corrente Modificada (reduzida ou espandida) Melhor Tabu Movimento Status Atributos Regra de ativação Valores
  • 15. Funcionamento Busca possíveis soluções a partir de um ponto conhecido Caso seja uma solução possível, marca o ponto como tabu para que ele não seja visitado repetidamente Para que todos os pontos sejam visitados, ao contrário da busca local, a busca tabu modifica a estrutura de vizinhos a cada solução
  • 16. Funcionamento Busca o ótimo local, mesmo que seja necessário fazer movimentos que não melhorem a solução em relação ao passo atual Mantém uma lista de soluções já visitadas, chamada de lista tabu para evitar que elas sejam revisitadas
  • 17. Procedimento Gerar solução heurístico inicial e inicializar PARAR estruturas de memória Restrições tabu Não Lista de Construir candidatos estruturas de Sim Mais iterações? Critério de vizinhos aspiração modificadas Regras de escolhas Escolher melhor Atualizar estruturas Curto e longo modificadas para vizinho de memória prazo diversificação e intensificação Recomeçar Executar Atualizar melhor Religar caminhos procedimentos solução Oscilação especializados estratégica
  • 18. Código k := 1. generate initial solution WHILE the stopping condition is not met DO     Identify N(s). (Neighbourhood set)     Identify T(s,k). (Tabu set)     Identify A(s,k). (Aspirant set)     Choose the best s‘ |  N(s,k) = {N(s) - T(s,k)}+A(s,k).     Memorize s’ if it improves the previous best known solution     s := s’.     k := k+1. END WHILE
  • 19. Memória a curto prazo O principal objetivo da memória a curto prazo é evitar movimentos reversos e ciclos
  • 20. Exemplo 1 Após um movimento que muda o valor de xi de 0 para 1, gostariamos que o valor de xi não volte a ser 0 numa próxima iteração Atributo a recordar: i Regra de ativação tabu: move(xi←0) é tabu se i é tabu-ativo
  • 21. Exemplo 2 Após um movimento que muda as posições dos elementos i e j, gostariamos que na próxima iteração os valores de i e j não mudassem novamente Atributo a recordar: i e j Regra de ativação tabu: move(i j) é tabu se ambos i e j são tabu-ativos
  • 22. Tabu, or not tabu, that is the question. Somente movimentos podem ser tabu. Atributos não são tabu, somente podem ser tabu-ativos Um movimento pode ser tabu se conter um ou mais atributos tabu-ativos A classificação de um movimento tabu (tabu ou não tabu) é determinada pela regra de ativação
  • 23. Movimento O movimento Sim O movimento contém atributos é tabu? tabu-ativos? Sim Não Não O movimento satisfaz o critério de aspiração? Movimento Sim Não permitido Movimento não permitido
  • 24. Flexidade de busca O número de movimentos permitidos na vizinhança da solução corrente depende de: Tipo de movimento Regras de ativação tabu Número de movimentos permitidos Critério de aspiração
  • 25. Número de movimentos permitidos Estático O número de movimentos (TabuTenure) é fixo e se mantém durante toda a busca Os atributos se mantém tabu-ativos pelo mesmo número de iterações Dinâmico O valor do TabuTenure não é constante durante a busca A duração dos atributos também varia
  • 26. Critério de aspiração Por objetivo Um movimento tabu se torna permissível se possibilitar uma solução melhor do que um valor aspirado Por direção da busca Um movimento tabu se torna permissível se a direção da busca (melhorando ou não) não se altera O critério de aspiração permite aceitar uma solução baseado em sua qualidade, mesmo que tal solução faça movimentos da lista tabu.
  • 27. Lista de candidatos São usados para reduzir o número de soluções examinadas em um determinada iteração Elas isolam regiões da vizinhança contendo movimentos que se aproximam de atributos desejáveis
  • 28. Problema das n-Rainhas Consiste em colocar rainhas em um tabuleiro de xadrez, onde elas só são capazes de executar os seus movimentos tradicionais de modo que elas não consigam capturar umas as outras Ou seja, nenhuma rainha pode estar na mesma linha, coluna ou diagonal da outra Uma simplificação do problema á chamada de problema das 8 rainhas, onde são usadas 8 rainhas no tabuleiro
  • 29.
  • 30. Problema das n-Rainhas É um problema computacionalmente muito caro de se resolver São possíveis 4.426.265.368 (64!/(56!8!)) com oito rainhas no tabuleiro, mas apenas 92 soluções existem nesse cenário (12 únicas) Diversas heurísticas existem para que esse problema torne-se computacionalmente viável, uma delas é a busca tabu