The problem is usually stated as follows. Three missionaries and three cannibals are on one side of a river, along with a boat that can hold one or two people. Find a way to get everyone to the other side without ever leaving a group of missionaries in one place outnumbered by the cannibals in that place. This problem is famous in AI because it was the subject of the first paper that approached problem formulation from an analytical viewpoint @Amarel:1968.

Formulate the problem precisely, making only those distinctions necessary to ensure a valid solution. Draw a diagram of the complete state space.

Implement and solve the problem optimally using an appropriate search algorithm. Is it a good idea to check for repeated states?

Why do you think people have a hard time solving this puzzle, given that the state space is so simple?