Probabilistic Complexity Classes

Bounded-error Probabilistic Polynomial Time (BPP)

A language is said to be solvable in Bounded-error Probabilistic Polynomial Time (BPP) if there is some machine that is:

  • Probabilistically “Sound”:
  • Probabilistically “Complete”:
  • Polynomial-time:

This class corresponds to Monte Carlo Algorithms, these are randomised algorithms with deterministic runtime but may return incorrect answers due to their probabilistic nature.

Always fast and probably correct.

Link to original

Zero-error Probabilistic Polynomial Time (ZPP)

A language is said to be solvable in Zero-error Probabilistic Polynomial Time (ZPP) if there is some machine that is:

  • Sound:
  • Complete:
  • Expected Polynomial-time:

This class corresponds to Las Vegas Algorithms, these are randomised algorithms that are always sound and complete, but their runtime may vary due to their probabilistic nature.

Always correct and probably fast.

Link to original

Theorem:

  1. Suppose that then there is some PTM that is sound and complete with respect to the language with an expected polynomial runtime:
  2. Construct a new PTM as follows, where :
  3. It is clear that always terminates in steps by design.
  4. We claim that this algorithm is probabilistically sound:
    1. Suppose that
    2. Since, is sound will only incorrectly accept if it had to guess:
  5. Hence our machine is a polynomial-time Monte Carlo algorithm, therefore .

Complexity Hierarchy

This is our current complexity hierarchy: