¿Cuál es el enfoque de IA para resolver el Cubo de Rubik aleatoriamente barajado?

No hay una respuesta para esto. Necesitas pensar y probar cosas diferentes. Una cosa que puede hacer es utilizar estructuras de árbol para cada posible movimiento y ramificación hacia abajo, y asignar una variable de verificación para la posibilidad de llegar a un cubo resuelto o algo (depende de su algo). Entonces su algo puede eliminar los que tienen valores variables bajos. O lo que puedes hacer es aplicar el mismo algo que usas para resolver el cubo. Es posible que este no sea un código AI ideal para resolver el cubo, pero sabe que al menos resolverá el cubo.

Recientemente estaba trabajando en un robot que resuelve el cubo de rubik con uno de mis amigos. Todavía no tenemos el hardware, pero los códigos están casi listos. Hemos probado una combinación de muchas cosas diferentes.

Intenta eliminar las posibilidades. Supongamos que estás intentando lo del árbol. Si el cubo no está resuelto, los movimientos a la izquierda, izquierda, izquierda … nunca resolverán el cubo. De esta manera puede eliminar muchas posibilidades.

Se trata de pensar. NECESITAS PENSAR. La forma en que veo las cosas es que no hay un enfoque de IA. Siempre es su enfoque primero, si es lo suficientemente bueno, entonces puede llamarlo AI. AI es un término relativo. Algunas personas dicen que no puedes hacer que un verdadero código AI funcione a menos que tengas una computadora cuántica. Por otro lado, he escuchado a personas decir que han terminado con sus códigos de IA. La discusión siempre está abierta.

No hay IA aquí.

En primer lugar, lo único que se indica en el artículo citado es que el robot resolvió el cubo en un tiempo récord. Esta declaración no significa que el robot utilizó las decisiones óptimas. Solo significa que fue más rápido en términos de tiempo de reloj de pared.

Una gran parte de este éxito es mecánico: su robot fue capaz de rotar las caras del cubo de una manera lo suficientemente rápida y precisa.

Otra parte importante del diseño de un robot de este tipo es una visión básica de la computadora: el robot debe reconocer correctamente los colores en el cubo para poder resolverlo.

La secuencia real de rotaciones utilizada por el robot se calcula casi con certeza ensamblando una secuencia de patrones cableados que transponen pequeños subconjuntos de posiciones, al igual que un solucionador humano resolvería el cubo. Este paso no requiere (y no contiene) nada que valga la pena llamar “inteligencia artificial”, es solo una secuencia finita de declaraciones if-then-else.


Resolver el cubo con la menor cantidad de movimientos posibles es un problema resuelto; vea cube20.org. Aún así, esto requería una cantidad de recursos que es múltiples órdenes de magnitud más grandes que lo que el robot para resolver cubos tiene a su disposición. (Sin embargo, una parte de su código se puede usar para obtener una solución de 20 movimientos o menos para cualquier posición de manera razonablemente rápida).

La IA no es necesaria para resolver un 3 × 3.

Se puede lograr solo a través de la fuerza bruta.

Pero, se requiere AI para resolver cubos de orden superior como 4 × 4, 5 × 5, 6 × 6, 7 × 7.

El enfoque que pueden tener es resolver primero los grupos de centros, mediante el autoaprendizaje, y luego intentar hacer el emparejamiento de bordes simultáneamente, utilizando nuevamente el autoaprendizaje / aprendizaje profundo.

Y luego la etapa 3 × 3 del cubo grande se puede resolver utilizando un solucionador de fuerza bruta.

http: //cubesolvingprograms.freef

Este sitio te ayudará a comenzar con la IA en cubos.

Tal vez esto ayude. Este sitio web utiliza un algoritmo para resolver un cubo de rubik a partir de cualquier combinación imaginable que le des, a excepción de algunas que hacen que el algoritmo se quiebre.

El código fuente: Rubik Solve: resuelve el cubo de Rubik en menos de 25 movimientos