Multi-Agent Reinforcement Learning : Foundations and Modern Approaches