http://en.wikipedia.org/wiki/P_versus_NP_problem