1950s and 1960s

  • People began to look at general ways to solve a problem, rather than solving given instance!
    • Instance of SAT : Is satisfiable?
    • How (fast) can we check in general if a CNF-SAT formula is satisfiable ?
  • Many of the known problems had polynomial running time
    • Actually even or smaller
  • Claim Any exponential (ultimately) beats any polynomial
    • if is large enough
    • Take on both sides!
  • Differentiate between finite and efficient
  • Polynomial time became accepted as standard of efficiency
    • Closed under addition, multiplication and composition
    • : The class of problems solvable in polynomial time (in size of input).

1970s

  • But still many problems no one knew how to solve in polynomial time!
  • CNF satisfiability (SAT)
    • Say we have variables and clauses.
    • No algorithm was known to solve time.
    • Brute force does truth assignments, and checks in time if each of the clauses is satisfied.
    • So, total running time is
    • Note that the input size if
  • Can we design a polynomial time algorithm for SAT ?
  • Or show that such an algorithm cannot exist ?
  • : class of problems where we can verify a potential solution in polynomial time.