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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 de Holland, em 1975. Evolução: ao longo de gerações os indivíduos de uma população alteram suas características para ficarem mais bem adaptado ao meio ambiente que habitam. Isto ocorre naturalmente com os seres vivos, animais ou vegetais.

2 Problemas de Otimização e Heurísticas Problemas que admitem muitas soluções válidas, chamadas de soluções viáveis. Há critérios que permitem avaliar a “qualidade” dessas soluções. Ex: Dados dois endereços (A e B) de uma cidade, encontrar um caminho para ir do ponto A ao ponto B. Numa cidade, por exemplo, há muitos caminhos possíveis para ir do ponto A ao ponto B. Os diversos caminhos possíveis, soluções do problema, podem ser avaliados e comparados, a procura do mais curto, ou o mais rápido.

3 Ex: Outro problema clássico é determinar a “melhor” rota para um caminhão de uma empresa que deve sair de um depósito, fazer as entregas, e retornar ao depósito. Este problema consiste em determinar a ordem com que os clientes serão visitados pelo caminhão. Por exemplo, para 5 clientes há 5!=120 ordenações possíveis, para 6 clientes há 6!=6*5!=720, e assim por diante. Para N clientes, há N! possíveis ordenações. Com N=10 clientes há milhões de ordenações possíveis.

4 Estes problemas se caracterizam por um crescimento muito grande no número de soluções possíveis, mesmo com pequeno crescimento no tamanho da entrada. Muitos problemas desse tipo não são resolvidos de modo manual, exigem o uso de computadores e software. A melhor solução possível desse tipo de problema é chamada “solução ótima” do problema. Há algoritmos para obter sempre a solução ótima, são chamados “algoritmos exatos”.

5 Mesmo com os melhores recursos para processamento, há problemas práticos para os quais não podemos usar algoritmos exatos, tempo demais ou processamento demais. Nessas situações, admite-se o uso de algoritmos que produzem “boas” soluções, não necessariamente a solução ótima, mas boas o suficiente para fins práticos. Esses algoritmos são chamados “Heurísticas”.

6 Heurísticas Algoritmos que produzem “boas” soluções para problemas de otimização, não necessariamente a “melhor” solução. Heurísticas específicas são criadas para resolver determinados problemas. Heurísticas mais genéricas chamadas “meta- heurísticas”, podem ser aplicadas a diversos problemas.

7 Meta-heurísticas são criadas por pesquisadores com as mais diversas inspirações. Entre as meta-heurísticas mais conhecidas estão: Busca tabu (tabu search) Colônia de formigas (ant colony) Nuvem de partículas (particle swarm) Recozimento Simulado (simulated annealing) Algoritmo genético (genetic algorithm)

8 O algoritmo genético (AG) básico foi proposto no artigo Adaptation in Natural and Artificial Systems, de John Henry Holland, em 1975. Trata-se de uma meta-heurística com inspiração na teoria da evolução das espécies, com o “aprimoramento” genético no decorrer das gerações. Não há fórmula mágica, e a configuração de uma meta- heurística para resolver um determinado problema. Isto se faz com experimentação, com tentativas e correções de erros, em geral usando problemas de teste, até que estejam adaptadas para resolver o problema real.

9 Máximo Local versus Máximo Global (ou mínimo) O conjunto de todas as soluções de um problema é chamado “espaço de soluções”. Cada solução deste espaço tem uma medida de qualidade que pode ser usada para comparar soluções. Se imaginarmos um gráfico, cada ponto do eixo horizontal é uma solução, e no eixo vertical marcamos a qualidade. Soluções próximas entre si, dentro do que se chama uma “vizinhança”, têm qualidades também próximas.

10 Assim, os pontos da curva com maior qualidade dentro de sua vizinhança são chamados “Pontos de Máximo”. O ponto de máxima qualidade, referente à solução “ótima” do problema, é chamado de “Máximo Global”. Os outros pontos de máximo são chamados de “Máximos Locais”, pois são pontos de máximo dentro de sua vizinhança.

11

12 Algoritmo Genético (AG) Básico Os AG’s trabalham com um conjunto de soluções para o problema sendo tratado. Este conjunto é chamado “população” de soluções. Cada indivíduo da população é uma solução válida para o problema. O AG consiste de um loop que a cada volta transforma a população atual em uma nova população. Esta transformação ocorre de tal forma que cada nova população deve ter indivíduos (soluções) de melhor qualidade.

13 Ao final do loop, a última população pode ser pesquisada e seu melhor indivíduo é o resultado do AG para o problema. Como o caso biológico da evolução dos indivíduos, cada nova população é chamada de nova “geração” de indivíduos. Na evolução natural, os indivíduos mais bem adaptados ao meio têm mais “chance” de transmitir suas características a seus descendentes. O termo “chance” é importante porque mostra que o AG não é determinístico, ou seja, tem caráter de aleatoriedade. Assim é possível rodar o AG mais que uma vez sobre o mesmo problema e obter soluções diferentes.

14 Forma geral do algoritmo: INICIALIZA(P); AVALIA(P); PARA T=1 ATÉ MAXGEN FAZER P2  VAZIO; PARA I =1 ATÉ N SELECIONA( PAI1 ); SELECIONA( PAI2 ); CRUZAMENTO( PAI1, PAI2, FILHO ); COM PROBAB.PMUT MUTAÇAO( FILHO ); INSERIR FILHO EM P2; FIM PARA; AVALIA(P2); P  P2; // substitui a geração atual pela nova FIM PARA; RETORNA MELHOR INDIVÍDUO EM P.

15 Cromossomo É o nome dado aos indivíduos da população representados de algum modo adequado. Em geral, um cromossomo é um array de elementos chamados “Genes”. Por exemplo, um cromossomo pode ser uma seqüência com uma determinada quantidade de bits. Cada bit será um gene desse cromossomo. Cromossomo: 01101011 Esta é a forma mais elementar de cromossomo.

16 Cruzamento

17 Mutação

18 Seleção por Roleta

19 Elitismo Processo de manter os melhores indivíduos da população atual na população seguinte. Serão mantidos “vivos” alguns indivíduos da população anterior. Na forma geral do AG que vimos, a cada nova geração todos os indivíduos da população anterior eram substituídos. Não há garantia de que o melhor indivíduo gerado em todo o processo esteja na população final. Mesmo que apenas o melhor indivíduo de cada geração seja mantido “vivo”, certamente o melhor indivíduo produzido em todo o processo será “levado” até a população final.


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google