Computational Complexity
ZPP
RP ∩ coRP; the randomized poly-time class with zero error probability
Translation
Relations between complexity classes translate upwards (padding argument)
Church-Turing hypothesis
The intuitive notion of an algorithm is a halting Turing machine
Approximation for optimization problems
There exist problems for which solutions sufficiently close to optimum can be found (and there exist problems without this property)
Randomized Algorithms
There exist problems for which the use of a random number generator allows for finding the exact solution most of the time
log-space uniform (Ubc-uniform)
a circuit family C for which there exists a DLOG machine to construct every circuit in C
Boolean expression
a combination of variables, logical connectives, and parenthesis
Independent Set
a discrete subgraph; a set of nodes from a graph such that no two nodes are adajcent
Clause
a disjunction (or) of literals
Parallel RAM (PRAM)
a network of RAMs running concurrently on a global, shared memory (CRCW, CREW, EREW)
Random Turing Machine
a restricted NTM with a clock such that the computation tree is a full binary tree with either YES (accepting) or NO (rejecting) in each leaf node. For every input, there must be either no accepting path or at least ε (1/2) of the paths are accepting
Uniform circuit family
a set of Boolean circuit C = {C0, C1, ...} such that (the encoding of) each Cn can be constructed from n by using an algorithm
Literal
a variable or its negation
Boolean circuit
acyclic directed graph with 3 types of nodes (input, gates, output)
Alternating TM (ATM)
an extension of an NTM in which every state is either existential (∃) or universal (∀)
Randomized poly-time class (RP)
class of problems defined by poly-time RTMs
Conjunctive Normal Form (CNF)
conjunctions of clauses
Counting argument
counts all possible configs
Inherently sequential problems
problems for which no significant speedup can be achieved by parallel computation
Parallelizable problems
problems that can be decomposed into smaller subproblems which can be executed by using multiple processors
Complete problem
represents a complexity class in that it is at least as hard as any other problem in that same class
The class NP
the class of all languages that can be recognized by polynomial time bounded non-deterministic TMs
Time-constructible function
A function for which there exists a TM that halts after exactly f(|x|) steps for every input x
Intractable Problem
A problem that cannot be solved by any polynomial time bounded algorithm
CLASS-complete problem
A problem that is CLASS-hard and an element of CLASS
Decision problem
A problem that only has answers "yes" and "no"
Padding argument
Adds padding to input string
Strongly NP-complete
An NP-complete problem with no pseudo-poly time algorithm (assumes NP is not P)
Probabalistic TM
An NTM that accepts its input iff more than half of all paths terminate in YES (accepts by majority vote, not existence of one path; repeating this machine does not increase the error probability)
Pseudo-polynomial time algorithm
An algorithm for a number problem that is poly-time bounded if the involved numbers are polynomially bounded in the input size
Boolean circuit family
C = {C0, C1, ... } can compute f if each Cn computes f restricted to inputs of size n
Space Hierarchy Theorem
DSPACE(o(f(n))) is a proper subset of DSPACE(f(n))
Time Hierarchy Theorem
DTIME(o(f(n)/log(f(n))) is a proper subset of DTIME(f(n))
Partition Problem
Given a finite set A and its size set S, decide if there exists a partition such that the sum of the sizes of the two sets are equal
Relativity Concept
If a class is closed under a certain resource-bounded reduction, any larger class is also closed under that reduction
Las Vegas Algorithms
Iterating random algorithms until a definite answer is reached (zero error probability, but may never answer; expected poly-time) A ∈ ZPP so A ∈ RP and ∼A ∈ RP. Check A and ∼A interleaved and answer if one accepts
Component Design
Match components of two problems to relate them
CLASS-hard problem with respect to reduction R
every problem in CLASS reduces by R to this problem
Monte Carlo Algorithms
iterating an RTM with a RNG on the same input and say YES if any iterations accepts; else say NO. P(M(x) = 1 | x ∈ L) = (1-ε)^i P(M(x) = 0 | x ∈ L) = 1 - (1-ε)^i P(M(x) = 1 | x ∉ L) = 0 P(M(x) = 0 | x ∉ L) = 1
Bounded error PP class (BPP)
languages accepted by poly-time PTM's accepting (rejecting) iff more than half the paths terminate in YES (NO) state Repeating a BPP machine rapidly increases the probability of accuracy L ∈ BPP iff ∃ a PTM M M runs in poly-time ∀ x ∀ x∈L, P(M(x) = 1) ≥ 2/3 (1-ε) ∀ x∉L, P(M(x) = 1) ≤ 1/3 (ε)
Probabilistic poly-time class (PP = coPP)
languages defined by poly-time PTMs