Você está na página 1de 15

Relatrio Tcnico Individual Paulo Csar de Alencar Gonalves Filho

Algoritmos Bio-Inspirados Aplicados a Problemas de Mundo Real: Anlise de Dados, Otimizao e Jogos Educativos Proc. Institucional nro. 560936/2008-7 Proc. Individual nro. 127327/2008-8

Submetido ao Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq) Submetido por Universidade Presbiteriana Mackenzie Faculdade de Computao e Informtica & Ps-Graduao em Engenharia Eltrica Rua da Consolao 896, Consolao, 01302-907 So Paulo, SP - Brasil Coordenador o Leandro Nunes de Castro Silva 19/03/2012

ndice
1 IDENTIFICAO................................................................................................................................................................1 1.1 TTULO DO PROJETO .............................................................................................................................................................1 1.2 INSTITUIES .......................................................................................................................................................................1 1.3 COORDENADOR....................................................................................................................................................................1 1.4 NOME DO BOLSISTA .............................................................................................................................................................1 1.5 NMERO DO PROCESSO INSTITUCIONAL..................................................................................................................................1 1.6 NMERO DO PROCESSO INDIVIDUAL......................................................................................................................................1 1.7 MODALIDADE /TIPO DE BOLSA..............................................................................................................................................1 1.8 REA/SUBREA DO PROJETO.................................................................................................................................................1 2 INTRODUO......................................................................................................................................................................2 2.1 OBJETIVOS GERAIS E ESPECFICOS ........................................................................................................................................2 2.2 RESUMO DAS ATIVIDADES DO BOLSISTA ................................................................................................................................3 2.3 SEGMENTO/ATIVIDADE.........................................................................................................................................................3 2.4 MATERIAIS E MTODO.........................................................................................................................................................4 2.5 PALAVRAS -CHAVE...............................................................................................................................................................4 3 PRINCIPAIS RESULTADOS.............................................................................................................................................4 3.1 GERAO DE PRODUTOS E PROCESSOS ..................................................................................................................................4 3.1.1 Testes de Tecnologias.....................................................................................................................................10 3.1.2 Descrio da Interface....................................................................................................................................10 3.2 APLICABILIDADE ................................................................................................................................................................12 3.3 IMPACTO QUALITATIVO DOS RESULTADOS NO PROJETO.........................................................................................................12 4 REFERNCIAS..................................................................................................................................................................12

1
1.1

Identificao
Ttulo do Projeto

Algoritmos Bio-Inspirados Aplicados a Problemas de Mundo Real: Anlise de Dados, Otimizao e Jogos Educativos 1.2 Instituies

Universidade Presbiteriana Mackenzie Universidade Estadual de Feira de Santana Universidade Federal da Bahia 1.3 Coordenador

Prof. Dr. Leandro Nunes de Castro Silva 1.4 Nome do Bolsista

Paulo Csar de Alencar Gonalves Filho 1.5 Nmero do Processo Institucional

560936/2008-7 1.6 Nmero do Processo Individual

127327/2008-8 1.7 Modalidade/Tipo de Bolsa

Iniciao Cientfica 1.8 rea/Subrea do Projeto

Cincia da Computao/Metodologia e Tcnicas da Computao

2
2.1

Introduo
Objetivos Gerais e Especficos

Este projeto visa abordar duas linhas fundamentais da computao bioinspirada: o Teoria e Formalizao: anlise, sntese e aprimoramento de ferramentas de computao inspiradas na natureza, em particular, redes neurais artificiais, algoritmos evolutivos, sistemas imunolgicos artificiais, inteligncia de enxame e vida artificial; o Aplicaes: aplicao das diversas ferramentas estudadas, desenvolvidas e aperfeioadas a problemas complexos, incluindo problemas de computao, engenharia e educao. Em linhas gerais, alguns problemas a serem abordados so: anlise e minerao de dados (por exemplo, textos da Web e caractersticas de imagens digitais), otimizao combinatria (por exemplo, em ambientes porturios) e ensino de evoluo e ecologia (por exemplo, em jogos educativos). Alm da perspectiva de anlise, sntese e aprimoramento de ferramentas matemticas e computacionais para a soluo de problemas complexos, ser dada especial ateno formao de recursos humanos (capacitao cientfica e tecnolgica), produo de documentos tcnicos e cientficos de apoio, e produo de pacotes de software (toolboxes e jogos), a serem disponibilizados para acesso pblico, associados a ferramentas computacionais prontas para aplicaes variadas. Ainda em linhas gerais, pretende-se: 1. Desenvolver e formalizar novas ferramentas de computao inspirada na biologia; 2. Investigar novas formas de aplicao de ferramentas de computao bioinspirada j existentes, bem como promover aprimoramentos e extenses dessas ferramentas, particularmente voltadas s peculiaridades dos problemas a serem abordados; 3. Desenvolver algoritmos hbridos; 4. Investigar o verdadeiro potencial de aplicao das ferramentas bioinspiradas em problemas especficos de mundo real; 5. Viabilizar a implementao computacional das ferramentas desenvolvidas; 6. Produzir pacotes de software (toolboxes e jogos) a serem disponibilizados para acesso pblico, associados a ferramentas computacionais prontas para aplicaes variadas; 7. Permitir a participao do pesquisador em eventos cientficos nacionais e internacionais, visando a divulgao da pesquisa e dos trabalhos desenvolvidos, o intercmbio com outros pesquisadores e centros de pesquisa e a validao das linhas de pesquisa em desenvolvimento;

