The transformation is polynomial in the length of the SAT instance.
Note: 2SAT is solvable in polynomial time.
A coloring of a graph is the assignment of a "color" to each vertex of the graph such that adjacent vertices are not assigned the same color. The chromatic number of a graph G, X(G) [Chi(G)], is the smallest number of colors needed to color G.
Optimization problem: Given an undirected graph G, determine X(G) (and produce an optimal coloring).
Decision problem: Given G and a positive integer k, is there a coloring of G using at most k colors (i.e., is G k-colorable)?
Suppose we are given n jobs to be executed one at a time and, for each job, an execution time, deadline, and penalty for missing the deadline.
Optimization problem: Determine the minimum possible penalty (and find an optimal schedule).
Decision problem: Given a nonnegative integer k, is there a schedule with penalty < k?
Note: Job scheduling without penalties such that at most k jobs miss their deadlines is in P.
Suppose we are given a deadline and a set of tasks of varying length to be performed on two identical processors.
Optimization problem: Determine an allocation of the tasks to the two processors such that the deadline can be met.
Decision problem: Can the tasks be arranged so that the deadline is met?
Optimization problem: Given an unlimited number of bins, each of size 1, and n objects with sizes s1, ..., sn where 0 < si < 1, determine the smallest number of bins into which the objects can be packed (and find an optimal packing).
Decision problem: Given, in addition to the inputs described above, an integer k, do the objects fit in k bins?
Optimization problem: Given a knapsack of capacity C and n objects with sizes s1, ..., sn and "profits" p1, ..., pn, find the largest total profit of any subset of the objects that fits in the knapsack ( and find a subset that achieves the maximum profit).
Decision problem: Given k, is there a subset of the objects that fits in the knapsack and has total profit at least k?
Optimization problem: Given a positive integer C and n objects with positive sizes s1, ..., sn, among subsets of the objects with sum at most C, what is the largest subset sum?
Decision problem: Is there a subset of the objects whose sizes add up to exactly C?
The subset sum problem is a simpler version of the knapsack problem, in which the profit for each object is the same as its size.
Suppose we are given a set of integers.
Decision problem: Can the integers be partitioned into two sets whose sum is equal?
A Hamiltonian cycle (path) is a simple cycle (path) that passes through every vertex of a graph exactly once.
Decision problem: Does a given undirected graph have a Hamiltonian cycle (path)?
Note: An Euler tour -- a cycle that traverses each edge of a graph exactly once -- can be found in O(e) time.
Optimization problem: Given a complete, weighted graph, find a minimum-weight Hamiltonian cycle.
Decision problem: Given a complete, weighted graph and an integer k, is there a Hamiltonian cycle with total weight at most k?
A complete graph has an edge between each pair of vertices.
A vertex cover for an undirected graph G is a subset V' of vertices such that each edge in G is incident upon some vertex in V'.
Optimization problem: Find a vertex cover for G with as few vertices as possible.
Decision problem: Given an integer k, does G have a vertex cover consisting of k vertices?
Note: The edge cover problem is in P.
A clique is a subset V' of vertices in an undirected graph G such that every pair of distinct vertices in V' is joined by an edge in G (i.e., the subgraph induced by V' is complete). A clique with k vertices is called a k-clique.
Optimization problem: Find a clique with as many vertices as possible.
Decision problem: Given an integer k, does G have a k-clique?
An independent set is a subset V' of vertices in an undirected graph G such that no pair of vertices in V' is joined by an edge of G.
Optimization problem: Find an independent set with as many vertices as possible.
Decision problem: Given an integer k, does G have an independent set consisting of k vertices?
A feedback edge set in a digraph G is a subset E' of edges such that every cycle in G has an edge in E'.
Optimization problem: Find a feedback edge set with as few edges as possible.
Decision problem: Given an integer k, does G have a feedback edge set consisting of k edges?
Note: The feedback edge set for undirected graphs is in P.
Optimization problem: What is the longest simple path between any two vertices in graph G?
Decision problem: Given an integer k, is there a path in graph G longer than k?
Note: The shortest path between any two vertices can be found in O(ne) time.
Decision problem: Given two graphs G1 and G2, determine if G1 is isomorphic to a subgraph of G2.
Linear programming is a method of analyzing systems of linear inequalities to arrive at optimal solutions to problems
Decision problem: Given a linear program, is there an integral solution?
Copyright © 2004 Jonathan Mohr