A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

RESOLUÇÃO DE PROBLEMAS E PROCURA

Apresentações semelhantes


Apresentação em tema: "RESOLUÇÃO DE PROBLEMAS E PROCURA"— Transcrição da apresentação:

1 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)

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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!

10 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

11 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)

12 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

13 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.

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

15 Funcionamento

16 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.

17 Recombinação (crossingover)
• um ponto • dois pontos • uniforme

18 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

19 • 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


Carregar ppt "RESOLUÇÃO DE PROBLEMAS E PROCURA"

Apresentações semelhantes


Anúncios Google