8. Elaborar artigos para publicao em peridicos internacionais e documentos tcnicos e cientficos para divulgao dos resultados obtidos e contedos estudados; 9. Permitir a formao de recursos humanos via orientao e docncia em disciplinas de graduao, ps-graduao e extenso; 10. Apoiar, atravs de bolsas de iniciao cientifica (IC) e mestrado, a orientao de alunos nas linhas de pesquisa relacionadas ao escopo do presente projeto. Em relao aos subprojetos temticos, sero investigados e estendidos um algoritmo de otimizao por enxame de partculas para agrupamento e classificao de dados, uma rede neuroimune e algoritmos imunoevolutivos para otimizao combinatria e algoritmos imunolgicos e evolutivos para evoluo comportamental de agentes inteligentes em ambientes virtuais. As aplicaes especficas sero para seleo de atributos, classificao e agrupamento de imagens de gros e documentos textuais; otimizao combinatria, envolvendo problemas clssicos e um problema de planejamento de ptio de contineres; e o desenvolvimento de uma criatura artificial adaptativa a ser usada em um jogo educativo para o ensino de evoluo e ecologia. 2.2 Resumo das Atividades do Bolsista

O Bolsista deve desenvolver um algoritmo para simular em computador a distribuio vegetal presente em dunas. Este trabalho consiste em analisar padres de aglomeraes de plantas, densidade de vegetais, regies de predominncia, condies meteorolgicas e distribuio de frutos. Alm disso, a gerao da vegetao deve ser aleatria, ou seja, para qualquer tipo de terreno virtual, o software deve gerar uma vegetao condizente com o de uma duna. 2.3 Segmento/Atividade

Principais segmentos: Aprendizagem de mquina; Sistemas inteligentes; Computao natural; Jogos educacionais.

Dentre as principais atividades desenvolvidas encontram-se: Estudos tericos sobre temas especficos dentro da computao natural; Estudos dos padres de vegetais presente nas dunas e sua forma de distribuio; Estudo de motor de jogos e ambientes virtuais; Elaborao de algoritmos para gerar padres de distribuio vegetal.

2.4

Materiais e Mtodo

Para desenvolver o algoritmo de distribuio vegetal de dunas, primeiramente foi necessrio fazer uma busca sobre caractersticas gerais dos vegetais da regio. Os principais tpicos foram extrados de um estudo de Rocha (Rocha et al., 2004). Os pontos selecionados para realizar este estudo sobre as plantas foram: Densidade: quantidade do vegetal por quilmetro quadrado; Altura: tamanho mdio da rvore; Regio: localizao do vegetal de acordo com as altitudes; Densidade de frutos: a concentrao de frutos de uma determinado vegetal; Densidade de Folhas: a concentrao de folhas no cho de uma determinado vegetal; Frutos e folhas por perodo: produo de frutos dependendo de estaes/clima do ambiente. Com base nos dados coletados a partir dos tpicos, foi necessrio elaborar uma forma de representar este ambiente computacionalmente. O primeiro passo foi utilizar uma biblioteca grfica para apresentar modelos virtuais semelhante s rvores e terreno. Para isso, foi usado o motor grfico Panda3D (Carnegie Mellon University, 2008). Ele fornece suporte uma srie de artifcios para manipular o modelo virtual do ambiente. Entre eles esto posicionamento, rotao e escalonamento dos elementos virtuais. 2.5 Palavras-Chave

Distribuio Vegetal, Ambiente virtual, Simulao

3 Principais Resultados
3.1 Gerao de Produtos e Processos

