# La cantidad de individuos de la poblacion inicial. # La cantidad de individuos se mantiene durante constante. population=500 # La cantidad de individuos que voy a seleccionar como los # mejores a cruzar. Puede ser un valor fijo o estar en relacion # de la poblacion (i.e. selected_paterns=population/3). Cada par # de padres tiene dos hijos que reemplazan a los menos aptos de # la poblacion. Por lo tanto, la cantidad de selected_paterns debe # ser, al lo sumo, la mitad de la poblacion. # selected_paterns=population/2 # Cada cuantas iteraciones, en promedio, se realizara una mutacion. # Esta se efectuara sobre los menos aptos que no hayan sido # reemplazados por hijos. Si los hijos son la mitad de la poblacion, # mutara uno de ellos (el segundo hijos de los padres menos aptos). mutation=10 # Algoritmos de cruzamiento: # el sistema soporta los siguientes metodos para cruzar dos soluciones: # 1 - cruzamiento simple: # Una parte de la madre, otra del padre. Corta al azar. # 2 - binomial puro: # No tiene en cuenta los genotipos. Usa algos genes del # padre y otros de la madre al azar y en orden. # 3 - binomial impuro: # Corta teniendo en cuenta los 'genotipos' (filas del # sudoku). Toma madre o padre al azar. # 4 - multipunto: # Corta teniendo en cuenta los 'genotipos' (filas del # sudoku). Toma madre o padre alternado. # 5 - operar: # Para producir mas variedad se opera con los 'genes' # sumandolos, restandolos o multiplicandolos. # # Los algoritmos a usar van entre corchetes, referenciados por su numero # y separados por comas. Si se quiere usar mas un algoritmo que otro, # se lo puede repetir. Se seleccionan al azar uniformemente. Por ejemplo, # en crossover_algorithms=[1,1,5] el algoritmo simple se usara 2 de cada # 3 veces y el algorimo operar las restantes de las veces. # crossover_algorithms=[1,1,5] #El enunciado del sudoku. Escriba un punto (.) para las casillas vacias. sudoku = """ 684 .23 5.1 .7. .6. .2. .2. ..5 7.. .6. 389 2.. .32 .4. 9.. 49. ..6 .53 .5. .1. .79 .1. 65. 43. 2.6 9.. 1.. """ sudoku =""".54273.89.28495.3673.8.65.221.38.4.53.61.4278.45.2791.56..41.274...683..98173.6.4"""