Hace unas cuantas semanas ya comenté por aquí de qué va el puzzle Eternity II. Finalmente me lo compré y verifiqué que efectivamente a mano es imposible de resolver. Me apunté a la lista de correo de yahoo relacionada y aprendí bastante con los mails que iba enviando la gente. Una de las cosas más interesantes que leí es que la teoría dice que se tardarían sobre 10^25 años en resolver el puzzle con backtracking (el algoritmo más básico, que va probando pieza a pieza, una por una, hasta encontrar la solución) en un PC típico a 3GHz. Si eso fuera cierto, emplear un millón de ordenadores para resolverlo, ¡¡¡ únicamente lo reduciría a 10^19 años !!! Eso creo que es bueno, no ganará el que mejor ordenador/rack-de-simulación tenga, sino el que mejor algoritmo consiga. La verdad es que me parecen demasiados años, pero he probado personalmente que en una semana no es posible resolverlo de esa forma. La clave está en el número de colores o lados distintos que tiene el puzzle. Como se puede observar en la siguiente gráfica (obtenida con mi super-algoritmo backtracking en C) el tiempo medio que se tarda en resolver el puzzle aumenta exponencialmente con dicho número de colores. Eternity II tiene únicamente 17 colores distintos, así que os podréis imaginar cuantos segundos saldrían en el eje vertical con mi algoritmo...
Debido al elevado coste computacional que requeriría resolver el puzzle con un algoritmo sencillo, se han creado diversas iniciativas que tratan de unir la capacidad de multiples ordenadores para tal fin (aunque como he comentado arriba, seguirá siendo igual de 'imposible'). Una de tales iniciativas es Eternity2.net y de ella quería hablar en este post, aunque me enrollado un poco para introduciros un poco en el tema. Dicha iniciativa se basa en el proyecto de computación distribuida BOINC. Para participar en Eternity2.net
Tengo mi PC ejecutando BOINC desde hace muucho tiempo y ha conseguido obtener una puntuación de 461 de 480 (con 480 consigues el premio gordo). Obtuve una puntuación de 459 en dos minutos, una de 460 en un par de dias y 461 en varias semanas. ¿Cuanto tardaré en llegar a 462? ¿Y a 480?
Bueno, pues parece que Dave también se está cansando del puzzle de los coj... y va a cerrar el chiringuito el próximo día 15 de diciembre. Ya veremos como lo resuelvo...
Debido al elevado coste computacional que requeriría resolver el puzzle con un algoritmo sencillo, se han creado diversas iniciativas que tratan de unir la capacidad de multiples ordenadores para tal fin (aunque como he comentado arriba, seguirá siendo igual de 'imposible'). Una de tales iniciativas es Eternity2.net y de ella quería hablar en este post, aunque me enrollado un poco para introduciros un poco en el tema. Dicha iniciativa se basa en el proyecto de computación distribuida BOINC. Para participar en Eternity2.net
- Te compras el puzzle
- Te bajas el programa BOINC (que no solo se usa para esto, sino también para proyectos de investigacion sobre temas tan variados como el cambio climático, el genoma humano o algoritmos de ajedrez) y lo instalas
- Introduces las piezas del puzzle codificadas en un txt según se explica en eternity2.net (la distribución de las piezas está prohibida y podría descalificarte del concurso)
- Pones el programa a ejecutarse cuando el PC esté inactivo.
Tengo mi PC ejecutando BOINC desde hace muucho tiempo y ha conseguido obtener una puntuación de 461 de 480 (con 480 consigues el premio gordo). Obtuve una puntuación de 459 en dos minutos, una de 460 en un par de dias y 461 en varias semanas. ¿Cuanto tardaré en llegar a 462? ¿Y a 480?
Bueno, pues parece que Dave también se está cansando del puzzle de los coj... y va a cerrar el chiringuito el próximo día 15 de diciembre. Ya veremos como lo resuelvo...
1 Comment:
-
Que inculto me siento
13 diciembre, 2007 14:25