Está en la página 1de 2

Un sistema actual para solucionar el acertijo de los misioneros y los caníbales por el cual el estado está

representado por un vector sencillo ⟨m, c, b⟩.

Los elementos del vector representan el número de misioneros, caníbales, y si la barca es en el lado
incorrecto, respectivamente. Desde la barca y todo del misioneros e inicio de caníbales en el lado
incorrecto, el vector está inicializado a ⟨3,3,1⟩.

Las acciones usan la suma y la resta del vector para manipular el vector estatal. Para caso, si un caníbal
solitario cruzó el río, el vector ⟨0,1,1⟩ sería restado del estatal de ceder ⟨3,2,0⟩.

El estado reflejaría que hay todavía tres misioneros y dos caníbales en el lado incorrecto, y que la barca
está ahora en el banco opuesto. A plenamente solucionar el problema, un árbol sencillo está formado
con el estado inicial como la raíz.

Las cinco acciones posibles (⟨1,0,1⟩, ⟨2,0,1⟩, ⟨0,1,1⟩, ⟨0,2,1⟩, y ⟨1,1,1⟩) es entonces restado del estado
inicial, con el resultado que forma nodos de niños de la raíz. Cualquier nodo que tiene más caníbales
que misioneros en cualquier banco es en un estado nulo, y es por tanto sacado de consideración más
lejana.

Los nodos de niños válidos generaron sería ⟨3,2,0⟩, ⟨3,1,0⟩, y ⟨2,2,0⟩. Para cada de estos nodos
restantes, nodos de niños están

El algoritmo continúa adición y sustracción alternas para cada nivel del árbol hasta un nodo está
generado con el vector ⟨0,0,0⟩ cuando su valor.

Esto es el estado de objetivo, y el camino de la raíz del árbol a este nodo representa una secuencia de
acciones que soluciona el problema.

También podría gustarte