Running time
-
The running time (or time complexity) of a decider DTM is the function , where is the maximum number of steps that takes on any input of length .
-
The running time of a decider NTM is the function , where is the maximum number of steps that uses on any branch of its computation on any input of length .
-
If is the running time of , we say that runs in time , and we say that is a -time TM.
-
A verifier for a language is a TM such that .
- Let be a language with verifier .
- A certificate (or proof) for a string is a string such that .
- The running time of is
- (e.g. A polynomial time verifier is a verifier that runs in polynomial time, and a language is polynomially verifiable if it has a polynomial time verifier.)
- Let be a language with verifier .
-
A function is a polynomial time computable function if there exists a polynomial time TM such that for every , halts with on its tape.
Complexity classes
-
((deterministic) time complexity class) .
- (Also denoted ).
-
(nondeterministic time complexity class) .
-
(examples: is the set of languages decidable by a TM that runs in time. is the set of languages decidable by a NTM that runs in time.)
-
The complexity class (polynomial time) is defined as (i.e. the set of languages decidable by a polynomial-time TM)
- (Also denoted , or ).
-
The complexity class (nondeterministic polynomial time) can be defined by the two equivalent definitions:
- (i.e. the set of languages decidable by a polynomial-time NTM).
- (7.20) .
-
.
-
is the time complexity class of languages decidable by an exponential time TM.
-
.
-
Exmaples of languages in :
- Clique: .
- Subset sum problem (SSP): .
-
A language is polynomial time many-one reducible (or polynomial time (mapping) reducible) to a language , denoted , if there exists a polynomial time computable function such that for every , . (in such case is called the polynomial time reduction of to ).
- If and , then .
- If and , then and are polynomial time equivalent, denoted .
- is an equivalence relation on .
- is an equivalence class of .
-
A language is -complete if:
- .
- For every language , .
-
(7.35) If is -complete and , then .
-
(7.36) If is -complete and for in , then is -complete.
-
If , then:
- (Ladner’s theorem) .
-
If , then:
- .