Using existing python code and extending it to solve problem.

 A general state space search algorithm is implemented in search.py. Go through this and try to understand it. An example of how to implement a particular search problem using the state space code is shown in pitcher.py. Note in particular how the PitcherState class works in conjunction with the Search class. Using the PitcherState class as a model, write a Simpsons class that implements a solution to the following important problem from an episode of the Simpsons called Gone Maggie Gone from 2009. Maybe you remember it. 

 Homer Simpson has to move his daughter Maggie, his dog Santa’s Little Helper, and a jar of rat poison that looks like candy across a river. He can only take one item in his boat at a time. He can’t leave Maggie alone with the rat poison (or she will eat it) and he can’t leave Santa’s Little Helper alone with Maggie (because the dog will pester the girl). Formulate the actions for this problem and implement them. Be careful to ensure that illegal states are flagged correctly.