Revision with unchanged content. FLUX is a programming system for reasoning agents based on the fluent calculus. FLUX agents maintain an internal model of their environment, enabling them to represent partial knowledge. This ability gives rise to powerful reasoning techniques such as planning. Conventionally, the strategy such an agents executes in order to achieve a certain goal is static and needs to be defined in advance. Agents which are able to derive a strategy on their own, using experience and domain knowledge, can provide a way to tackle real world problems that change unexpectedly or for which no solution is known in advance. In this work, we focus on learning a strategy able to use the reasoning capabilities offered by systems such as FLUX. We present a technique to decompose a problem into smaller subproblems using heuristics derived from a given domain description. On this basis, subprograms are learnt in different hypothesis spaces, which correspond to different reasoning techniques. With the help of a grammar inducer, an inductive inference machine composes the found subprograms into the final strategy. The application of this work is still restricted to scenarios where a simulator is available.