ECO Framework

Propaganda
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
Download