Definition
Alphabet
- : alphabet
- : symbol
- : word over
- : empty word
- : length of word
- #: number of occurence of in
- : concatenation of and
- prefix, suffix, subword
- : language over
- : concatenation
- canonical ordering: let be a linear ordering,
- if
- or
Algorithmic Problems
- polynomially related: codings is polynomial
- decision Problem:
- solves/decides
- accepts :
- Halting Problem: Undecidable but acceptable
- solves/decides
- optimization Problem:
- briefly: constraints, costs, goal
- : input alphabet
- : output alphabet
- : language of feasible Problem instances
- : language of the actual Problem instance
- , is the set of feasible solutions for
- cost
- goal
- optimal solution
- : all optimal solutions for instance
- Algorithm is consistent for :
- Algorithm solves
- consistent
- is a subProblem of if (Others are same)
Turing Machine
- Turing Machine:
- : state set
- : Input alphabet
- : alphabet on tape
- : initial satate
- nondeterministic TM:
- nondeterministic TM accept
- computation of accepts
- , all computations of rejects
- time complexity of nondeterministic TM
- : shortest accepting computation of on
- Church-Turing thesis: Problem can be solved by an algorithm iff Turing machine solving
- Theorem: for every increasing function
- decision Problem such that every TM solving it has the time complexity in
- but TM solving it in
- : language decided by
Examples
Decision
- PRIM: test if a number is a prime
- EQ-POL: in
- EQ-1BP: equivalence of one-time-only branching programs
- C-SAT: whether a formula with AND, NOT, OR gate is satisfiable
- SAT (kSAT): whether a CNF can be satisfied
- Clique: whether a graph contain
- VCP: whether graph contains a vertex cover of size
- HC: whether graph contains a Hamiltonian cycle
- SOL-IP: existence of a solution of linear integer programming
- SOL-0/1-IP
- SOL-IP
- PM: whether a bipartite graph has a perfect matching
- SUBSET-SUM: exists a subset sum up to
Optimization
- TSP: find a Hamiltonian cycle of the minial cost in a complete weighted graph
- -TSP: metric traveling salespaerson Problem (satisfying triangle inequality)
- Euclidean TSP: geometrical, can be embedded in the two-dimensional Euclidean space
- MSP: Makespan Scheduling Problem
- MIN-VCP: find minimum vertex cover
- WEIGHT-VCP
- SCP: Set Cover Problem
- MAX-CL: Maximum Clique Problem
- MAX/MIN-CUT
- KP: Knapsack Problem
- SKP: Simple Knapsack Problem
- BIN-P: Bin-Packing Problem
- MAX-SAT: maximize the number of stisfied clauses
- MAX-kSAT
- MAX-EkSAT: exactly
- LP: Linear Programming
- IP: Integer Linear Programming
- 0/1-Linear Programming
- MAX-LinModk: Maximum Linear Equation Problem Mod k
- MAX-EmLinModk: k is prime, m is positive integer
- MAX-CSP:
Complexity Theory
- main objective of the complexity theory is:
- find a formal specification of the class of practically solvable Problems
- to develop methodes enabling the classification of algorithmic Problemcs accoording to their membershiop in this class
- uniform cost
- all numbers bounded
- basic operation:
- logarithmic cost
- numbers takes bits
- addition, subtraction, assignment:
- multiplication, division:
- pseudopolynomial time complexity:
- is polynomial in the numeric value of the input
- is not polynomial in the number of bits required to repensent it of the input
- bound
- : time/space complexity on
- : worst case analysis
- upper bound on the time complexity of : solving with
- lower bound on the time complexity of : solving has
- There is a decision Problem such that deciding , deciding :
- optimal algorithm: and is a lower bound
Complexity Class
- Complexity Zoo
- is a TM,
- tractable (solvable): , is accepted/decided by a polynomial-time algorithm
- intractable:
- is a polynomial-time nondeterministic TM
- verifier for : works on , accepts
- closed under
- polynomial-time reduction (Karp, many-one) : poly. time that
- Cook/Turing reduction: an algorithm that solves Problem using a polynomial number of calls to a subroutine for Problem , and polynomial time outside of those subroutine calls
- -hard :
- -complete : and is -hard
- co-: , can be poly. time verified with
- strongly : when all of its numerical parameters are bounded by a polynomial in the length of the input
-
- Conjecture: : no hope for a polynomial-time algorithm
- Conjecture: : randomization alone not help
Optimization Complexity
- :
- exists a polynomial such that
- exists a polynomial-time algorithm that such that , decides wheter
- cost is computable in polynomial time
- :
- polynomial-time algorithm computes an optimal solution
- threshold language of (minimum):
- is -hard if is -hard
Reduction
- Cook's Theorem: C-SAT is -complete
-
- C-SAT SAT
- SAT 3SAT
- 3SAT SOL-0/1-ILP:
- 3SAT SUBSET-SUM
- 3SAT Clique:
- Clique VC: Clique VC
- VC HAM-CYCLE
- VC SCP
- HAM-CYCLE HAM-PATH
- HAM-CYCLE TSP
- MAX-CUT
- strongly : 3-Partition
- PM co-
- -complete: Go
- -complete: equivalence of regular expressions with squaring, concatenating and union
- -complete: equivalence of regular expressions with squaring, concatenating, union and Kleene
Approximation
Error
- relative error
- approximation ratio
- (minimization)
| NPO | Name | Description | Examples |
|---|---|---|---|
| fully polynomial-time approximation scheme | bounded by a function that is polynomial in both and | knapsack | |
| polynomial-time approximation scheme | , computes a feasible solution with and can be bounded by a function that is polynomial in | MSP | |
| -approximation algorithm | MIN-VCP, MAX-SAT, -TSP | ||
| -approximation algorithm | is bounded by a polylogarithmic function | SCP | |
| -approximation algorithm | is not bounded by any polylogarithmic function | TSP, MAX-CL |
Distance
- distance function from according to :
- is polynomial-time computable
- property of infinite jumps: If for some , then is infinite
for -approximation
| Stability according to | Description |
|---|---|
| -stable | is -approximation algorihtm for |
| stable | is -stable according to for all |
| -quasistable | is an -approxiamtion algorithm for |
for PTAS :
| Stability according to | Description |
|---|---|
| stable | is a -approximation algorithm for |
| superstable | , are some functions from to and |
- constraint distance function for is , , and is polynomial-time computable.
- -ball of according to :
| -dual | Description |
|---|---|
| PTAS | and if goal=max and is bounded by a function that is polynomial in |
| FPTAS | can be bounded by a function that is polynoimal in both and |
Randomization
- : the maximum number of random bits used
- :
- derandomization:
- : Probability of the executaion on
-
-
Decision Problem
| Classification | Name | Description | Repeat k times |
|---|---|---|---|
| Las Vegas algorithm | |||
| One-sided-error Monte Carlo algorithm | |||
| Two-sided-error Monte Carlo algorithm | |||
| Unbounded-error Monte Carlo algorithm |
Optimization Problem
| Algorithm | Description |
|---|---|
| is polynomial in both and | |
| (randomized polynomial-time approximation scheme) | and and and is a polynomial in |
| randomized -approximation algorithm | and |
| randomized -approximation | and |
| randomized -expected approximation | and |
- w.h.p (with high probility):
- Median Trick
- , return a in time poly(),
- Repeat and choose median number (Chernoff Bound)
- FPRAS: , return a in time Poly(),
Paradigms of Design of Randomized Algorithm
- Foiling an adversary
- Abundance of witness: decision Problem
- Fingerprinting: equivalence Problem
- random sampling
- relexation and random rounding