NP-Completeness. Goal: problems for which we can not find polynomial time algorithms. We want some way to classify problems that are hard to solve, i.e. For many interesting problems. • we cannot find a polynomial time algorithm • we cannot prove that no polynomial time algorithm exists