Dando continuidade a meu último post, encontrei há algumas semanas atrás um trabalho muito interessante que está sendo desenvolvido pelo brasileiro Christian S. Perone: um framework open-source de algoritmos genéticos escrito na linguagem Python denominado Pyevolve. O Pyevolve é um toolbox com várias ferramentas para solução de diversos problemas de otimização , no qual se baseia na computação evolucionária através do poder dos algoritmos genéticos.
Uma dos trabalhos recentes feitos por Christian, é o porting do Pyevolve para dispositivos portáteis. Ele já conseguiu portar com sucesso a execução dos algoritmos genéticos em um aparelho PSP da Sony solucionando o problema do caixeiro viajante, e ilustrando na tela do aparelho no fim a melhor jornada obtida pelo algoritmo. Muito legal, recomendo darem uma olhada aqui. Agora, recentemente ele decidiu portar o Pyevolve para ser executado nos aparelhos móveis.
A linguagem escolhida por ele, claro, foi o Python, visto que o próprio PyEvolve foi escrito nela. Através do PyS60, Python para celulares Symbian S60, ele conseguiu executar com desempenho satisfatório no aparelho Nokia N73. O problema tratado pelo algoritmo genético foi a busca do mínimo de uma função matemática (Sphere) com 5 dimensões.
Algo muito legal, mesmo especialmente por se acreditar que rodar algoritmos desse nível que exigem uma certa computação exaustiva não seriam estáveis em aparelhos como celulares.
De acordo com os experimentos realizados, o algoritmo genético conseguiu encontrar o mínimo da função matemática de complexidade fácil-mediana em apenas 8 segundos (com 18 gerações).
Seguem alguns screenshots do PyEvolve for Mobile em execução:
Achei o trabalho muito bom, e especialmente por ter portado algoritmos inteligentes em dispositivos móveis. Acredito que no futuro, várias outras técnicas inteligentes conseguirão ter um desempenho satisfatório a partir que os celulares comecem a ficar mais poderosos (hardware com mais memória e maior processamento). Inspirei-me neste trabalho, tanto que penso até portar o algoritmo que desenvolvi PSO (Particle Swarm Optimization) para rodar no meu aparelho Nokia Symbian. :D Quem sabe ?
Se desejarem replicar o experimento, o próprio autor disponibilizou no seu site todas as intruções e código-fonte para testes.
Para aqueles que querem conhecer um pouco mais sobre o PyEvolve, recomendo a visita ao site do projeto. Parabéns pelo trabalho, de grande nível!
UPDATE: E acabei de ver agora, que o autor portou o problema do caixeiro viajante para ser solucionado no Nokia N73. O aplicativo desenha na tela do aparelho o melhor indivíduo encontrado a cada geração utilizando a API de desenho do PyS60. Disponibilizou o vídeo aqui.
Computação móvel + inteligente é o futuro! ;D
Uma dos trabalhos recentes feitos por Christian, é o porting do Pyevolve para dispositivos portáteis. Ele já conseguiu portar com sucesso a execução dos algoritmos genéticos em um aparelho PSP da Sony solucionando o problema do caixeiro viajante, e ilustrando na tela do aparelho no fim a melhor jornada obtida pelo algoritmo. Muito legal, recomendo darem uma olhada aqui. Agora, recentemente ele decidiu portar o Pyevolve para ser executado nos aparelhos móveis.
A linguagem escolhida por ele, claro, foi o Python, visto que o próprio PyEvolve foi escrito nela. Através do PyS60, Python para celulares Symbian S60, ele conseguiu executar com desempenho satisfatório no aparelho Nokia N73. O problema tratado pelo algoritmo genético foi a busca do mínimo de uma função matemática (Sphere) com 5 dimensões.
Algo muito legal, mesmo especialmente por se acreditar que rodar algoritmos desse nível que exigem uma certa computação exaustiva não seriam estáveis em aparelhos como celulares.
De acordo com os experimentos realizados, o algoritmo genético conseguiu encontrar o mínimo da função matemática de complexidade fácil-mediana em apenas 8 segundos (com 18 gerações).
Seguem alguns screenshots do PyEvolve for Mobile em execução:
Achei o trabalho muito bom, e especialmente por ter portado algoritmos inteligentes em dispositivos móveis. Acredito que no futuro, várias outras técnicas inteligentes conseguirão ter um desempenho satisfatório a partir que os celulares comecem a ficar mais poderosos (hardware com mais memória e maior processamento). Inspirei-me neste trabalho, tanto que penso até portar o algoritmo que desenvolvi PSO (Particle Swarm Optimization) para rodar no meu aparelho Nokia Symbian. :D Quem sabe ?
Se desejarem replicar o experimento, o próprio autor disponibilizou no seu site todas as intruções e código-fonte para testes.
Para aqueles que querem conhecer um pouco mais sobre o PyEvolve, recomendo a visita ao site do projeto. Parabéns pelo trabalho, de grande nível!
UPDATE: E acabei de ver agora, que o autor portou o problema do caixeiro viajante para ser solucionado no Nokia N73. O aplicativo desenha na tela do aparelho o melhor indivíduo encontrado a cada geração utilizando a API de desenho do PyS60. Disponibilizou o vídeo aqui.
Computação móvel + inteligente é o futuro! ;D
2 comentários:
Opa Marcel, obrigado pela citação ao Pyevolve! Muito interessante teu blog; boa sorte com as pesquisas em computação móvel !
Um abraço !
Muito interresante será que já existem algoritmos para resolver o problema de localização para S60 sem GPS?
Postar um comentário