a Python program that uses breadth-first search algorithm to solve the above problem
Q-1. 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?
State Space Formulation of the Problem
State of the problem can be represented by a 4-tuple where elements of the tuple represent positions of farmer, wolf, goat and cabbage respectively. The position of boat is always same as the position of farmer because only farmer can drive the boat.
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
Trending now
This is a popular solution!
Step by step
Solved in 2 steps