Learning in Cooperative Multi-Agent Systems