Book in computational-complexity Computational Complexity: A Modern Approach (2007) (theory.cs.princeton.edu)