Resources for a simple introduction to computational complexity

31 Views Asked by At

I study mathematics and want to do my end-of-degree project on heuristic methods for optimization (more concretely, genetic algorithms) and wanted to include a section on computational complexity. Basically to explain what it means for a problem to be NP, NP-complete, etc and why that leads you to use heuristic methods in practical situations.

I have little to no background in this branch of knowledge and the section in the project cannot be very long. Any suggestions for sources that might be helpful? I thought there may exist some optimization book with a chapter dedicated to computational complexity, this could be a perfect source, but I haven't found any.

1

There are 1 best solutions below

0
On BEST ANSWER

I would recommend Sipser's Theory of Computation text. It's reasonably close to a Math textbook and has excellent exposition.

NP-completeness is a very standard topic, and you should be able to find references in other standard texts like CLRS, for instance.

I'd recommend avoiding Arora--Barak. They omit too many details, leave too much to the exercises, and have a lot of errors. I did not find Arora--Barak helpful for learning.