McGraw-Hill OnlineMcGraw-Hill Higher EducationLearning Center
Student Center | Instructor's Center | Introduction to Algorithms | Home
Glossary A-B
Glossary B-D
Glossary D-F
Glossary F-J
Glossary J-M
Glossary M-O
Glossary O-P
Glossary P-S
Glossary S-T
Glossary T-Z
Chapter Overview
Glossary
PowerPoint Slides
Algorithm Pseudocode
Feedback
Help Center


small text cover image
Introduction to Algorithms, 2/e
Thomas H. Cormen, Dartmouth College
Charles E. Leiserson, Massachusetts Institute of Technology
Ronald L. Rivest, Massachusetts Institute of Technology
Clifford Stein, Columbia University

Approximation Algorithms

Glossary


approximation algorithm  an algorithm that returns near-optimal solutions
(See page 1022)
ρ(n)-approximation algorithm  an algorithm that achieves an approximation ratio of ρ(n).
(See page 1022)
approximation scheme  for an optimization problem is an approximation algorithm that takes as input not only an instance of the problem, but also a value ε > 0 such that for any fixed ε, the scheme is a (1 + ε)-approximation algorithm.
(See page 1023)
polynomial-time approximation scheme  property of an approximation scheme if for any fixed ε > 0, the scheme runs in time polynomial in the size n of its input instance.
(See page 1023)
fully polynomial-time approximation scheme  property of an approximation scheme if its running time is polynomial both in 1/ε and in the size of the input instance.
(See page 1023)
vertex cover  of an undirected graph G = (V, E) is a subset V′ ⊆ V such that if (u, v) is an edge of G, then either uV′ or vV′ (or both). The size of a vertex cover is the number of vertices in it.
(See page 1024)
vertex cover problem  to find a vertex cover of minimum size in a given undirected graph. We call such a vertex cover an optimal vertex cover. this problem is the optimization version of an NP-complete decision problem.
(See page 1024)
maximal matching  a matching that is not a proper subset of any other matching.
(See page 1026)
triangle inequality  The cost function c satisfies the triangle inequality if for all vertices u, v, wV,

c(u, w) ≤ c(u, v) + c(v, w).

The triangle inequality is a natural one, and in many applications it is automatically satisfied.


(See page 1028)
closest-point heuristic  for building an approximate traveling-salesman tour. Begin with a trivial cycle consisting of a single arbitrarily chosen vertex. At each step, identify the vertex u that is not on the cycle but whose distance to any vertex on the cycle is minimum. Suppose that the vertex on the cycle that is nearest u is vertex v. Extend the cycle to include u by inserting u just after v. Repeat until all vertices are on the cycle.
(See page 1033)
bottleneck traveling-salesman problem  finding the hamiltonian cycle such that the cost of the most costly edge in the cycle is minimized.
(See page 1033)
approximation ratio  a randomized algorithm for a problem has an approximation ratio of
ρ(n) if, for any input of size n, the exptected cost C of the solution produced by the randomized algorithm is within a factor of ρ(n) of the cost C* of an optimal solution:

<a onClick="window.open('/olcweb/cgi/pluginpop.cgi?it=gif:: ::/sites/dl/free/0070131511/25350/page1039.gif','popWin', 'width=161,height=57,resizable,scrollbars');" href="#"><img valign="absmiddle" height="16" width="16" border="0" src="/olcweb/styles/shared/linkicons/image.gif"> (0.0K)</a>


(See page 1039)
randomized ρ(n)-approximation algorithm  a randomized algorithm that achieves an approximation ratio of ρ(n). In other words, a randomized approximation algorithm is like a deterministic approximation algorithm, except that the approximation ratio is for an expected value.
(See page 1039)
MAX-3-CNF satisfiability  In order to be satisfiable, there must be an assignment of the variables so that every clause evaluates to 1. If an instance is not satisfiable, we may want to compute how "close" to satisfiable it is, that is, we may wish to find an assignment of the variables that satisfies as many clauses as possible. We call the resulting maximization problem MAX-3-CNF satisfiability. The input to MAX-3-CNF satisfiability is the same as for 3-CNF satisfiability, and the goal is to return an assignment of the variables that maximizes the number of clauses evaluating to 1.
(See page 1039)
minimum-weight vertex-cover problem  given an undirected graph G = (V, E) in which each vertex vV has an associated positive weight w(v). For any vertex cover V′ ⊆ V, we define the weight of the vertex cover w(V′) = ΕvVw(v). The goal is to find a vertex cover of minimum weight.
(See page 1040)
MAX-CNF satisfiability problem  is like the MAX-3-CNF satisfiability problem, except that it does not restrict each clause to have exactly 3 literals.
(See page 1043)
weight  of a cut is the number of edges crossing the cut.
(See page 1043)
trim  To trim a list L by δ means to remove as many elements from L as possible, in such a way that if L′ is the resulting of trimming L, then for every element y that was removed from L, there is an element z still in L′ that approximates y.
(See page 1045)
first-fit  The first-fit heuristic takes each object in turn and places it into the first bin that can accommodate it.
(See page 1050)
maximal matching  a matching that is not a proper subset of any other matching.
(See page 1051)
parallel-machine-scheduling problem  Given n jobs, J1, J2, . . . , Jn, where each job Jk has an associated nonnegative processing time of pk. Also, given m identical machines, M1, M2, . . . , Mm. A schedule specifies, for each job Jk, the machine on which it runs and the time period during which it runs. Each job Jk must run on some machine Mi for pk consecutive time units, and during that time period no other job may run on Mi. Let Ck denote the completion time of job Jk, that is, the time at which job Jk completes processing. Given a schedule we define Cmax = max1≤jnCk to be the makespan of the schedule. The goal is to find a schedule whose makespan is minimum.
(See page 1051)