RESOLUÇÃO DE PROBLEMAS E PROCURA

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Inteligência Artificial
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
JavaScript O JavaScript é uma linguagem de scripting, orientada a objectos e independente de plataformas Criada pela NetScape Código embebido em paginas.
Métodos para representação de estruturas hierárquicas
Busca Otimizada Subida da Encosta (Hill Climbing)
Busca com Informação Busca com informação Busca Gulosa Busca A*
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
Definição de Parâmetros de Power System Stabilizers para Melhoria do Comportamento Dinâmico de Redes Ângelo Mendonça Orientador: Prof. João A. Peças Lopes.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
UM ESTUDO SOBRE O PROBLEMA DO CAIXEIRO VIAJANTE
1 Inventando Funções Heurísticas Como escolher uma boa função heurística h? h depende de cada problema particular. h deve ser admissível não superestimar.
Modelos Baseados em Agentes
Dárlinton B. Feres Carvalho
Busca Tabu - Revisão Marcone Jamilson Freitas Souza
Inventando Funções Heurísticas
Otimização por Colônias de Formigas – ACO (Ant Colony Optimization)
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Capítulo 3 - Russell e Norvig
Estruturas de Dados e Complexidade de Algoritmos
MAPA DE KARNAUGH O Mapa de Karnaugh é uma ferramenta de auxílio à minimização de funções booleanas. O próprio nome mapa vem do fato dele ser um mapeamento.
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Heurísticas, algoritmos gulosos e aproximações
Otimização Prof. Benedito C. Silva IRN UNIFEI
MC 906 – Inteligência Artificial
1 Introdução aos Agentes Inteligentes Flávia Barros.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Tópicos em Inteligência Artificial – opt. CI309A inf. ufpr
Capítulo 12: Tratamento de Restrições
1 Fundamentos de SIG. - Sistemas de Informação
Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins David Martins
Professora: Ana Cristina G. e Silva Natal-RN
Traveling Salesman Problem: Alguns métodos heurísticos
Otimização por Colônia de Formigas Ant Colony Optimization
GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla
Heurísticas, algoritmos gulosos e aproximações
INF 1771 – Inteligência Artificial
Disciplina: Métodos de Computação Inteligente – 1
Busca iterativa (otimização)
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Algoritmos de Busca Local
Tópicos Avançados em Inteligência Artificial
Base Teorema: Seja um sistema de geradores do espaço vetorial . Então dentre os vetores de existe uma base para . Teorema:
Técnicas de Busca Heurística Problemas da IA complexos demais para serem solucionados por técnicas diretas: criam-se técnicas de busca aprorpiados; chamados.
Construção e Análise de Algoritmos
Busca Combinatorial e Métodos de Heurística
Resolução de Problemas de Busca
Busca com Informação e Exploração “Busca heurística”
Métodos de Resolução Solução Analítica Solução Numérica
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle.
On The Complexity of Determining Autonomic Policy Constrained Behaviour Sobre a Complexidade de Determinação de Política Autônoma de Comportamento Restrito.
Fundamentos de SIG (aula 2).
1 Fundamentos de SIG (2ª aula). - Sistemas de Informação
Fundamentos de SIG Graça Abrantes.
Inteligência Artificial
Mailson Felipe da Silva Marques Johnson Cordeiro Sarmento
Resolução de Problemas de Busca Agentes Baseados em Objetivo
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização)
CIn- UFPE 1 Resolução de Problemas. CIn- UFPE ? Agente solucionador de problemas O agente reativo Escolhe suas ações com base.
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Transcrição da apresentação:

RESOLUÇÃO DE PROBLEMAS E PROCURA Agente Problema Solução Ambiente Problema --> Modelo --> Solução Problema --> Modeloap --> Soluçãoex(Modeloap) Problema --> Modeloex --> Soluçãoap(Modeloex)

Procura num Espaço de Soluções Candidatas N - Rainhas Estados S - soluções candidatas - completas ou não Função de Avaliação F: S -> R - número de ataques Operadores O: S -> S - move_rainha - coloca_rainha

Problemas Complexos Espaço de Estados - conjunto de soluções candidatas - viáveis, não viáveis move_rainha Procurar uma solução navegando no espaço das soluões candidatas. - partindo de uma solução - partindo de várias Problemas Complexos

SAT (Boolean SATisfiability Problem) Tarefa: em que condições uma expressão booleana contendo variáveis tem o valor de verdade TRUE. entrada: saida: Dimensão do Espaço de Procura Função de Avaliação complicado quando a maior parte das vezes uma solução candidata dá o valor False

TSP (Traveling Salesman Problem) Tarefa: um vendedor tem quer percorrer um conjunto de cidades, uma e uma vez só, regressando à cidade de partida, minimizando a distância percorrida entrada: ci - cidades, dist(ci,cj) distância entre cidades saida: uma sequência de cidades, que responda ao objectivo de minimização (uma permutação) Dimensão do Espaço de Procura Função de Avaliação Restrições: visitar uma só vez as cidades - soluções inviáveis --> operadores especiais

NLP (Non Linear Programming) Tarefa: Dada uma função encontrar o seu mínimo (global). entrada: restrições: saida: Dimensão do Espaço de Procura n dimensões, precisão com 6 casas decimais Função de Avaliação

O que torna um problema complexo? tarefa - dimensão do espaço de procrura - função de avaliação - restrições ambiente - ruido - dinâmico

Métodos Globais vs. Locais (exploration vs. exploitation) Procura na vizinhança (local) N x S Definição da vizinhança N (métricas) euclidiana hamming

