• Nenhum resultado encontrado

3 O Problema da Árvore Geradora Bi-objetivo (AG-bi)

4.5 Algoritmos Transgenéticos

Algoritmos transgenéticos são técnicas de computação evolucionária baseadas em processos de vida em que a cooperação é a principal estratégia de evolução (GOLDBARG et al., 2009). Os Algoritmos Transgenéticos realizam a pesquisa no espaço de soluções de problemas de otimização por meio de um contexto computacional inspirado na troca de informações entre uma célula hospedeira e uma população de endossimbiontes. Ou seja, a busca realizada nos algoritmos transgenéticos mimetiza as interações intracelulares ocorridas via endossimbiose e transferência horizontal de genes. Segundo Goldbarg e Goldbarg (2008), três contextos de informação são considerados nos Algoritmos Transgenéticos:

 Soluções, representadas pelos cromossomos, também chamados cromossomos endossimbiontes;

 Informações sobre o problema em questão e informações sobre a busca evolucionária que o algoritmo realiza, chamadas informações do hospedeiro;  Entidades que são utilizadas para modificar as soluções candidatas, chamadas

vetores transgenéticos.

Os algoritmos transgenéticos mimetizam a evolução de endossimbiontes em uma célula hospedeira em consonância com o paradigma da evolução proposto por Lynn Margulis em sua Teoria Serial da Endossimbiose. Nesse contexto, os endossimbiontes são interpretados como os indivíduos da população de soluções candidatas, as quais constituem a população de cromossomos endossimbiontes.

As informações sobre o problema e sobre a busca evolucionária constituem a informação genética do hospedeiro. A informação é dita a priori se existir independentemente da busca que o algoritmo realiza. Este tipo de informação é, em geral, inerente ao problema ou à instância que está sendo tratada, tais como: limites superiores e inferiores, soluções

heurísticas e resultados de análise estatística da estrutura do problema. Informações a posteriori são obtidas durante a execução do algoritmo e estão relacionadas à busca. Por exemplo, novas e melhores soluções ou soluções parciais podem emergir da população de cromossomos. Informações a priori e a posteriori são armazenadas em um repositório chamado repositório do hospedeiro.

A evolução artificial promovida pelo algoritmo transgenético é guiada pela otimização da população de soluções candidatas. De acordo com o exposto na seção 4.2, um novo indivíduo pode emergir da fusão de dois ou mais indivíduos em função de uma relação endossimbiótica de grande relevância para a sobrevivência destes seres. A partir deste momento, o código genético a ser transmitido aos descendentes advém dos organismos que se fundiram. Na abordagem proposta pela transgenética computacional, esta interação entre a informação genética dos endossimbiontes e a informação genética do hospedeiro é o único mecanismo utilizado para promover a evolução e, conseqüentemente, a busca evolucionária. Assim, as informações do repositório do hospedeiro são utilizadas pelos vetores transgenéticos para modificar as soluções na população de endossimbiontes.

Os vetores transgenéticos são inspirados em mecanismos de transferência horizontal de genes e são nomeados como tais. Sua função é modificar as soluções representadas nos cromossomos endossimbiontes, gerando a variação necessária para efetuar a busca. Os vetores transgenéticos são as únicas ferramentas que realizam as tarefas de intensificação e diversificação nos algoritmos transgenéticos (GOLDBARG; GOLDBARG, 2008). Os vetores transgenéticos implementados no algoritmo apresentado neste trabalho são os plasmídios, os plasmídios recombinados e os transposons.

Um vetor transgenético λ = (I, Φ) é composto por uma cadeia de informação I e por um método de manipulação de cromossomos Φ = (p1, ..., ps), pj, j = 1, ..., s, são procedimentos

que definem a ação do vetor, ou seja, a forma com que cada vetor vai atuar sobre os endossimbiontes com base em sua cadeia de informação. Esses procedimentos são pré- definidos de forma genérica. Assim, a depender da natureza do problema, diversas implementações de cada procedimento podem ser propostas e, obviamente, terem resultados distintos. A tabela 4.1 lista os procedimentos que compõem os métodos de manipulação de um vetor transgenético, de acordo com Goldbarg e Goldbarg (2008).

Procedimento Nome Descrição

p1 Ataque Verifica, de acordo com um dado critério, se o cromossomo C é suscetível, ou não, à manipulação pelo vetor transgenético. p2 Transcrição

Define como a cadeia de informação de λ é transcrita em C. A transcrição é executada apenas se o procedimento p1 retorna

“verdadeiro”. p3 Bloqueio

