Application of Machine Learning algorithms to the Iterated Prisoner's Dilemma problem (NYU Machine Learning Final Project Fall 2014)