domingo, 20 de diciembre de 2009

Problema de las N Reinas

Bueno, hecho el post anterior, quiero subir un poquito de código sobre GA. El algorítmo es para solucionar el problema de las N Reinas. El enunciado es el siguiente:
Dado un tablero de ajedrez de NxX colocar N reinas sin que se maten entre ellas.

En principio N és igual a 8, ya que así representamos un tablero de ajedrez normal. Éste problema puede ser resuelto mediante backtracking, y es tremendamente más eficaz que con los GA, pero como la intención es practicar con los algoritmos genéticos, en problema de las N Reinas es suficientemente fácil para empezar. Hay 92 posibles soluciones posibles al problema dado, pero tansolo 12 soluciones únicas ( lo que significa que las otras són combinaciones de éstas mismas )

Implementación en Python del problema de las N Reinas

Disclaimer: Esto lo hago en mi tiempo libre, no tengo a nadie que me instruya ni nadie que me corrija mis fallos. Por esto mismo, seguro que hay mejores implementaciones del código. Pero invito ( o reto ) a que alguien corrija el código, lo modifique a su gusto y lo mejore, y haber si entre todos aprendemos algo =)

Si conces algún sitio donde se pueda encontrar buena documentación o datos relacionados sobre los GA, deja tu comentario please.

3 comentarios:

  1. buenas hermano buen aporte. Tengo una pregunta que compilador utilizaste de pyton para realizar el programa gracias

    ResponderEliminar
  2. Pues no estoy seguro, pero es muy posible que Python 2.6.4
    Aunque debería funcionar seguro con cualquier versión superior a la 2.5.

    Si tienes alguna duda concreta o creas/tienes un codigo mejor tuyo, mándamelo y lo posteo ;)

    Saludos!

    ResponderEliminar
  3. ando de curioso por aqui y es la primera vez que me encuentro, aunque ya lo veia venir. Aqui, una creacion que no viola ninguna ley de propiedad intelectual, y que no puedo bajar porque secuestraron megaupload. = Gracias. Saludos.

    ResponderEliminar