Problems usually are solved by search through a state space, in which each, point corresponds to a situation that might arise. the search started with an initial situation and performed a sequence of allowable operations until a situation corresponding to a goal is reached. for simple problems, such as, the 8-puzzle, manipulating the complete state description at one time is easy and reasonable however, for more complicated problem domains, the number of combinations of the states of the components of a problem becomes too large to handle in the amount of time available. So, we decompose the problem into small pieces and solve them separately, and then we combine the partial solutions into a complete problem solution.