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.)
  • 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:

    • .