Distributed Optimization, Game and Learning Algorithms