KarlHeitmann / algoritmo-genetico-resolucion-sudoku

algoritmo genetico para resolver sudokus
MIT License
0 stars 1 forks source link

Algoritmo Genéico Simple: Solucionando SUDOKU

Este proyecto consiste en implementar un algoritmo genético para resolver SUDOKU. El libro que contiene la explicación de este problema se titula "Algoritmos Evolutivos Un enfoque práctico" de Lourdes Araujo y Carlos Cervigón, editorial Alfaomega

Enlace a Amazon

Introducción

Un algoritmo genético se ve inspirado en la naturaleza, en la evolución. Existen muchos problemas clásicos que se pueden resolver mediante esta técnica, y son problemas de optimización cuya solución analítica es muy complicada, o tiene muchas variables que no se pueden manejar o se desconocen.

Entre los problemas típicos están la búsqueda de camino más corto entre una estación y otra de una red de metro, la planificación de horarios de clases y salas en una Universidad, o la resolución de un SUDOKU.

Objetivo

Principalmente, familiarizarse con Ruby y el trabajo en equipo usando Git. Este problema es la excusa para que los programadores nuevos se ensucien las manos en un proyecto, y se atrevan a explorar código ajeno.

Para quienes no conozcan bien los algoritmos evolutivos, aquí hay una lista de cosas que pueden hacer para divertirse:

Para quienes estén algo familiarizados con los AE, pueden intentar algunas de las cosas siguientes:

Funcionamiento

Hasta ahora tenemos dos archivos de código:

Algunas reglas

Por ahora, este proyecto está en español, orientado a los programadores hispanoparlantes. Nuestro idioma hace uso de tildes, pero vamos a tener que omitirlas en los códigos fuentes, ya que dependiendo del editor que ocupen los colaboradores, pueden tener algún problema con su intérprete de Ruby. No obstante, en la documentación será importante escribir de forma correcta.

La belleza está en la simplicidad, intentemos mantener este código simple, sin agregar muchas gemas. De esta forma, para los nuevos en Ruby será más fácil integrarse al proyecto.