Designing global behavior in multi-agent systems using evolutionary computation