Reductions, Algorithmic Bounds, NP Completeness

HugPlant

Kolmogorov Complexity (Language Independence)

  • Random bitstream → unable to deterministically produce it in much shorter program
  • Some bitstreams = special, can be produced by all programming languages in compact amount of space

Kolmogorov Complexity (Uncomputability)

  • Impossible to write program that calculates/computes Kolmogorov Complexity of any bitstream → corollary = impossible to write "perfect" compression algorithm
    • No way to do it in reverse, impossible b/c if possible to produce smallest program could just see how long it is (to obtain Kolmogorov Complexity) → violates uncomputability of Kolmogorov Complexity

Problem Difficulty

  • Hardest = impossible

Independent Set Problem

  • Worst case each red vertex has neighbors → red vertex, check that neighbors are all white →
  • Computing next coloring fast → enumerate binary number (bitshifting for all possible permutations)

Reductions & "Cracking"

  • Sorting = tool to solve median finding problem
  • = tool to solve

The Class P

  • Decision problem = problem w/ yes/no (true/false) answer
  • where → sorting is in complexity class P
  • Solvable quickly
  • Matters b/c fast

The Class NP

  • NP problem = yes/no (true/false), & checkable/verifiable quickly

Why Does The Complexity Class NP Matter?

  • Computation may be hard
  • NP = yes/true answers verifiable quickly
  • co-NP = no/false answers verifiable quickly

Independent Set Difficulty

Problem Difficulty

  • Good Compression: Given bitstream, is there sequence of bits 1 MB able to solve it? → NP problem

P = NP?

  • If P = NP → P = NP = NP Complete
    • Easily verifiable = easily solvable

Even More Impressive Consequences

  • Program output by NP solver should contain structure (hierarchical, with functions/ideas)
  • Compression provides understanding → know underlying pattern/structure

results matching ""

    No results matching ""