190 likes | 333 Views
RESOLUÇÃO DE PROBLEMAS E PROCURA. Resolução de Problemas. Agente. Problema. Solução. Ambiente. Problema --> Modelo --> Solução. Problema --> Modelo ap --> Solução ex (Modelo ap ). Problema --> Modelo ex --> Solução ap (Modelo ex ). Procura num Espaço de Soluções Candidatas. N - Rainhas.
E N D
RESOLUÇÃO DE PROBLEMAS E PROCURA Resolução de Problemas 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
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 repete seleciona todos os (novos) estados na vizinhança de vc seleciona o melhor de entre os vizinhos, vn sevn é melhor do que vc entãovc <-- vn senão local <-- TRUEfim se até local ser TRUE t <-- t+1 se vc é melhor do que best entãobest <-- vcfim se atét ser igual a MAX fim programa o problema dos máximos locais!
Ei g(w)= custo até w w h(w)= custo estimado até Ef Ef A* 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 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 repete seleciona um novo estado vn , na vizinhança de vc sevn é melhor do que vc entãovc <-- vn senão se random[0,1) < e eval(vn)- eval(vc)/T então vc <-- vnfim 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 repete 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 sevn é 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 globalfim se até tentativas ser igual a um valor MÁXIMO fim programa
A metáfora Biológica • Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest ) • Operadores Genéticos (Mendel) - recombinação (crossover ) - mutação (mutation ) Algoritmos Genéticos procura adaptativa global relativamente a uma função objectivo, de inspiração biológica
Conceitos • população • indivíduo • cromossoma • gene • alelo
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
• um ponto 11101010101 00001001000 11101001000 00001010101 • dois pontos 11001011000 00101000101 11101001000 00001010101 • uniforme 10001000100 01101011001 11101001000 00001010101 Recombinação (crossingover)
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
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