Supongamos, estado Inicial del Cubo de Rubik 6x6x6
444444 444444 444444 444444 444444 444444 000000 111111 222222 333333 000000 111111 222222 333333 000000 111111 222222 333333 000000 111111 222222 333333 000000 111111 222222 333333 000000 111111 222222 333333 555555 555555 555555 555555 555555 555555
Quiero encontrar a un estado final mediante básica de la rebanada y la cara se mueve, donde en cada cara de 6x6 las columnas y las filas no tiene la repetición de colores (números), por ejemplo:
0 2 3 4 5 1 1 5 0 2 4 3 5 0 4 3 1 2 2 3 5 1 0 4 4 1 2 5 3 0 3 4 1 0 2 5
He encontrado a un estado final muy cerca de la deseada (sólo una pieza fuera de lugar), Utilizando el siguiente algoritmo
bucket is rubik cube 6x6x6 empty
fill_board()
if length available positions is 0
return True
position = pop available positions
for each N in random.sample([0,1,2,3,4,5,6],6)
bucket[position.i][position.j] = N
if bucked is not valid
continue
if fill_board //Recursion call
return True
bucket[position.i][position.j] = None //backtracking
append position in available positions //backtracking
return False
Cercanos estado que se encuentra:
015324 451230 120453 342501 203145 534012 320154 135042 315024 315240 254013 513420 420153 052134 413202 351204 153240 143502 ---- comprobar, en primer lugar 2 045231 204153 531402 524013 102345 042315 042531 401325 531420 420531 204315 230451 042351 215403 153024 530142 421530 304215
Mi hipótesis es que no hay sudoku estado para el cubo de rubik 6x6x6, soy ingeniero agrícola y no sé cómo validar o refutar, con mis algoritmo si puedo encontrar un sudoku estado refutarla
Hay alguien que me pueda ayudar?