Estabelece um período de tempo (isto é, um número de iterações) no qual a informação transcrita não pode ser alterada em C.

p4 Identificação Identifica as posições em C que vão ser utilizadas para limitar a operação de λ.

A cadeia de informação I de um vetor transgenético pode conter (a) fragmentos de DNA obtidos do repositório de informações genéticas ou (b) regras abstratas de rearranjo genético.

Em consonância com a inspiração biológica, há quatro tipos de vetores transgenéticos: plasmídios, plasmídios recombinados, vírus e transposons. Neste trabalho, enfatizam-se os vetores utilizados no algoritmo desenvolvido, a saber: plasmídios, plasmídios recombinados e transposons.

No caso dos plasmídios e plasmídios recombinados, a cadeia de informação é uma seqüência de genes que representa uma solução parcial. Plasmídios e plasmídios recombinados diferem apenas quanto à maneira com que suas cadeias de informação são obtidas. Plasmídios obtêm sua cadeia de informação de uma fonte do repositório do hospedeiro. A cadeia de informação de um plasmídio recombinado pode ser obtida da combinação de duas ou mais fontes do repositório do hospedeiro, pode ser gerada por uma heurística ou método exato, ou ainda, pode ser o resultado da combinação de informações obtidas do repositório do hospedeiro com informações obtidas por algum método (GOLDBARG; GOLDBARG, 2008).

O método de manipulação dos plasmídios, recombinado ou não, é composto pelos procedimentos de ataque (p1) e transcrição (p2). O tamanho de um plasmídio é obtido pelo

número de genes na sua cadeia de informação.

A cadeia de informação de um transposon apresenta regras para rearranjo de genes no cromossomo do endossimbionte. Por exemplo, estas regras podem refletir uma ação do

transposon no sentido de permutar os genes de um determinado intervalo do cromossomo. Os procedimentos de manipulação utilizados são ataque (p1), transcrição (p2) e identificação (p4)

(GOLDBARG; GOLDBARG, 2008). No âmbito deste trabalho, não são considerados transposons que lidam com mais de um cromossomo.

O algoritmo TC (Transgenética Computacional) exibido a seguir apresenta um framework genérico para a abordagem da transgenética computacional. Uma população inicial de cromossomos é iniciada e avaliada. O repositório do hospedeiro é inicializado com informações a priori e, se há alguma informação interessante na população, então ela também é incluída no referido repositório. Os passos de 3 a 8 são repetidos até que um critério de parada seja satisfeito. No passo 4, os vetores transgenéticos são criados e, no passo 5, um conjunto de cromossomos é escolhido para ser manipulado. Se a ação dos vetores transgenéticos nos cromossomos produz novas informações, então o repositório do hospedeiro é atualizado no passo 7.

Algoritmo TC

1 Gerar e avaliar a população de cromossomos. 2 Inicializar o repositório do hospedeiro (RH). 3 Repita

4 Gere vetores transgenéticos.

5 Selecione cromossomos para manipulação.

6 Manipule os cromossomos selecionados.

7 Atualize RH.

8 Até que um critério de parada seja satisfeito.

Goldbarg e Goldbarg (2008) defendem que, em um algoritmo transgenético, vários tipos de informações são combinadas, por meio de contextos de informação interdependentes, porém autônomos. Assim, o aninhamento destes contextos resulta em um comportamento complexo. Em virtude desta característica, a abordagem transgenética se caracteriza pelo gerenciamento de informações. Nesse sentido, se o problema é capaz de fornecer informação de qualidade, esta metaheurística tem grande probabilidade de obter resultados competitivos quando comparada a outras abordagens.

Tendo em vista que o problema da árvore geradora mínima apresenta excelentes algoritmos em tempo polinomial, informações de qualidade podem ser facilmente geradas para auxiliar o algoritmo transgenético na solução da árvore geradora bi-objetivo. Esse fator,

aliado ao sucesso da transgenética quando aplicada a outros problemas, influenciou para que essa metaheurística fosse adotada neste trabalho.

No capítulo a seguir, apresentar-se-á o estado da arte da Transgenética Computacional aplicada ao problema da Árvore Geradora Biobjetivo e sua relação com a história desse trabalho. Em seguida, no capítulo 6, será apresentado o algoritmo ATIS-NP, resultado do aperfeiçoamento dos outros algoritmos já desenvolvidos, com inclusão de novas idéias e aprofundamento da mimetização proposta pela Transgenética Computacional.

5 Estado da Arte de Algoritmos Transgenéticos para a

Documentos relacionados