Laboratorio 13: El problema de las 8 reinas

Post date: Apr 26, 2013 6:04:05 PM

El objetivo de este laboratorio es implementar soluciones por reintento al problema de las 8 reinas (ver Wikipedia).

En este laboratorio, un tablero de ajedréz se entenderá como una matriz con 8 filas y 8 columnas (indexadas desde 0). La ubicación de las reinas en un tablero se codificará con un arraglo de enteros de 8 posiciones, cuyos valores están en el conjunto {0,1,2,3,4,5,6,7} u {-1}, de tal manera que si un arreglo b es una codificación de la ubicación de las reinas, tenenmos que para cualquier 0 <= i < 8:

  • si b[i] es -1, entonces no hay reina en la fila i
  • si b[i] no es -1, entonces hay una reina en la fila i y en la columna b[i]
  1. Dibuje los tableros correspondientes a
    • [5, 3, 6, 0, 2, 4, 1, 7]
    • [1, -1, 2, -1, 7, -1, 0, 3]
    • [-1,-1,-1,-1,-1,-1,-1,-1]

El laboratorio es individual y, con base en la plantilla suministrada, cada estudiante debe entregar:

  • El código impreso del archivo queens.py completo, con la implementación de los métodos
    • find_one_solution
    • find_all_solutions
  • El encabezado del archivo debe indicar, usando comentarios de Python,
    • Su nombre en la primera línea
    • Su código de estudiante en la segunda línea