Building networks of Markov decision processes to achieve synchronised behaviour from complex multi-agent systems