  Complex systems may often be characterized by their hierarchical dynamics. In
this paper do we present a method and an operational algorithm that
automatically infer this property in a broad range of systems; discrete
stochastic processes. The main idea is to systematically explore the set of
projections from the state space of a process to smaller state spaces, and to
determine which of the projections that impose Markovian dynamics on the
coarser level. These projections, which we call Markov projections, then
constitute the hierarchical dynamics of the system. The algorithm operates on
time series or other statistics, so a priori knowledge of the intrinsic
workings of a system is not required in order to determine its hierarchical
dynamics. We illustrate the method by applying it to two simple processes; a
finite state automaton and an iterated map.
