Computable Functions

Computable function

A function on words from is computable if there is a deterministic Turing Machine s.t.: (or there is a lambda-term)

  • accepts all input words
  • when started in configuration , the machine eventually terminates in configuration .

The machine transforms the contents of the tape from to and returns the tape head to the start of the word.

Link to original

Polynomial Reduction

Polynomial Reduction

A polynomial reduction from a problem to problem is a function computable in polynomial-time such that:

Link to original

NP-hard

A problem is NP-hard if every problem in NP can be polynomially reduced to it.

Link to original

NP-complete

A problem is NP-complete if:

  • is also NP-hard
  • also belongs to NP
Link to original

Proving NP-hardness

If is NP-hard and , then is also NP-hard.

  1. Suppose that: (i) is NP-hard and (ii)
  2. By (i), we have for all
  3. By (ii) and transitivity, we have for all

A typical approach to demonstrating that a problem is NP-hard is to show that Boolean Satisfiability Problem (SAT) is reducible to it.