TPE 1 - Sistemas de Producción: Rolling Cubes Sistemas de Inteligencia Artifcial Bergez, Brasca y García
Introducción - Representación Tablero 3x3 – Matriz 3x3 Tablero 3x3 – Matriz 3x3 Cubos mitad negros mitad blancos y vacío en el centro – Distintas fichas. Cubos mitad negros mitad blancos y vacío en el centro – Distintas fichas.
Introducción - Reglas Rotar los cubos si es posible en las 4 direcciones. (8 cubos * 4 movimientos = 32 reglas/estado) Rotar los cubos si es posible en las 4 direcciones. (8 cubos * 4 movimientos = 32 reglas/estado) Mover el espacio blanco y cambiar la ficha por al correspondiente (1 blanco * 4 movimientos = 4 reglas/turno). Se utiliza tabla de transformación de ficha. Mover el espacio blanco y cambiar la ficha por al correspondiente (1 blanco * 4 movimientos = 4 reglas/turno). Se utiliza tabla de transformación de ficha.
Introducción - Estados Estado Inicial: Estado Inicial: Estado Objetivo: Estado Objetivo: Aleatorio: Aleatorio:
Función de Costo La función de costo siempre suma 1 a cada regla aplicada, ya que en este tipo de juegos, todas las reglas demandas el mismo costo. La función de costo siempre suma 1 a cada regla aplicada, ya que en este tipo de juegos, todas las reglas demandas el mismo costo.
Simetrías Simetrías en las 4 direcciones. Se implementó en el método equals. Simetrías en las 4 direcciones. Se implementó en el método equals. Reduce el factor de ramificación pero aumenta el procesamiento. Reduce el factor de ramificación pero aumenta el procesamiento. Ejemplo de primeros nodos: Ejemplo de primeros nodos:
Heurísticas 3 heurísticas desarrolladas: 3 heurísticas desarrolladas: - Nula: Caso para no utilizar ninguna. - Nula: Caso para no utilizar ninguna. - Posiciones incorrectas. - Posiciones incorrectas. - Manhattan mejorada. - Manhattan mejorada.
Heurísticas – Posiciones Incorrectas Cada posición que no está en blanco o si el blanco está en el centro o si el vacío no está en el medio suma 1 al costo de la solución. Cada posición que no está en blanco o si el blanco está en el centro o si el vacío no está en el medio suma 1 al costo de la solución. Ejemplos: Ejemplos: H = 6 H = 8
Heurísticas – Manhattan mejorada Cuando una ficha horizontal o vertical se encuentra en el borde del tablero y es imposible obtener un blanco con un movimiento se le asigna el costo de 5 movimientos. Cuando una ficha horizontal o vertical se encuentra en el borde del tablero y es imposible obtener un blanco con un movimiento se le asigna el costo de 5 movimientos. Cuando hay una negra en el centro se le asigna el costo de 6 movimientos y en otro lugar del tablero 4. Cuando hay una negra en el centro se le asigna el costo de 6 movimientos y en otro lugar del tablero 4.
Heurísticas – Manhattan mejorada Cuando hay una blanca en el centro, se le asigna el costo de 6 movimientos ya que debe moverse varias veces para volver a ser blanco en otra posición. Cuando hay una blanca en el centro, se le asigna el costo de 6 movimientos ya que debe moverse varias veces para volver a ser blanco en otra posición. Al vacío se le asigna 0 y a las blancas en posición distinta del centro también. Al vacío se le asigna 0 y a las blancas en posición distinta del centro también.
Motor Motor de inferencia genérico. Motor de inferencia genérico. Entrada: Problema y método de resolución. Entrada: Problema y método de resolución. Salida: Respuesta según problema (Solución si es hay alguna). Salida: Respuesta según problema (Solución si es hay alguna). Utiliza el algoritmo de listas de nodos abiertos y cerrados. Utiliza el algoritmo de listas de nodos abiertos y cerrados.
Motor – Estructura de Nodo Nodo ancestro: Una referencia al padre, para poder rastrear y reconstruir el camino de ser necesario. Nodo ancestro: Una referencia al padre, para poder rastrear y reconstruir el camino de ser necesario. Regla: La regla que se utilizó para transformar al padre en este nodo. Regla: La regla que se utilizó para transformar al padre en este nodo. Estado: El estado del tablero generado. Estado: El estado del tablero generado.
Motor – Estructura de Nodo Nivel: El nivel de profundidad. Nivel: El nivel de profundidad. Costo: El costo hasta ese nodo. Costo: El costo hasta ese nodo. Heurística: El resultado de la función heurística de haber una. Heurística: El resultado de la función heurística de haber una. Función f: La suma entre la heurística y el costo, utilizada en los métodos A*. Función f: La suma entre la heurística y el costo, utilizada en los métodos A*.
Motor - Configuración El motor se configura mediante un archivo con los siguientes parámetros: El motor se configura mediante un archivo con los siguientes parámetros: - lookCloseNodes: Para realizar la búsqueda como si fuese un grafo. - lookCloseNodes: Para realizar la búsqueda como si fuese un grafo. - lookOpenNodes: Para dejar los nodos de menor costo en la lista de abiertos. - lookOpenNodes: Para dejar los nodos de menor costo en la lista de abiertos.
Motor - Configuración - problem: Se ingresa el problema a resolver siempre que esté soportado. - problem: Se ingresa el problema a resolver siempre que esté soportado. - method: El método de búsqueda. - method: El método de búsqueda.
Motor – Métodos de Búsqueda DFS DFS DFS informado DFS informado Costo uniforme Costo uniforme A* A* IDA* IDA*
Resultados
Resultados
Resultados
Resultados La solución óptima se encontró con el método A* y la heurística manhattan en 68 minutos aproximadamente y se utilizaron un total de nodos exploradores. La solución óptima se encontró con el método A* y la heurística manhattan en 68 minutos aproximadamente y se utilizaron un total de nodos exploradores. IDA* tardó medio minuto menos y usó la misma cantidad de nodos. IDA* tardó medio minuto menos y usó la misma cantidad de nodos.
Conclusiones Los métodos más complejos reducen drásticamente el tiempo de computación. Los métodos más complejos reducen drásticamente el tiempo de computación. De acuerdo a la complejidad del problema, la heurística incrementa su importancia y es determinante en la búsqueda del camino óptimo. De acuerdo a la complejidad del problema, la heurística incrementa su importancia y es determinante en la búsqueda del camino óptimo.
Bibliografía Juego de Rolling Cubes URL: gos/jugar.php?id=3416 Juego de Rolling Cubes URL: gos/jugar.php?id=3416 URL: gos/jugar.php?id=3416 URL: gos/jugar.php?id=3416 Juego y solución óptima URL: ingcubes.html Juego y solución óptima URL: ingcubes.htmlhttp:// ingcubes.htmlhttp:// ingcubes.html
¿Preguntas?