An intelligent problem solver must be able to decompose a complex problem into simpler parts. A decomposition algorithm would not only be bene cial for traditional subgoal-oriented planning systems but also support distributed, multi-agent planners. In this paper, we present an algorithm for automatic problem decomposition. Given a domain description with a number of objects to be manipulated, our method constructs subspaces complete with subproblem descriptions and operators, and solves the subproblems concurrently. The solutions in individual subspaces are combined using a constraint satisfaction algorithm. The e ectiveness of the approach is guaranteed by our careful analysis of the interactions among di erent subspaces. The results presented in this paper support parallel, distributed and multi-agent planning systems.