Trepa Colinas (Hill Climbing) uma solução, heurístico, melhoria progressiva, local programa trepa_colinas; t <-- 0; inicializa o melhor (best) repete local <-- FALSE seleciona aleatóriamente um estado vc avalia vc seleciona todos os (novos) estados na vizinhança de vc seleciona o melhor de entre os vizinhos, vn se vn é melhor do que vc então vc <-- vn senão local <-- TRUE fim se até local ser TRUE t <-- t+1 se vc é melhor do que best então best <-- vc fim se até t ser igual a MAX fim programa o problema dos máximos locais!

uma solução, heurístico, o melhor primeiro, Global programa A* (v) visitar v para cada w disponível fazer avaliar w fim fazer q <-- o melhor estado disponível A*(q) fim programa Estados disponíveis: cuja existência é conhecida mas ainda não testados w Ei Ef g(w)= custo até w h(w)= custo estimado até Ef Avaliar f(w)=g(w)+h(w) h - heurística admissível

Recristalização Simulada (Simulated Annealing) uma solução, heurístico, melhoria progressiva, local Pode, probabilisticamente, ser escolhido um vizinho de valor inferior. A probabilidade é controlada por um parâmetro T (temperatura) programa recristalização_simulada t <-- 0 inicializa T seleciona aleatóriamente um estado vc avalia vc repete seleciona um novo estado vn , na vizinhança de vc se vn é melhor do que vc então vc <-- vn senão se random[0,1) < e eval(vn)- eval(vc)/T então vc <-- vn fim se fim se até condição de fim T <-- g(T,t) t <-- t+1 até critério de paragem fim programa fuga aos máximos locais combina exploration (no início), com exploitation (no fim)

Procura Tabu (Tabu Search) uma solução, heurístico, melhoria progressiva, local usa uma memória (de curto termo) para forçar o algoritmo a explorar novas áreas. Pode selecionar um estado de valor inferior ao corrente! programa procura_tabu; tentativas <-- 0; repete gera um estado vc contador <-- 0 seleciona todos os (novos) estados na vizinhança de vc seleciona o melhor admissível de entre os vizinhos, vn actualiza a memória tabu se vn é o melhor nesta tentativa então actualiza vc fim se contador <-- contador +1 até contador igual a número de OPERAÇÕES tentativas <-- tentativas+1 se vc é o melhor de todas as tentativas então actualiza o melhor global fim se até tentativas ser igual a um valor MÁXIMO fim programa

procura adaptativa global relativamente a Algoritmos Genéticos procura adaptativa global relativamente a uma função objectivo, de inspiração biológica • Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest ) • Operadores Genéticos (Mendel) - recombinação (crossover ) - mutação (mutation ) A metáfora Biológica O último algoritmo que iremos analisar baseia-se nos princípios que governam a evolução das espécies naturais. Segundo Darwin, a natureza ao longo dos anos promove os indivíduos mais adaptados levando-os a reproduzirem-se mais do que os restantes. Assim uma espécie sujeita somente ao mecanismo de selecção natural terá tendência para convergir para uma população homogénea formada pelo indivíduo mais adaptado da população inicial. Tal não acontece graças à existência de operadores que actuam ao nível do material genético: o operador de recombinação que permuta material genético de dois cromossomas produzindo dois novos cromossomas e que combinado com o mecanismo de selecção permite acelerar a convergência; e o operador de mutação que introduz material genético novo assegurando a diversidade da população, condição importante para o encontrar de indivíduos óptimos. Os Algoritmos Genéticos são algoritmos de procura cega, paralela e estocástica guiados pelos princípios da selecção natural e da genética.

Conceitos • população • indivíduo • cromossoma • gene • alelo

Funcionamento

programa GA(fa,pr,pm,cp) % fa, função de adaptabilidade % pr, probabilidade de recombinação % pm, probabilidade de mutação, pm % cp, critério de paragem 1. Definir aleatoriamente e avaliar a população inicial, p0 2. Enquanto não existir um indivíduo em pi que satisfaz cp • Selecciona indivíduos de pi de acordo com fa • Recombina os indivíduos de acordo com pr • Muta os indivíduos de acordo com pm • Define e avalia nova população p i+1 3. Devolve o melhor individuo da população final Para se utilizar um AG é necessário que o problema seja representado de acordo com os conceitos referidos: população, indivíduo, cromossoma, gene, alelos.É também necessário especificar qual a função para avaliar a qualidade dos indivíduos, em que consistem as operações de recombinação e mutação e respectivas probabilidades e definir o critério de paragem (número de gerações ou indivíduo com determinada qualidade). Como dissemos o problema traduz-se depois em encontrar um indivíduo de qualidade máxima de acordo com a função de avaliação. O AG funciona partindo de uma população inicial gerada aleatoriamente. Enquanto o critério de paragem não for satisfeito é executado um ciclo envolvendo a sequência: selecção dos indivíduos mais aptos, sua recombinação e mutação. Vejamos o funcionamento do AG num exemplo simples recorrendo uma vez mais ao nosso domínio das células.

Recombinação (crossingover) • um ponto 11101001000 00001010101 11101010101 00001001000 • dois pontos • uniforme 11001011000 00101000101 10001000100 01101011001

Mutação • mutação aleatória - mudança de um gene num cromossoma • mutação por troca - dois genes do mesmo cromossoma trocam os respectivos valores

• proporcional à adaptabilidade (roleta) Selecção • proporcional à adaptabilidade (roleta) - problema da convergência prematura • por número de ordem (rank) - reduz a convergência prematura - importância dos menos aptos • elistista - um número fixo dos melhores passa sempre - limita o “poder destruidor” dos ops. genéticos