Um algoritmo consiste em uma sequencia de passos finitos para desempenhar uma tarefa. Portanto, a seguir mostrada uma sequencia de passos que descrevem o processo de distribuio vegetal. A vegetao das dunas caracterizada por algumas faixas verdes de vegetao densa com reas de areia sem vegetao alguma. Ela tambm pode ser subdividida por altitude, ou seja, reas mais altas e baixas possuem vegetaes diferentes entre si. As rvores possuem uma variao de regio nas dunas, algumas tem maior ocorrncia no topo e outras na base. Para a representao computacional consideramos um terreno em alto relevo que visto de cima pode ser mapeado em um plano carteziado (com eixos X e Y), ou seja, cada ponto desse terreno visto de cima possui um X e um Y onde ser um candidato a um ponto de rvore, fruto ou flor. Dessa forma podemos caracterizar as faixas verdes das dunas como um conjunto de pontos cartesianos prximos de uma forma que possa delimitar uma rea irregular com certa densidade de pontos.

Alm desse plano cartesiado, podemos considerar mais um eixo (Z) que ir representar a altitude desse mapa em um determinado ponto (X,Y) no mapa. Segue a baixo uma figura com uma seco transversal no mapa mostrando a altidude dos pontos: Assim um modelo pode ser posicionado devidamente a partir da localizao desse ponto, ou seja, a rvore colocada no ponto (x,y,z) onde x e y representam a sua posio e z representa a sua altitude.

Devido a limitaes computacionais, no possvel representar toda a variedade de vegetais presentes nas dunas, portanto 14 vegetais foram selecionados: Eugenia sp., Copaifera coriacea, Simaba ferruginea, Maytenus rigida, Croton sonderianus, Chamaecrista belemii, Bysonimam gardnerana, Jathropha mutabilis, Bocoa mollis, Pilocereus tuberculatus, Pilocereus gounellei,
5

Tacinga inamoema, Bromelia antiacantha, Mimosa xiquexiquensis. Destes, apenas as flores e frutos comestveis foram apresentados no jogo. Para tormar a representatividade computacional da distribuio vegetal das dunas mais vivel houve a necessidade de criar algumas definies de medidas base a partir da observao do ambiente real. Assim foram criadas trs estruturas bsicas: reas,Centros, rvores e Vegetais Comestveis. reas: as reas servem para subdividir a altitude do relevo e definir qual a vegetao de maior ocorrncia daquela regio e so basicamente dividas em 3 reas: alta, media e baixa. Foi definido que o relevo varia de 0 (mais baixo) a 10 (mais alto) pontos de altitude e de 0 a 3 representa a rea altitude baixa, de 4 a 7 representa a rea de altitude mdia e 8 a 10 a rea alta. Centros: representa uma regio quadrada que possui um conjunto de rvores posicionadas aleatoriamente, ele seria equivalente a uma faixa verde. O centro possui uma rea obtida a partir da altitude do seu ponto central, que ir influenciar diretamente no tipo de rvore dentro desse permetro. Ou seja, sorteia um ponto (x,y) que ira representar o meio do centro e a sua altitude definir o tipo de todas as rvores sorteadas dentro da rea. Vista terica de cima de um centro:

rvores: as rvores representam um modelo 3d de rvores, rvoreta, arbusto, sub-arbusto, cactus e bromlia. Possuem um posicionamento (eixo x, y e z), raio, escala. O raio serve para no haver a coliso entre os modelos na hora da distribuio visto que so sorteados pontos em um terreno que representam a rvore e estes no possuem uma forma de especificar a distncia mnima. Vale relevar que o raio varia de um modelo para o outro portanto a distribuio vai ser diferenciada. A escala serve apenas para redimensionar o modelo de acordo com os padres do jogo. Abaixo uma vista terica de cima de 2 vegetais em um terreno, a distancia do vegetal equivalente a distncia mnima que o modelo ocupa:

Vegetais comestveis: os vegetais comestveis so modelos 3d que representam as flores e frutos. Possuem as mesmas configuraes de um modelo de rvore, porm sua distribuio diferente. A distribuio realizada com o parmetro: densidade. A partir desse dado gerado quantidade de rvores e centros para serem aplicadas distribuio. As principais frmulas e passos usados so: Quantidade de rvores (por cada centro): (densidade / 10) + 25; Quantidade de centros: 3 * densidade; Distribuio dos Centros: Sorteia todos os pontos no tamanho do terreno especificado de acordo com a "quantidade de centros". Considera-se que a rea do centro no pode cair fora do terreno e no apenas seu ponto central. Tambm deve-se considerar que existe uma mxima distncia possvel entre os centros. Distribuio das rvores: Para cada centro so sorteadas no maximo a "quantidade de rvores" previamente definidas e deve-se considerar a rea do centro na escolha do modelo de vegetal da mesma rea e 5% dos vegetais so de reas diferentes. Precisa-se comparar para cada ponto de rvore se a distncia entre as rvores so maiores do que < 2*distncia.minima.entre.arvores + distancia.arvore + distancia.arvore_sorteada >. Caso seja menor, provavelmente est ocorrendo uma coliso de modelos de vegetais. Outra caracterstica importante a maior distancia entre os vegetais pois precisa-se ter uma certa proximidade para que a densidade seja equivalente visualmente. O tempo pode influenciar na distribuio do fruto. Por exemplo, em pocas chuvosas, alguns vegetais apresentam mais frutos e em poca de seca, alguns vegetais apresenta poucos ou nenhum fruto.

