UMA APLICAÇÃO DO ALGORITMO TRANSGENÉTICO EXTRA-INTRACELULAR PARA SOLUÇÃO DO PROBLEMA DA COLORAÇÃO DE GRAFOS Lívia Maria Marins da Silva Elizabeth Ferreira Gouvêa Joaquim Elias Lucena de Freitas 1 2 3 Resumo Este trabalho apresenta a Transgenética Computacional (TC), aplicada ao Problema da Coloração de Grafos. A TC pretende acelerar o processo de busca em Algoritmos Genéticos através da manipulação de bons pedaços dentro do cromossomo, em analogia à Engenharia Genética. Esta manipulação utiliza-se de ferramentas denominadas de agentes transgenéticos. Particularmente, neste trabalho, é utilizado o conceito de vírus como agente transgenético e, com a utilização deste agente em alguns casos, os resultados obtidos pelo algoritmo Transgenético são melhores comparados com os resultados obtidos pelo Algoritmo Genético Construtivo. Palavras Chave: Transgenética Computacional; grafos; infecção viral. 1 coloração de INTRODUÇÃO A habilidade de combinar bons pedaços (building blocks) de soluções diferentes e juntá-los em uma única supersolução, é o fator do sucesso dos Algoritmos Genéticos (AGs) clássicos. Apesar disso surgem problemas quando os pedaços de composição utilizados não se encontram agrupados dentro do cromossomo. A Transgenética Computacional permite uma série de recursos muito úteis ao projeto de algoritmos, envolvendo regras para a preservação das informações associadas aos building blocks, a seu processo de organização dentro do cromossomo e ao equilíbrio entre os esforços de intensificação e diversificação da busca. 1 Mestre em Ciência da Computação (UFRN), professora dos Cursos de Sistema de Informação e Licenciatura em Computação. E-mail: [email protected] Doutora em Engenharia de Produção (COOPE), professora da Graduação e Pós-graduação em Ciência da Computação. E-mail: [email protected] Mestre em Ciência da Computação (UFRN), professor dos Cursos de Administração com Habilitação em Sistema de Informação e Comercio Exterior, Contabilidade e secretariado Executivo. E-mail: [email protected] 2 3 R. FARN, Natal, v.l, n.l, p. 127 - 136 JuL/dez. 2001. 127 2 O PROBLEMA DA COLORAÇÃO DE GRAFOS Considere G(V A) um grafo e C um conjunto de cores. Uma coloração de G é uma atribuição de alguma cor de C para cada vértice de V, de tal modo que a dois vértices adjacentes sejam atribuídas cores diferentes. Assim sendo, uma coloração de G é uma função/• V —> C tal que para cada par de vértices v,w e V tem se (v,w) e A f(v) ^ f(w). f 3 PARADIGMA DO FLUXO EXTRACELULAR, INTRACELULAR E o PARADIGMA EPIGENÉTICO Os algoritmos Genéticos utilizam, de modo geral, como ferramentas de operacionalização, os chamados mecanismos de seleção, cruzamento e mutação. O processo imita a chamada evolução Darwiniana e pode se tratar de cruzamento entre células. Convém notar que, no processo reprodutivo biológico, a seleção pertence a um contexto diferente daquele próprio ao cruzamento e mutação dos cromossomos. A seleção reprodutiva ocorre dividida em duas partes: no contexto ambiental, quando da escolha do parceiro de reprodução, e na da corrida das células reprodutivas. Enquanto a seleção ocorre em um universo macroscópico ou no mínimo multicelular, o cruzamento e as mutações ocorrem no contexto da célula embrião, da microbiologia, pode-se dizer que seu fluxo de operacionalização da manipulação genética é extracelular (KARGUPTA, 1998). O processo evolucionário do DNA, contudo, é muito mais complexo do que o representado pelo Fluxo Extracelular. Existem pelo menos mais dois grandes fluxos capazes de interferir e transformar o DNA. A expressão do DNA em proteínas é realizada em um fluxo diferente do utilizado para sua reprodução. Ao conjunto de interações intracelulares que levam o DNA a se expressar na síntese das proteínas e ser "regulado" ou eventualmente até "manipulado" por outros agentes, denomina-se Fluxo Intracelular. O mecanismo de transporte de informações do DNA—>RNA—>Aminoácido é, via de regra, unidimensional, não implicando em modificações do DNA. Contudo, outras dinâmicas do fluxo intracelular podem ocasionar alterações no DNA. O fluxo intracelular é uma via de expressão em mão dupla. A principal característica do fluxo intracelular é que ele representa um caminho da atuação física sobre os genes. Existe, contudo, um terceiro contexto que pode resultar em manipulação genética. Esse caminho depende da expressão comportamental do indivíduo e de seu relacionamento com o meio ambiente. Nesse caso não mais por contato físico-químico direto, mas ainda assim gerando conseqüências físicas. Essa via 128 R. FARN, Natal, v.l, n.l, p. 127- 136 ,jul./dez.2001. depende da expressão comportamental do indivíduo e de seu relacionamento com o meio ambiente. Esse contexto incorpora a seleção baseada em conteúdo comportamental e, via de regra, social também. A estratégia interferente tem muita relação com a pressão evolutiva comportamental. Esse paradigma é denominado epigenético 4 A TRANSGENÉTICA COMPUTACIONAL. A metáfora da Transgenética Computacional (TC) é a técnica que incorpora o fluxo intracelular e o paradigma epigenético no contexto computacional da metáfora evolucionária. Ela tem como características principais: a incorporação de informações de forma planejada no processo evolucionário e a manipulação de genes, com o objetivo de melhorar o código genético. A incorporação da informação é realizada através de processos análogos aos da Engenharia Genética. A TC aborda a resolução de problemas considerando aspectos e paradigmas da evolução biológica que não somente a chamada seleção natural A Transgenética utiliza o fluxo intracelular como uma via para realização da manipulação genética. As manipulações são realizadas, em analogia ao modelo biológico, através de agentes lógicos apropriados à codificação computacional. Os principais agentes da manipulação genética são os Vírus, Enzimas Mensageiras e as Partículas Genéticas Móveis (GOLDBARG; GOUVÊA, 2000). Neste trabalho, o agente transgenético utilizado para a manipulação é o vírus do tipo esquema. 5 ALGORITMO TRANSGENÉTICO Os algoritmos Transgenéticos (AT), assim como os algoritmos Genéticos, fazem parte da área dos sistemas inspirados na natureza, simulando processos evolucionários e aplicando-os à solução de problemas reais. Por outro lado, os ATs caracterizam-se pela habilidade de inserir informações ao contexto evolucionário permitindo que a busca no espaço de soluções seja realizada de forma eficiente. Existem duas linhas principais de classes de algoritmo desenvolvidos pela Transgenética: uma que utiliza o fluxo extracelular e intracelular e a linha que utiliza apenas o fluxo intracelular de planejamento para a solução do problema da busca heurística. O algoritmo transgenético utilizado neste trabalho é do tipo Extra Intracelulares (ATEIs) simples baseados nos seguintes paradigmas: Memética, Engenharia Genética e Evolução Darwiniana. R. FARN, Natal, v.l, n.l, p. 127 - 136 ,jul./dez.2001. 129 Procedimento AT t=0 gera_agentes_manipulação (d, t); inicia_população (P, t); avaliação (P, t); Repetir até (t = c) t = t+1; seleção_dos_pais (P, t~l); insere_agente (P, t); recombinação (P, t); alta (P, t); avaliação (P, t); sobrevivem (P, t); fim do repita fim Algoritmo. 1 - Algoritmo Transgenético Extra- Intracelular Onde:: t - tempo atual; c - tempo determinado para finalizar o algoritmo; P- população e ú - agente de manipulação. 6 O VÍRUS Por analogia às suas funções naturais, chamaremos de Vírus o agente que transportará e transcreverá diretamente informações nos cromossomos. O principal objetivo do Vírus é somar sua informação à informação que constitui o genótipo do indivíduo, de modo a maximizar a eficiência da estratégia de busca. A informação transportada pelo Vírus pode ser obtida de forma endógena ou exógena ao processo evolucionário. O agente Vírus pode ser imaginado como o veículo de transporte de uma proposta de organização de um certo trecho do ADN - meme, munido de um método de implementação dessa proposta no interior do cromossomo. Um Vírus, em conformidade como a definição de agente aqui adotada, pode ser caracterizado de uma forma completamente abstrata. Um Vírus, na metáfora transgenética, é 130 R. FARN, Natal, v.l, n.l, p. 127- 136 JuL/dez. 2001. uma cadeia de informação ( I ) associada a um método de Contaminação (O) e um método de Descontaminação (V), formando uma tripla ç = ( I , O, V). 7 RESULTADOS E ANÁLISE DOS EXPERIMENTOS O algoritmo transgenético Extra-Intraceluar (ATEI) utilizado neste trabalho teve como algoritmo de substrato um algoritmo genético construtivo (RIBEIRO FILHO; LORENA, 1997). Este algoritmo foi testado para o Problema da Coloração de Grafos, usando algumas instâncias da literatura (TRICK, 2000). No Problema da Coloração de Grafos, acredita-se que um cromossomo ideal para esse problema seria aquele que possuísse vértices adjacente coloridos com cores diferentes; por esse motivo, optamos por trabalhar com cliques representando o agente vírus utilizado e essas cliques serão coloridas de modo que os vértices adjacentes possuam cores diferentes. As cliques, neste trabalho, possuem tamanho maior que 2. A geração das cliques foi baseada na heurística NochoicedeTurner(TURNER, 1988). A Tabela 1 mostra as características de cada instância. As colunas vértices, arestas e cores correspondem, respectivamente, à cardinalidade dos conjuntos de vértices e arestas e ao número cromático do grafo. A coluna N° de Agentes mostra o número de vírus utilizado para cada instância. Tabela 1 - Características das instâncias para o Problema da Coloração de Grafos Instâncias Anna David Huck Jean Games 120 Miles250 Miles500 Miles750 Queen55 Queen66 Mulsol_l Mulsol_2 Zeroin_l Zeroin_2 Vértices 138 87 74 80 120 128 128 128 25 36 197 188 211 211 Arestas 493 406 301 254 638 387 1170 2113 160 290 3925 3885 4100 3541 Cores 11 11 11 10 9 8 20 31 5 7 49 31 49 30 R. FARN, Natal, v.l, n.l, p. 127 - 136 ,jul./dez.2001. N° de Ag» 10 10 11 21 9 15 19 14 6 8 8 8 10 6 131 Os resultados da Tabela 2 mostram os resultados da implementação de ambos os algoritmos em relação à função adequação, em que consideramos a nomenclatura de S V para o algoritmo genético e CV para o algoritmo transgenético Extra-Intracelular (ATEI). Verifica-se, através da coluna Mínimo, que a solução ótima não foi encontrada em nenhuma das 5 rodadas do algoritmo genético para 10 instâncias. O algoritmo transgenético não encontra a solução ótima para 8 instâncias. Observa-se que para as instâncias Huck e Miles250, a solução ótima é obtida em todas as rodadas do algoritmo transgenético. Tabela 2 - Resultados quanto ao valor de adaptação E . Instâncias Amostr a Média Median a Mínim o Desviopadrão JEAN_SV JEAN_CV HUCK_SV HUCK_CV DAVID_SV DAVID_CV GAMES 120_S V GAMES 120_ CV ANNA_SV ANNA_CV MILES250_S V MILES250_C V MILES500_S V MILES500_C V MILES750_S V MILES750_C V 5 5 5 5 5 5 5 0,80 1,00 0,40 0,00 1,40 0,20 0,60 1,0 1,0 0,0 0,0 2,0 0,0 1,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,84 0,71 0,55 0,00 0,89 0,45 0,55 5 0,60 0,0 0,0 0,89 5 5 5 1,60 0,60 2,60 2,0 0,0 3,0 1,0 0,0 2,0 0,55 1,34 0,55 5 0,00 0,0 0,0 0,00 5 54,80 54,0 51,0 2,95 5 2,80 3,0 1,0 1,30 5 5,20 5,0 3,0 1,79 5 4,80 5,0 4,0 0,84 132 R. FARN, Natal, v. 1, n. 1, p. 127 - 136 , jul./dez. 2001. QUEEN55_S V QUEEN55_C V QUEEN66_S V QUEEN66_C V MULSOLl_S V MULS0L1_C V MULS0L2_S V MULS0L2_C V ZER0IN1_SV ZEROINl_CV ZEROIN2_SV ZER0IN2_CV 5 6,40 6,0 3,0 2,70 5 5,40 6,0 3,0 1,82 5 5,40 5,0 3,0 2,07 5 5,00 4,0 2,0 2,92 5 13,80 13,0 10,0 3,77 5 15,40 16,0 10,0 4,98 5 14,40 15,0 9,0 3,13 5 17,20 14,0 13,0 7,76 5 5 5 5 16,80 20,40 16,00 15,80 18,0 21,0 16,0 14,0 15,0 10,0 14,0 12,0 1,64 7,16 1,58 3,96 As Figuras 1 e 2 ilustram graficamente os resultados médios da Tabela 2. Devido à diferença de desempenho entre ambos os algoritmos para a instância Miles500, a Figura 2 mostra os mesmos resultados da Figura 1, sendo retirada a instância Miles500. Observa-se que , nos resultados, quanto aos valores médios, o algoritmo transgenético obteve melhor desempenho em aproximadamente 71 % dos casos. Figura 1 - Gráfico comparativo dos valores médios de E . ° * C1D 60.0 50.0 40.0 30.0 20,0 10.0 0,0 ii •r •)*> essa rasa— ES! S f 4f Ê t L m m FHÍI li # J/ cf. / ^ <f - / if <r if Q> M Genético M Transgenético R. FARN, Natal, v.l, n.l, p. 127 - 136 ,jul./dez. 2001. [33 Figura 2 - Gráfico comparativo dos valores médios de E Miles500). d (sem a instância 25,0 üGenético ^Transgenético Observa-se que os resultados, quanto aos valores medianos, o algoritmo transgenético obteve melhor desempenho em aproximadamente 60% das instâncias. Quando observam-se as instâncias usando como parâmetro a mediana, verificam-se que as instâncias Mulsol2 e Zeroin2 passaram a ter um comportamento visivelmente melhor no ATEI do que o obtido quando observa-se seu comportamento em relação à média dos valores. A instância Jean, que na média se apresentava ligeiramente maior, igualou seu desempenho ao algoritmo genético e a instância Games 120, que apresentava valores iguais, se analisada em relação à média observada quanto ao valor mediano, passou a apresentar desempenho melhor no ATEI. 8 CONCLUSÃO Os resultados obtidos pelo ATEI para as instâncias trabalhadas mostra que ele é eficiente na obtenção de boas soluções em intervalos de tempo suportáveis. Na maioria da instâncias analisadas, as soluções ótimas foram obtidas com uma freqüência maior que as obtidas pelo algoritmo genético. Verificamos que em 7 1 % das instâncias o ATEI, quando analisado quanto ao valor da média para E , obteve resultados melhores que os do algoritmo genético e, quando analisado quanto ao valor mediano de E , verificou-se que em aproximadamente 60% das instâncias o ATEI obteve resultados melhores que os obtidos pelo algoritmo genético. Analisado quanto ao valor médio de iterações, em aproximadamente 30% das instâncias testadas o ATEI obteve resultados melhores que os resultados obtidos pelo algoritmo genético, e em 64% obteve resulcip cip 134 R. FARN, Natal, v.l, n.l, p. 127- 136 ,jul./dez. 2001. tados próximos ou iguais aos obtidos pelo genético. Com relação ao tempo, o ATEI obteve valores superiores aos do genético. Ressalta-se, porém, que o maior tempo médio do ATEI é inferior a 2 minutos e que a diferença existente entre as duas médias de tempo é aproximadamente constante, com exceção da instância Miles500. Pelo que nos foi possível observar pela análise do experimento, o agente vírus aqui utilizado proporcionou melhorias significativas ao processo evolucionário em todas as instâncias testadas. REFERÊNCIAS BRELAZ, D. New methods to color the vértices of a graph. Comm: ACM, 22,1979 GOLDBARG, M. C ; FERREIRA, R. P. M.; LUNA, H. P. Viras infections for acceleration of genetic algorithms: na introductory study, III Metaheuristics Internacional Congress, Angra dos Reis, Brasil, 1999. GOLDBARG, M. C. Infecções virais para a aceleração dos algoritmos genéticos: aplicações ao PCV. Rio Grande do Norte: UFRN (DIMAP), 1999. GOLDBARG, M. C; GOUVÊA, E. F. Metáfora transgenética: uma nova abordagem para computação evolucionária. Relatório Técnico COPPE-PEP, 2000. GOLDBARG, M. C ; LUNA, H. P. Programação linear e otimização combinatória, modelos e algoritmo. Rio de Janeiro: Campus, 2000. GOUVEA, E. F. Contribuições às heurísticas do problema de coloração em grafos. Dissertação (Mestrado) - IME - Instituto Militar de Engenharia, 1993. HARARY, F. Graph Theory. 3. ed. USA: [s.n.], 1972. KARGUPTA, H; STERFFORD, B. Gene expression: intro, variable length representation, and ali that. Computational Science Methods Group. Los Alamos: National Laboratory, 1998. KIMURA, M. The neutral theory of molecular evolution. Cambridge: Cambridge University Press, 1983. RIBEIRO FILHO, G.; LORENA, L. A .N. Constructive genetic algorithm for R. FARN, Natal, v.l, n.l, p. 127- 136 ,jul./dez. 2001. 135 graph coloring problems. The fourth Conference of the Association of Asian Pacific Operational Research Societies-Melburne, 1997 SILVA, M. M da. Uma abordagem transgenética para o problema da coloração de grafos. 2001. Dissertação (Mestrado) - Departamento de Informação e Matemática Aplicada, Universidade Federal do Rio Grande do Norte, 2001 SZWARCFTTER, J. S. Grafos e algoritmos computacionais. 2. ed. Rio de Janeiro: Campus, 1988. TRICK, M. Network Resources for Coloring a Graph. Disponível em <http:// mat.gsia.cmu.edu/COLOR/color/instances.html>. Acesso em: 14 jul. 2000. TURNER, J. S. Almost ali k-colorable graphs are easy to color. St. Lousis: Washington University, 1988. Abstract This xvork presents the Computational Transgenetics (CT), applied to the Problem of Graph Coloring. CT intends to accelerate the search process in Genetic Algorithms by manipulating building blocks inside the chromosomes, in analogy to genetic engineering. In particular, it is used the concept of virus as a transgenetic agent. In some cases, the results obtained by the algorithm Transgenetic are better compared with the results obtained by the Constructive Genetic Algorithm. Key Words: Computational Transgenetic; graph coloring; viral infection. 136 R. FARN, Natal, v.l, n.l, p. 127- 136 , juL/dez. 2001.