Consider the Farmer-Wolf-Goat-Cabbage Problem described below:
Farmer-Wolf-Goat-Cabbage Problem
There is a farmer with a wolf, a goat and a cabbage. The farmer has to cross a river with all three things. A small boat is available to cross the river, but farmer can carry only one thing with him at a time on the boat. In the absence of farmer, the goat will eat the cabbage and wolf will eat the goat. How can the farmer cross the river with all 3 things?
Initial state: (L, L, L, L)
Operators:
1. Move farmer and wolf to the opposite side of river if goat and cabbage are not left alone.
2. Move farmer and goat to the opposite side of river.
3. Move farmer and cabbage to the opposite side of river if wolf and goat are not left alone.
4. Move farmer alone to the opposite side of river if wolf and goat or goat and cabbage are not left alone.
Goal state: (R, R, R, R)
Write a Python program that uses breadth-first search algorithm to solve the above problem.
Comments
Leave a comment