Approximate Traveling Salesman
Another NP-complete problem that can be solved by a 2-approximation algorithm is traveling
salesman. The traveling salesman problem is given a complete graph with nonnegative weight
edge costs c(u, v), find a minimum weight

Clique
The next NP-complete problem we will explore is a graph problem known as clique.
For an undirected graph G, a clique is a subset of vertices that form a complete
subgraph (i.e. a subset of vertices with every possible edge between all the vertices)

In order to show that a new problem is also NP-complete, we will construct a (polynomial
time) reduction from an instance of a known NP-complete problem (e.g. circuit satisfiability) to
an instance of the new problem. Thus if we could solve the new proble

An augmenting path is a simple path from s t in the residual network. In other
words it is an entire path which can admit additional flow from the source to the sink
(all edges along the path have residual capacity). The residual capacity of an
augmenting

While there is no efficient way of finding the optimal solution to several of them, e.g. traveling
salesman, there are ways to efficiently findapproximate solutions. It is interesting that while we
may not know the optimal value, we can know how far (wors

Often we assume that all (well-posed) problems are computable, even if not efficiently. However
in 1936 Alan Turing proved a problem that is uncomputable known as the Halting Problem.
Halting Problem
Given a description of an algorithm and an initial inpu

Another graph problem that can be shown to be NP-complete is vertex cover. A vertex
cover is a subset of vertices that touch all the edges in an undirected graph.
Given an undirected graph G, find the minimum subset of vertices that touch all the
edges, i

Traveling Salesman
One of the most famous (and most studied) NP-complete problem is known as
the traveling salesman. The name is derived from the problem that a salesman must
visit each of n cities (i.e. make a hamiltonian tour) exactly once using the sho

3-CNF Satisfiability
If the Boolean expression consists of exactly 3 OR'ed variables per clause with all the clauses
being AND'ed, then the expression is said to be in 3-CNF form (conjunctive normal form).
Given a 3-CNF expression, find an assignment of t

NP Completeness
Complexity theory is a field that investigates the run-time of decision problems, i.e. problems
that return true/false as the answer. While many of the problems we have looked at
are optimization problems (e.g.minimum spanning trees, short