P, NP, and NP-Completeness - Oded Goldreich (Cambridge University Press, 2012)