Distribuio das Flores e Frutos (vegetais comestveis): Os vegetais comestveis podem ser distribudos nas proximidades de um vegetal. Isso pode ser visualizado como a rea vermelha abaixo. sorteado um valor entre zero e a maior quantidade de frutos e flores que aquele vegetal pode ter. Esse valor ser usado para dividir a rea vermelha (na figura acima) em partes iguais. Em cada um desses pedaos colocado um fruto ou flor variando a distncia em relao ao tronco. Forma do sorteio dos Centros e Vegetais: O sorteio dos centros e das rvores ocorrem dentro de uma rea quadrada previdamente definida. A rea do sorteio dos centros escolhida a partir do tamanho do terreno e as rvores so sorteadas a partir do tamanho do centro. Nessa rea necessrio considerar que existe uma borda definida como o tamanho da distncia do centro ou da rvore onde no pode cair nenhum ponto para que nada extrapole as medidas e, alm disso, compara-se a distncia entre o ponto sorteado e todos os pontos j existentes.

A seguir segue um exemplo do sorteio de vegetais em um centro:

Na figura acima, a borda onde no pode cair nenhum ponto central est em roxo, a rea que pode cair o ponto est em amarelo e o tamanho da borda condizente com o raio (distncia) da rvore a ser sorteada no momento. A seguir segue a representao virtual da distribuio:

3.1.1 Testes de Tecnologias Recursos computacionais so limitados em computadores normais. Em aplicaes grficas, que normalmente exigem um melhor desempenho da mquina, h a necessidade de se reduzir o recurso visual. No caso da simulao das dunas, por causa destas limitaes, algumas caractersticas dos vegetais tiveram que ser modificadas. A seguir so listadas as alteraes: Apenas os frutos comestveis por calangos foram apresentados durante o jogo em que o algoritmo foi usado. Quando se usou os outros, o jogo ficou lento; A densidade de frutos foi reduzida para melhorar o desempenho; Nenhuma folha foi utilizada na gerao de vegetao. Apesar das limitaes realizadas, caso o computador apresente melhores recursos, todos os artifcios podem ser usados para tornar a representao da duna mais realstica.

3.1.2 Descrio da Interface A seguir seguem imagens de como ficou a distribuio vegetal do jogo calangos. Nas imagens j so usado os modelos virtuais finais e o personagem consegue interagir com frutas comestveis e sombras, onde hidratam o animal e reduzem a temperatura, respectivamente.
1

A seguir pode-se ver os vegetais devidamente posicionados:

A seguir mostrada a imagem de um fruto comestvel:

3.2

Aplicabilidade

O algoritmo presente na distribuio vegetal pode ajudar a entender melhor a padronizao da vegetao de dunas. Com isso, o software poder ser usado como meio de facilitar o estudo do comportamento das plantas a partir de variveis externas. O aprendiz tem um retorno visual de como o ambiente se comporta de acordo com os meses do ano ou perodos de chuva, por exemplo. 3.3 Impacto Qualitativo dos Resultados no Projeto

Este projeto apresenta uma forma inovadora de representar a vegetao de dunas. Este fator impacta na forma de entender o comportamento deste ambiente. Ou seja, do ponto de vista educacional, h uma nova viso apresentada ao aluno no momento de ensino. Alm disso, um modelo como esse pode ser usado como porta de entrada para representar virtualmente outras nichos de assuntos, desse modo, facilitando a educao.

Referncias

ROCHA, Pedro Lus B. da; QUEIROZ, Luciano P. de and PIRANI, Jos Rubens. Plant species and habitat structure in a sand dune field in the brazilian Caatinga: a homogeneous habitat harbouring an endemic biota. Rev. bras. Bot. [online]. 2004, vol.27, n.4, pp. 739-755. ISSN 01008404. Carnegie Mellon University, Panda3d. 2008, Disponvel em: http://www.panda3d.org/. Acessado em: 20/03/2012.