Si usted quiere evitar la lógica y la gráfica de las pruebas, la otra manera de hacerlo es observando las siguientes:
fox y cereales +- el mismo, se plantean problemas cuando se coloca junto con la gallina, pero no hacen daño el uno al otro.
Usted puede entonces construir los siguientes estados:
----------------
| left | right | (fox/cereal)
----------------
| left | right | (goose)
----------------
| left | right | (man)
----------------
Si usted anote toda permitido posiciones con el hombre a la izquierda, el symmetrie de las reglas dice que si cambiamos a la izquierda y a la derecha, usted tiene todo el conjunto de posiciones.
A continuación, puede definir los siguientes estados :
A B C D
2|0 2|0 1|1 0|2
1|0 0|1 1|0 1|0
1|0 1|0 1|0 1|0
y definir el operador * como el intercambio de izquierda y derecha, básicamente, tenemos que ir de A->a* para resolver este acertijo.
Usted puede entonces construir la siguiente matriz:
state1* state2* ...
state1 possible? possible?
state2 possible? possible?
...
Aplica a los estados que hemos definido, esta matriz sería algo como esto (vamos a llamarlo Y)
También aviso, Y es simétrica.
A* B* C* D*
A 0 0 0 1
B 0 0 1 1
C 0 1 1 0
D 1 1 0 0
Es posible, entonces, encontrar la menor cantidad de pasos que se tarda en ir desde A->A* por encontrar el más pequeño de n (n un valor natural) para que
Y^(2*n+1)[0][0] no es cero, entonces la más pequeña ruta es de 2*n+1. En nuestro caso es n=3 => el más pequeño de la ruta es de 7 pasos
Ahora a encontrar el camino. Si usted
(Y^7).1 = 1
0 6
0 14
0 14
Nos damos cuenta de que sólo hay 1 camino para ir de Un punto a a Un* en 7 pasos, esto significa que en cada paso a lo largo del camino, sólo debe haber un camino para llegar a él.
Ahora la reconstrucción de este camino, debemos tomar Y^6, Y^5, Y^4 ... y se multiplica por [1,0,0,0] (ya hemos tenido que hacer esto para darse cuenta de 7 pasos es lo de menos).
Si usted ve un 1 en la matriz resultado, fue un punto de nuestra solución fue pasado.
(impar exponentes de Y significa que vamos a la derecha, incluso exponentes significa que vamos a la izquierda)
Por ejemplo:
(Y^6).1 = 5
0 9
0 5
0 1
entonces, el paso antes de que la última fue en estado D.
Un ejemplo para los últimos pasos :
A* <= D <= B* <= ... <= A
--------------------------------------------------
Yo creo que esta no es la mejor solución, pero solicitó una solución algebraica. Este es el más algebraicas yo podría hacer con la menor cantidad de fuerza bruta / la enumeración de soluciones. Este rompecabezas es, sin embargo, tan pequeños que en cada paso a lo largo del camino es esencialmente forzado, y usted podría simplemente usar la lógica...
No creo que los gráficos eran correctas soluciones, porque eran llanura de la fuerza bruta de la búsqueda de espacio.