Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação – UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos heurísticos podem ser classificados como: heurísticas específicas (métodos construtivos e métodos de refinamento) e em meta-heurísticas (busca tabu, algoritmos genéticos, entre outros métodos). 2 Meta-heurísticas Características das meta-heurísticas: – meta-heurísticas são estratégias que “guiam” o processo de busca; – exploram o espaço de busca para encontrar soluções próximas ao ótimo; – são algoritmos aproximados e geralmente não determinístico; – incorporaram mecanismos para evitar ficarem presas em um ótimo local; – não são específicas para um determinado problema; – podem fazer uso de conhecimento específico do problema por meio de heurísticas; – meta-heurísticas mais avançadas utilizam a experiência obtida durante a busca (através de uma memória) para guiar a busca. 3 Algoritmos Genéticos 4 Algoritmos Genéticos: Definição Os Algoritmos Genéticos são procedimentos adaptativos, para a busca de soluções em espaços complexos, baseados na evolução biológica, com padrões de operações, baseados no principio darwinista de seleção natural e sobrevivência dos indivíduos que melhor se adaptarem ao ambiente. Darwin (1809 - 1882): Como se processa a Evolução ? Pela Adaptação Fatores determinantes do processo adaptativo Variações Hereditárias e Seleção Natural “Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver e gerar descendentes” Algoritmos Genéticos: Definição As variações hereditárias que ocorrem em uma população podem ser vantajosas ou não para os indivíduos que as experimentam. A Seleção Natural age eliminando os portadores de variações que dificultam ou impedem a sobrevivência e mantendo aqueles cujas variações permitem melhor explorar o ambiente. É desta maneira que age a seleção natural, atuando sobre as variações hereditárias, eliminando os indivíduos portadores de variações que dificultam ou impedem a sobrevivência, e mantendo aqueles indivíduos cujas variações permitem melhor explorar o ambiente. 6 Algoritmos Genéticos: Definição Aqueles indivíduos mais aptos aos requerimentos ambientais sobrevivem e se reproduzem deixando descendentes, e os menos aptos acabam desaparecendo. Com o passar das gerações, os indivíduos melhores dominam a espécie. 7 Características dos AG As principais características dos A.G. são: • Trabalham com uma população de indivíduos (cromossomos), cada um representa uma solução do problema. • Um cromossomo é uma estrutura de dados que representa uma possível solução do problema. • O conjunto de todas as configurações que o cromossomo pode assumir forma o espaço de busca. • O primeiro passo para resolver um problema com AG, é representar os parâmetros do problema na forma de um cromossomo. Características dos AG • O conjunto de parâmetros representados por um cromossomo particular é o genótipo. Estes parâmetros (genes) são colocados em um indivíduo (cromossomos), de forma codificada. • Depois deve-se definir uma forma de avaliar os cromossomos (aptidão ou fitness ). • De uma geração a outra, os indivíduos competem por recursos, aqueles mas aptos aos requerimentos ambientais, serão os que poderão, com maior probabilidade, deixar descendentes. Assim uma nova população é gerada, produzida por seleção dos melhores indivíduos desde a geração corrente. Funcionamento dos A.G. Começo Inicialização; Enquanto not ( Fim da Evolução ) t := t + 1; { próxima geração} Operadores_Genéticos; P(t) := P’(t); { próxima população } Fim Enquanto Fim Funcionamento dos A.G. Inicialização t:= 0; { tempo zero } P(t) ; { Geração da População Inicial } Avaliar P(t); { Avaliação da População } Fim Inicialização Operadores_Genéticos Seleção de Indivíduos P’ (Para gerar descendentes ) Recombinar P’ (Recombinação dos genes dos pais ) Avaliar P’(t) Fim Operadores_Genéticos Funcionamento dos A.G. 12 Funcionamento dos AG - Seleção Seleção: inspirado no processo de seleção natural, o AG seleciona os melhores cromossomos da população ( alta aptidão) para gerar cromossomos filhos através de operadores genéticos. Os cromossomos (os pais) são selecionados aleatoriamente, utilizando um esquema de favorecer os melhores. Os pais são selecionados com probabilidade proporcional a sua aptidão ( pi = fi / ( fi ) ) Selecionados os pais, os cromossomas são recombinados, utilizando operadores genéticos, como o cruzamento (crossover) e a mutação. Funcionamento dos AG - Seleção Probabilidade de Seleção 0.18; 0.16; 0.15; 0.13; 0.11; 0.09; 0.07; 0.06; 0.03; 0.02 Números Randômicos 0.81; 0.32; 0.96; 0.01; 0.65; 0.42. 18 Funcionamento dos AG - Cruzamento Cruzamento: Dado 2 indivíduos, eles são “cortados” aleatoriamente em uma posição física, produzindo 2 segmentos. A escolha randômica utilizada para saber onde os cromossomos são cortados, depende de uma probabilidade. Se o cruzamento não é aplicado, os filhos, são idênticos aos pais. Funcionamento dos AG - Cruzamento Exemplo: Ind1 0 1 1 1 0 0 1 1 0 1 0 Ind2 1 0 1 0 1 1 0 0 1 0 1 A posição de corte escolhida é 5 Des1 0 1 1 1 0 1 0 0 1 0 1 Des2 1 0 1 0 1 0 1 1 0 1 1 20 Funcionamento dos AG - Mutação Mutação: É aplicado a cada indivíduo, em cada posição do gene (locus). A aplicação deste operador depende também de uma probabilidade. 0 1 1 0 0 11 1 0 1 0 0 1 1 0 0 01 1 0 1 0 Operadores Secundários: Nicho e Espécies Diplodismo Outros Operadores. Diferenciação dos AG As Principais Características dos A.G. que o fazem diferentes das outras técnicas de busca, são: • São independentes do domínio do problema; • Trabalham com string de caracteres, geralmente em código binário, para representar um conjunto de parâmetros; • São relativamente imunes à alta dimensionalidade, mínimos locais e a ruídos; • São um método indutivo, e não dedutivo, porque procuram soluções através da justaposição de hipóteses; • Usam regras probabilísticas para guiar a busca, e não regras deterministas. Diferenciação dos AG • Só necessitam informação concernente à qualidade da solução produzida por cada conjunto de parâmetros (informação da função objetivo). Não como os métodos de otimização, que requerem informação derivada, ou completo conhecimento dos parâmetros e da estrutura do problema. • Consideram uma população de pontos, e não um só. Aqui, encontra-se implícito o paralelismo dos algoritmos genéticos, já que esses pontos vão evoluir juntos, compartir e disputar recursos, e aqueles que melhor de adaptem aos requerimentos ambientais gerarão descendentes. Diferenciação dos AG Exploitation significa exploração no sentido de tirar informações das soluções encontradas e exploration diz respeito à exploração no sentido de visitar pontos desconhecidos no espaço de busca na procura de novas soluções. Cruzamento e mutação, levam a exploration Seleção dirige a busca na direção dos melhores pontos do espaço, exploitation. 24 Conceitos Biológicos População, grupo de indivíduos os quais podem interagir, para por exemplo produzir descendentes. Indivíduo, membro de uma população. Cada indivíduo contém um cromossomo, o qual representa uma possível solução do problema a ser resolvido, isto é um ponto do espaço de busca. Cromossomo, biologicamente, um cromossomo é uma cadeia de DNA, encontrada nas células. Os cromossomos contém genes, cada um codificado como uma subseção de uma cadeia de DNA. Os genes determinam as características de um indivíduo. 25 Conceitos Biológicos Gene, a unidade de herança fundamental, contendo um segmento de DNA que codifica uma ou varias funções relativas e ocupa uma posição fixa ( locus ) de um cromossomo. O gene é a unidade de hereditariedade que é transmitida pelo cromossomo e que controla as características do organismo. Locus, posição física dos genes. Cada gene é capaz de ocupar só uma posição particular no cromossomo. Alelo, representa os valores que o gene pode assumir. Genoma, é o conjunto completo de genes de um organismo. 26 Conceitos Biológicos Crossover, é um operador genético, o qual forma um novo indivíduo. Mutação, é um operador genético, o qual forma um novo indivíduo. Evolução, é um processo de mudanças dado em uma população de indivíduos. Fitness ou aptidão , é um valor atribuído cada indivíduo, o qual representa como esse indivíduo resolve as tarefas colocadas pelo ambiente. Uma função fitness é utilizada para mapear um indivíduo em um valor. 27 Conceitos Biológicos Geração, de uma geração a outra, os indivíduos competem por recursos ambientais, aqueles mas aptos aos requerimentos ambientais, serão os que poderão, com maior probabilidade, deixar descendentes. Genótipo, a composição genética contida no genoma. Na computação evolutiva, representa a informação contida no cromossoma. Fenótipo, características físicas de um indivíduo. Na computação evolutiva, representa o objeto, estrutura ou organismo construído a partir das informações do genótipo. 28