ECO Framework Devair Darolt, Robson Berthelsen 1 Sumário ● ● ● ● ● ● ● O que é um ecossistema? Definição de otimização Ecossistema na computação Exemplo Exemplo prático Vantagens na utilização de um ecossistema computacional Referências 2 O que é um ecossistema? ● O ecossistema é a unidade principal de estudo da ecologia e pode ser definido como um sistema composto pelos seres vivos (meio biótico) e o local onde eles vivem (meio abiótico, onde estão inseridos todos os componentes não vivos do ecossistema como os minerais, as pedras, o clima, a própria luz solar, e etc.) e todas as relações destes com o meio e entre si. 3 Principais componentes de um ecossistema: ● ● ● ● Fatores abióticos, que são os componentes básicos do ecossistema; Seres autótrofos, geralmente as plantas verdes, capazes de produzir seu próprio alimento através da síntese de substâncias inorgânicas simples; Consumidores, heterotróficos – que não são capazes de produzir seu próprio alimento, ou seja, os animais que se alimentam das plantas ou de outros animais; Decompositores, também heterotróficos, mas que se alimentam de matéria morta. 4 Diagrama de um ecossistema Figura 1. : Ecossistema terrestre Fonte: http://biolugando.blogspot.com.br/2012/09/cadeia-e-teia-alimentar.html 5 Níveis de estudo de um ecossistema: ○ ○ ○ ○ Individual (organismo): estuda o efeito individual e como esses organismos são afetados pelo ambiente; Populacional: refere-se ao crescimento de uma população e os fatores que influenciaram este crescimento; Nível de comunidade: refere-se ao estudo da interação entre as interações entre as espécies e com os componentes abióticos deste ambiente; Nível de ecossistema: além de todos os níveis acima estarem incluídos neste, ele adiciona ciclos de matéria e trocar de energia que ocorrem entre os componentes abióticos e bióticos deste sistema. 6 Definição de Otimização ● Espaço de Busca: possíveis soluções de um problema; ● Função objetivo: Avalia cada solução com uma nota; ● Tarefa da otimização: Encontrar a solução que corresponda ao máximo ou ao mínimo da função objetivo. 7 Funções objetivos Figura 2. Funções objetivos - Fonte: (Parpinelli RS, Lopes HS) 8 Função Schaffer Schaffer Figura 3. Função Schaffer - Fonte: (Parpinelli RS, Lopes HS) 9 Ecossistema Computacional para Otimização - (ECO) ● Em um Ecossistema Computacional para Otimização, os indivíduos são candidatos á soluções do problema, espalhados em um ambiente que constitui o espaço de busca definido por uma função objetivo ● O problema pode ter características como: ○ ○ ○ ○ mono-modal / multi-modal; Restrito / Irrestrito; Continuo / Discreto; Stático / Dinâmico. 10 Ecossistema Computacional para Otimização - (ECO) ● ● ● É uma meta-heurística para problemas de otimização; Um conjunto de candidatos a solução define uma população; O ECO é composto por um conjunto de diversas populações que podem interagir entre si; 11 Ecossistema Computacional para Otimização - (ECO) Figura 4. Representação de um ECO. Fonte: (Parpinelli RS, Lopes HS) 12 Ecossistema Computacional para Otimização - (ECO) ● ● Exemplo de ECO contendo 3 populações; Comportamento padrão é a sobrevivêbncia: ○ Estratégia de evolução com base no fittest ○ Estratégia de busca de alimento das abelhas; ○ Estratégia de busca de alimento das formigas; ○ Estratégia de migração de pássaros. O ECO homogêneo: Toda população evolui de acordo com uma única estratégia de otimização configurados com os mesmos parâmentros de controle 13 Ecossistema Computacional para Otimização - (ECO) ● Um ECO pode lidar com diferentes estratégias de populações, no entanto alguns requisitos devem ser analizados para utilização de determinadas populações: ○ Algoritmos de colônias de formigas não são totalmente adaptavéis para problemas contínuos, enquanto algoritmos de enxame de partículas não são tão bem adaptavéis para problemas combinatóriais (Agrupamento de dados, etc) 14 Ecossistema Computacional para Otimização - (ECO) Figura 6. Representação baixo nível de um ECO genérico. Fonte: (Parpinelli RS, Lopes HS) 15 Ecossistema Computacional para Otimização - (ECO) O plano intermediário da imagem contém um gráfo mostrando um conjunto de populações: {Q1, Q2, Q3… Qn} No entanto em um ambiente biológico um indivíduo de uma determinada população pode migrar de um habitat para outro. j Assim: Q (t) Cada população é composta por seus próprios indivíduos que são possíveis soluções para o problema. Quando as populações são dispersas no ambiente, que constitui o espaço de busca, acada agrupamento de indivíduos formam um habitat ecológico. {H1,H2,H3...Hn} No qual pupulação i pertence ao i habitat j no istante t Intra-habitat: Cada indivíduo de um pupulação pertencente à um habitat trocam informações Inter-habitat: Indivíduos de uma população que pertence à um habitat pode migrar e assim transportar informações para outro habitat 16 Ecossistema Computacional para Otimização - (ECO) ● Relações entre populações: ○ ○ Homotipic → Relacionamentos entre a mesma espécie de indivíduos de populações diferentes, ■ Positivo: Constituição de sociedades ecolonias. ■ Negativo: Canibalismo e competição por objetivo. Heterotipic → Relacionamento entre espécies diferentes de indivíduos ■ Positivo: Mutualismo, Protocooperação, inquilinismo, comensalismo. ■ Negativo: amensalismo, predação, parasitismo, escravidão. Canibalismo: é um tipo de relação ecológica em que certas espécies de animais se alimentam de indivíduos da mesma espécie. Mutualismo: define um tipo de interação entre duas espécies que se beneficiam reciprocamente da associação entre elas de forma obrigatória (simbiose). Protocooperação: duas espécies diferentes de indivíduos independentes podem conviver armonicamente . Inquilinismo: apenas uma das espécies é beneficiada, sem que a outra seja prejudicada. Comensalismo: uma das espécies sobrevive dos restos de alimentos de outra espécie. Amensalismo: relação ecológica entre duas espécies em que uma inibe ou impede o desenvolvimento da outra; antibiose. Predação: uma espécie sobrevive a partir de outra. Parasitismo: uma espécie sobrevive da outra causando danos ao seu hospedeiro. Escravidão: Quando um individuo escraviza outro para obter vantagens. 17 Ecossistema Computacional para Otimização - (ECO) 18 Ecossistema Computacional para Otimização - (ECO) Linha 3-10: Interações com o ecossistema; Linha 4: cada população evolui uma geração a cada interação. Linha 5: calcular a centróide de cada população; Linha 6: Algoritmo de clustering para determinar o habitat de acordo com a distância euclidiana com a centróide. Linha 8: Realiza a função de Torneio, estratégia de comunicação entre individuos de uma população Parâmetros: N-POP→ quantidade de população; Linha 9: O melhor indivíduo de cada habitat POP-SIZE → tamanho da população; migra para outro habitat substituindo um ECO-STEP→ quantidade de ciclos de sussesôes ecológicas; individuo aleatório exceto o melhor. (Predatismo) EVO-STEP → tamanho do período de evolução; T-SIZE → tamanho do torneio O ciclo é realizado até que a quantidade maxima de sucessôes ecológicas ser atingidos. 19 Exemplo Schaffer NQ = 10 POP = 10 ECO-STEP = 100 EVO-STEP = 100 T-SIZE = 5 p= 0.5 20 Exemplo A figura a) mostra a distribuição das NQ=10 populações no espaço de busca; Cada uma das 10 popolações possui POP = 10 candidatos a soluções; O período de evolução EVO-STEP é definido com 100 interações. A cada período de evolução acontece uma definição de habitat. 21 Exemplo ● ● A figura b) representa a centróide de cada população; A figura c) represente os habitats definidos a partir da centroide com a distancia euclidiana de cada individuo; assim é possivel observar a existencia de 7 habitats. H0 = {sp0} H1 = {sp1, sp2, sp7} H2 = {sp3, sp6} H3 = {sp4} H4 = {sp5} H5 = {sp8} H6 = {sp9} ● Essa matriz de habitat define o relacionamento interhabitat no qual individuo da população sp1 pode manter relacionamento com indivíduo da população sp2 ou sp7 22 Exemplo ● A figura d) mostra os habitats definidos na 100 inteiração do período evolutivo. H0 = {sp0, sp1, sp2, sp3, sp4, sp5, sp7, sp9} H1 = {sp6} H2 = {sp8} Podemos observar que os individuos convergem para o H0 próximo ao ótimo global. 23 24 Exemplo prático Problema: Protein Structure Prediciton Problem (PSP) Definição do problema: As proteínas estão presentes em todos os organismos vivos, elas desempenham um papel fundamental nestes organismos, sendo uma estrutura básica e fundamental para a vida. Esses componentes básicos desempenham funções variadas, ter o conhecimento da função realizada pelas inúmeras proteínas é de grande utilidade, pois com essas informações podem-se diagnosticar doenças, descobrir curas, desenvolver novos medicamentos, entre outras inúmeras utilidades. Prever a estrutura de uma proteína a partir de aminoácidos é um dos maiores problemas ainda não resolvido da biologia molecula. Um modelo computacional pode ser a chave para a predição. Algoritmo: Ecologically Inspired Algorithm - Eco Optimiz 25 Vantagens de se utilizar um ecossistema computacional na resolução de problemas ● ● ● ● Abre a possibilidade de integrar diferentes meta-heurísticas; Estrutura topológica para comunicação entre as populações são dinamicamente definidas utilizando-se as informações da população durante o processo de otimização; Há dois níveis de comunicação, chamados de intra-habitats e inter-habitats que favorecem a co-evolução; É mais adequado para problemas multimodais altamente restritos, tais como o problema de PSP; 26 Referências 1. PARPINELLI, R.S.; LOPES, H.S. "Biological Plausibility in Optimization: An Ecosystemic View". International Journal of Bio-Inspired Computation (Online), v. 4, p. 345-358, 2012. 2. PARPINELLI, R.S.; Lopes, H.S. "A Hierarchical Clustering Strategy to Improve the Biological Plausibility of an Ecology-based Evolutionary Algorithm". In: IberoAmerican Conference on Artificial Intelligence (IBERAMIA), 2012, Cartajena. Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence. Berlin, Heidelberg: Springer-Verlag, 2012. v. 7637. p. 310-319. 27