UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Metaheurísticas de Otimização Bio-Inspiradas Aula 11 – Algoritmos Imunológicos – Parte 2* Prof. Dr. Hugo Valadares Siqueira * Aula baseada nas notas de aula do Prof. Fernando Von Zuben, da UNICAMP UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Sistemas Imunológicos Artificiais (SIAs) Definições na literatura: • Sistemas Imunológicos Artificiais são sistemas adaptativos, inspirados na imunologia teórica e em funções, princípios e modelos imunológicos e que são aplicados na resolução de problemas; • Um sistema imunológico artificial é um sistema computacional baseado em metáfora do sistema imune natural (Timmis, 2000); • Os sistemas imunológicos artificiais são compostos de metodologias inteligentes, inspirado no sistema imunológico natural, para a solução de problemas do mundo real (Dasgupta, 1998); UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Considerações • Possuem aplicações em diversas áreas, como otimização, mineração de dados, segurança computacional e robótica; • Os AIS possuem três vantagens principais sobre outras abordagens evolutivas clássicas: - São inerentemente capazes de manter a diversidade da população; - O tamanho da população a cada geração é automaticamente definido de acordo com a demanda da aplicação; - Soluções ótimas locais tendem a ser simultaneamente preservadas quando localizadas. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Propriedades dos sistemas imunológicos naturais a serem exploradas: • • • • • • • • • • • • • Diversidade Robustez Autonomia Auto-organização Organização multicamadas Maturação de afinidade (otimização) Distributividade Memória / Memória associativa Aprendizado por reforço Comportamento presa-predador Tolerância a ruído (reconhecimento parcial) Reconhecimento de padrões (tolerância e reatividade) Coerência sob fluxo de matéria, energia e informação. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Aplicações existentes na literatura • • • • • • • • • • • Reconhecimento / Classificação de padrões Detecção de anomalias e falhas Análise de dados (agrupamento, quantização, compactação) Sistemas baseados em agentes Busca e otimização (ambientes contínuos e discretos) Aprendizado de máquina Controle autônomo (robótica) Vida artificial e Sistemas complexos Segurança computacional Fluxo de dados (data streams) Homeostase (sistema nervoso + sistema endócrino + sistema imunológico) UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Primeiras aplicações • As primeiras aplicações foram fundamentadas em conceitos de imunologia teórica (meados dos anos 80); • 1990: Bersini aplicou sistemas imunológicos para resolver problemas de controle; • Meados dos anos 90: Forrest et al. – segurança computacional; • Trabalho da IBM em detecção de vírus; • Aprendizado de máquina: Hunt et al., também em meados dos anos 90. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Os primeiros eventos Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Formalismo Matemático • Dasgupta, 2006 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Passos para a síntese de um algoritmo imuno-inspirado 1. Definição do problema; 2. Mapeamento do problema real para o domínio do AIS; - 2.1. Definição dos tipos de células do sistema imunológico e as moléculas a serem utilizadas; - 2.2. Decidir os princípios imunes a serem usados na solução; - 2.3 Definir a representação matemática para os elementos da AIS; - 2.4 Avaliar as interações entre os elementos do AIS (dinâmica); -2.5 Controlar as dinâmicas da AIS; 3. Realizar o mapeamento reverso da AIS para o problema real. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Definições • Parátopo: sítio combinatório dum anticorpo que reconhece o antígeno e o lugar onde se unem o antígeno e o anticorpo; • Epítopo: é a área da molécula do antígeno que se liga aos receptores celulares e aos anticorpos; • Idiotopo: conjunto de epítopos que se formam na superfície do anticorpo e apresentam funcionalidade. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Reconhecimento via porções de regiões complementares • As moléculas do parátopo e do epítopo devem possuir uma afinidade mútua mínima, que será representada na forma de nível de acoplamento entre superfícies que possuam uma determinada quantidade de regiões complementares. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Espaço de formas - Se o repertório de moléculas de anticorpo é de tamanho N, então o espaço de formas para contém N pontos contidos numa região finita V; - Reconhecimento por complementaridade: a) V: região de reconhecimento; b) : limiar de afinidade; () – parátopo () - epítopo - Reatividade cruzada: habilidade de reagir com mais de um determinante antigênico ou a habilidade de uma população de moléculas de anticorpos de reagir com mais de um antígeno; Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Espaço de formas descreve quantitativamente as interações entre antígenos e moléculas do sistema imunológico; Representação: • Vetor de atributos: m = m1, m2, ..., mL, mSL L • Ab = Ab1, Ab2, ..., AbL • Ag = Ag1, Ag2, ..., AgL Alguns tipos de espaços de forma (medidas de distância): • Hamming • Euclidiano • Manhattan Afinidade: similaridade (inverso da distância) UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Espaço de formas • Afinidades no espaço de formas de Hamming (usando complementaridade) Diferentes algoritmos de cálculo de afinidade entre moléculas representadas no espaço de formas de Hamming. (a) Quantidade total de bits complementares; (b) Quantidade de r-bits complementares consecutivos. (c) Algoritmo de Hunt; (d) Medida de similaridade de Rogers & Tanimoto. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Fontes de inspiração para os algoritmos Escopo dos algoritmos • Algoritmos genéricos e em outros baseados em princípios imunológicos específicos, processos de interação já mapeados e modelos teóricos; Principais tipos: • Algoritmos de Medula Óssea • Algoritmos de Timo • Algoritmos de Seleção Clonal • Algoritmos de Teoria de Rede • Algoritmos de Teoria do Perigo UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Taxonomia dos algoritmos imuno-inspirados Dasgupta, 2006 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Algoritmo da Medula Óssea • Medula óssea: responsável pela geração das células sanguíneas, incluindo os linfócitos (células B); • Célula B: produz um único tipo de anticorpo e ambos possuem mesmo material genético; • O material genético está armazenado em cinco bibliotecas distintas; • Duas delas são utilizadas para gerar a região variável da cadeia leve (VL) e três para gerar a região variável da cadeia pesada (VH). UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • A produção de uma molécula de anticorpo se dá através da concatenação de componentes selecionados aleatoriamente a partir de cada uma das bibliotecas gênicas; • O modelo computacional mais simples de medula óssea é aquele que gera cadeias, ou vetores, de comprimento L utilizando um gerador de números pseudo-aleatórios; • Os modelos biologicamente mais plausíveis de construção de repertórios linfocitários exigem a utilização de bibliotecas gênicas a partir das quais as células e/ou moléculas serão evoluídas ou simplesmente geradas: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Este modelo pode ser empregado para a simulação da medula óssea no processo de geração de receptores celulares; • A quantidade de bibliotecas, o tamanho dos segmentos gênicos e o comprimento L das moléculas serão definidos pelo projetista de acordo com o problema a ser tratado; • É importante ressaltar que a utilização de bibliotecas gênicas para a geração do repertório linfocitário impõe inerentemente uma determinada estrutura ao repertório, como o tipo de dado a ser utilizado (numérico, simbólico, etc.) e o intervalo de varredura (p.ex., 1-10, Segunda, Terça, ..., etc.). UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Algoritmo de seleção clonal • O princípio da seleção clonal e o processo de maturação de afinidade constituem a base de uma resposta imune adaptativa; • Principais aspectos considerados para o desenvolvimento do algoritmo de seleção clonal (CLONALG): a) manutenção das células de memória funcionalmente independentes do repertório; b) seleção e reprodução (clonagem) das células mais estimuladas; c) morte das células menos estimuladas; d) maturação de afinidade e reseleção dos clones com maiores afinidades antigênicas; e) geração e manutenção de diversidade; f) hipermutação proporcional à afinidade celular. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa CLONALG • Objetivos - Implementação computacional do algoritmo de seleção clonal e maturação de afinidade; • Aplicações: – Aprendizagem de máquina, reconhecimento de padrões, otimização multimodal e combinatorial, aproximação de funções • Características: – Geração de variações genéticas através de um processo de hipermutação; – Proliferação e diferenciação celular após o reconhecimento antigênico. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Algoritmo de Seleção Clonal CLONALG (de Castro & Von Zuben, 2002): versão para otimização. f – avaliação do fitness UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Hipermutação Somática UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Hipermutação Somática • Mutações inversivas para o espaço Inteiro. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Algoritmo de Seleção Clonal CLONALG (de Castro & Von Zuben, 2002): versão para otimização. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Comparação com múltiplas execuções de um algoritmo genético padrão UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Pseudocódigo CLONALG Inicialização - Escolha os parâmetros do algoritmo e inicialize aleatoriamente os indivíduos da população. Processo Iterativo - Enquanto um número máximo de iterações ou gerações (gen) não for atingido, faça: 1. Calcule o custo (fitness) de todos os indivíduos da população. 2. Produza Nc cópias de cada indivíduo. 3. Aplique um processo de mutação a cada uma dessas cópias (clones), mantendo, no entanto, o indivíduo original inalterado. A mutação é proporcional ao custo e segue as duas equações a seguir: c´ = c + αN(0,1) α= (1/β)exp(-f), sendo b um parâmetro regulador da amplitude de mutação e f o valor de fitness do clone c (que deve, tipicamente, estar entre zero e um). 4. Determine o valor do custo dos novos indivíduos e, de cada grupoformado pelos clones e pelo indivíduo original, mantenha apenas a melhor solução. 5. A cada Nit iterações, inclua Nind soluções geradas aleatoriamente no lugar dos Nind indivíduos com menor fitness. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Relação entre a afinidade (fitness) normalizada D* = f/fmax do anticorpo e sua taxa de para diferentes valores do parâmetro ρ=1/β Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ aiNet • Objetivos: – Propor um modelo discreto de rede imunológica artificial • Aplicações: – Análise de dados e clusterização (com o auxílio de ferramentas estatísticas e de teoria de grafos); • Características: – Processo construtivo e de aprendizagem baseados no algoritmo CLONALG; – Conhecimento distribuído entre as células; – Conexões representando afinidade (distância) entre células da rede; – Capacidade de extração de relações entre as amostras de treinamento. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Manutenção de diversidade • Conceito – A rede imunológica artificial, denominada aiNet, é um grafo com conexões ponderadas, não necessariamente totalmente interconectado, composto por um conjunto de nós, denominados anticorpos, e conjuntos de pares de nós, denominados conexões, com uma valor característico associado, chamado de peso da conexão: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Opt-aiNet • Proposta , uma rede imunológica artificial destinada à otimização de funções de variáveis reais; • une as ideias de seleção clonal e maturação de afinidade à noção de rede imunológica; • caracteriza-se por um elegante compromisso entre exploração em domínios multimodais; • Incorpora a noção de rede imunológica por meio da introdução de um controle dinâmico do tamanho da população, o qual é responsável por mecanismos de supressão de anticorpos similares e pela introdução de novos anticorpos; • Com isto, a diversidade da população é mantida e consegue-se explorar adequadamente o espaço de busca. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Similaridade entre indivíduos - associado a uma métrica de distância: considera-se que dois indivíduos são similares quando a distância entre eles é inferior a um limiar; • Outra particularidade da opt-aiNet é que as operações de supressão e inserção de anticorpos são realizadas somente quando se identifica a ocorrência de estagnação na população; • População está estagnada: quando a variação percentual do fitness médio da população entre duas iterações é inferior a valor pequeno; • Convém destacar que esta verificação ocorre apenas em períodos específicos de iterações; • Desta forma, permite-se que a população evolua por um período, através de sucessivas operações de seleção clonal e de mutação de afinidade, antes de se executar a operação de supressão. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Opt-aiNet: Otimização Multimodal • O objetivo é não só para obter o ótimo global, mas também ótimos locais de alta qualidade; • Manutenção da diversidade; • Auto-adaptação do tamanho da população; • Busca local; • Gerenciamento de memória. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Opt-aiNet - Opt-aiNet (evolução do CLONALG, que inclui a aiNet): versão para otimização (espaços contínuos): Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Opt-aiNet • Artificial immune network for optimization; • Mais especificamente, a optimização multimodal num espaço contínuo: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Fluxograma Opt-aiNet – acrescente os seguintes passos ao CLONALG 6. Se o fitness médio da população não for significativamente alterado, continue. Caso contrário, volte ao início; 7. Determine a similaridade dos indivíduos dois a dois e suprima o de menor fitness; 8. Verifique o tamanho da população; 9. Introduza novos indivíduos gerados aleatoriamente, proporcionalmente à população atual.