Computational Complexity - Arora/Barak (Cambridge University Press, 2012)