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