Mostrando entradas con la etiqueta genetic algorithms. Mostrar todas las entradas
Mostrando entradas con la etiqueta genetic algorithms. Mostrar todas las entradas

jueves, 11 de febrero de 2010

Hallelujah

WARNING: Este post fue escrito el mismo dia de presentar, y lo he dejado talcual, aunque con perspectiva se ve cutre-friki-quieroYNoPuedo de cojones. Pero lo dejo talcual.

Todos como uno solo, alcemos la voz al cielo, porqué $DEITY (en caso de que hayas definido esa variable) nos escucha desde $DEITY->location. Gritad conmigo: Hallelujah! Hallelujah! Hallelujah! Hallelujah!

Porqué al final del camino, la luz brilla más que a la mitad de él. Gritemos Hallelujah!

Después de estar recibiendo enseñanzas durante 8 años (y pico) en el monte FIB, hacer un viaje para aprender de otros en La Laguna, de donde volví con el espíritu cargado de fuerzas gracias a profetas y discípulos, el viaje de aprendizaje formal terminó hace 2 semana, con un resultado francamente bueno.

Aquí os dejo, amigos míos, el resultado de mis 6 meses, entregados para vosotros. Mirad, y sonreír todos, que esto es lo mejor que se hacer, hablar de frikadas, y delante de gente. Y no me juzguéis si no queréis ser juzgados, que ahí me puntuaban, y no podía ser Rai 100%. Disfrutad de los primeros 10 minutos viéndome hablar a 2x en un baile 33% funky cold medina, 33% macarena y 33% saturday night (esta os la buscáis vosotros/as).

Quiero dar las gracias a mis padres, y también a todos los que no son mis padres. A todos los que me han dejado un sofá para pasar una noche (sóis más gente de la que os pensáis), quiénes me han iluminado y gentuza en general. Ya sabéis quien soys. Os quiero, gracias por este sueño, que os den por el culo, etc...

Venga, ahora unos links y los videos
El pe de efe: genetic algorithms memoria

Las transpas: genetic algorithms slides

Los códigos fuente de la memoria estan en mi github

La presentación.

Algoritmes genètics aplicats a ciències de la vida from Raimon Grau on Vimeo.


Las preguntas (y sus respuestas (y sus coñas marineras)).

Algoritmes genètics aplicats a ciències de la vida - preguntes from Raimon Grau on Vimeo.


Ahora por fin tengo tiempo de aprender.

jueves, 10 de septiembre de 2009

Mastermind in Perl

CPAN is an awesome repository of perl libs and apps. It's a bit like emacs plugins: Everything is there and, if not, you should rethink what you're doing because it's probably in a wrong direction.

I learned about MasterMind from a German friend and they called it 'SuperHirn'. When she taught me how to play I thought: "Hey, I bet I could write a Genetic Algo to play this thing". Lately, I've been looking for some toy project to hack in (preferably in perl). I've looked at making an installer for vectorlinux, or doing some crazy app to evolve classes using Io Language (I'll talk about this in another post).

I wanted it to be perl because I needed somewhere to apply what I learnt on YAPC::EU::2009. Things like autobox, Moose, extensive testing, Devel::Cover, PodCoverage, Perlcritic...

Then I decided to implement a MasterMind app in perl. It's clearly overengineered, because in CPAN there are already implementations for this in 200 lines (more or less). The thing is I wanted to review some MVC and OOP concepts I might have forgotten (too much blind hacking).

On the other side, I was kind of following JJMerelo's blog and twitter, and among many many amazing readings like His proposals for Undergrad projects (Really great ideas. In fact I've already read something about parasite computing, but again, that's for another post), I read that he just uploaded a code to play mastermind using Evolutionary Computation .

Now my next mission is finishing the code of the SuperHirn framework (I thought it as MVC, so I could write a GUI, or a CUI or even a web interface (if I ever learn Catalyst) ) and merge it with Merelo's code.

My current code is really messed up. Not well tested, and it doesn't even use Moose as it should be used, but it's my first experience with it so I'm already rewriting it as I implement the features.

Merelo++ for pushing me to write my code quicker (even without knowing it).