Complexity Theory

From Rice Wiki

There exists problems that cannot be solved fast. Complexity theory is the classification of problems into classes.

  • P: Set of problems for which exists an algorithm that solves it in poly time O(n^k).
  • NP: Set of problems for which there exists an algorithm that, given an instance of the problem and a certificate (simple solution), verifies the solution in poly time
    • Example: K-independent set
  • NP complete: Set of problems in NP that are the hardest problems in that set
    • Example. SAT problem: Given a boolean equation, find whether there is an input such that the equation returns true.

Independent Set Problem

Consider a graph G(V,E). Find the largest set of vertices such that they do not share edges.

Approach: Brute Force

For all possible subsets of V, if they are independent, set max.