¿Cuál es el algoritmo utilizado para determinar el nivel de dificultad de un rompecabezas de Sudoku?

Hay personas que creen que las clasificaciones de dificultad tienen que ver con la cantidad de números revelados en el tablero del rompecabezas. Puede tener un rompecabezas fácil con pocos valores y un rompecabezas difícil con más valores.

U puede determinar el nivel de dificultad creando un programa de solución.

En primer lugar, te recomiendo hacer un solucionador usando retroceso algoritmo, luego simplemente comience a monitorear las iteraciones de su programa y la duración del hilo.

Aunque este método no le proporciona la solución con precisión, estos son algunos detalles si desea determinar con precisión el nivel de dificultad.

  • Verifique si hay más de una solución retrocediendo y manteniendo una pila para las iteraciones, si no hay más soluciones, el nivel de dificultad es comparativamente menor, pero tenga cuidado de no agrupar este algoritmo con la solución anterior, ya que aumenta la duración del hilo .
  • Estudie el algoritmo de valores mínimos restantes y calcule para un rompecabezas dado el número de una y dos opciones para una unidad en el espacio de estado. El rompecabezas con más una y dos opciones se puede resolver fácilmente.

Cree una base de datos de valores heurísticos para diferentes acertijos utilizando el algoritmo de aprendizaje supervisado .

Le he dado tres soluciones, implemente estas heurísticas y compárelas con la base de datos anterior y calcule la solución. Algoritmo supervisado corre sobre todo el código que compara el conjunto de datos con el conjunto de entrenamiento dado.

¡¡Salud!! 😉

Un algoritmo, si no el algoritmo:
Página en fi.muni.cz