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 .
Link to originalThe machine transforms the contents of the tape from to and returns the tape head to the start of the word.
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:
Link to original
- is also NP-hard
- also belongs to NP
Proving NP-hardness
If is NP-hard and , then is also NP-hard.
- Suppose that: (i) is NP-hard and (ii)
- By (i), we have for all
- 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.