Reductions, Algorithmic Bounds, NP Completeness
- 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
- 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
- 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)
- Sorting = tool to solve median finding problem
- = tool to solve
- Decision problem = problem w/ yes/no (true/false) answer
- where → sorting is in complexity class P
- Solvable quickly
- Matters b/c fast
- NP problem = yes/no (true/false), & checkable/verifiable quickly
- Computation may be hard
- NP = yes/true answers verifiable quickly
- co-NP = no/false answers verifiable quickly
- Good Compression: Given bitstream, is there sequence of bits 1 MB able to solve it? → NP problem
- If P = NP → P = NP = NP Complete
- Easily verifiable = easily solvable
- Program output by NP solver should contain structure (hierarchical, with functions/ideas)
- Compression provides understanding → know underlying pattern/structure