Академический Документы
Профессиональный Документы
Культура Документы
7 for each i 2 A n X
8 do u[i ] u[i ] -"
9 for each i 2 B \ X
10 do v[i ] v[i ] + "
11 r et ur n perfect mat ching of G
u ,v
Correctness of the Hungarian Method
Theorem
The Hungarian Algorithm finds a maximum weight
matching and a minimum cost cover.
Proof
The statement is true if the algorithm terminates.
Loop invariant: consider (u, v) before and (u', v') after
the while loop
(u, v) is cover of G ) (u', v') is a cover of G
c(u, v) c(u', v') + c w(M)
For rational weights, c is bounded from below by an
absolute constant.
In the presence of irrational weights, a more careful
selection of the minimum vertex cover is necessary.
5
Hamiltonian Cycles
A graph on n vertices is Hamiltonian if it contains a
simple cycle of length n.
The Hamiltonian-cycle problem is NP-complete
(reduction to the vertex-cover problem).
The nave algorithm has running time O(n!) = O(2
n
).
What are sufficient conditions for Hamiltonian
graphs?
Theorem (Dirac 1952)
Every graph with n 3 vertices and minimum
degree at least n/2 has a Hamiltonian cycle.
6
Suppose G is a graph with o(G) > n/2 that contains no
Hamiltonian cycle.
Insert as many edges into G as possible
Embedding of G into a saturated graph G that
contains a Hamilton path
Neighbourhood I(x
1
) yields n/2 forbidden neighbours for
x
n
in {x
1
, , x
n 2
}.
Since x
n
cannot connect to itself, there is not enough
space for all of its n/2 neighbours.
Proof of Diracs Theorem (Psa)
x
1
x
2
x
n
x
i-1
x
i
x
3
Weaker degree conditions
Let G be a graph on n vertices with degrees
d
1
d
n
.
(d
1
, , d
n
) is called the degree sequence
An integer sequence (a
1
, , a
n
) is Hamiltonian if
every graph on n vertices with a pointwise greater
degree sequence (d
1
, , d
n
) is Hamiltonian.
Theorem (Chvtal 1972)
An integer sequence (a
1
, , a
n
) such that
0 a
1
a
n
< n and n 3 is Hamiltonian iff,
for all i < n/2, we have: a
i
i ) a
n i
n i.
8
Traveling Salesman Problem (TSP)
Given n cities and costs c(i, j) 0 for going from city
i to city j (and vice versa).
Find a Hamiltonian cycle H*of minimum cost
c(H*) =
e 2 E(H*)
c(e) .
Existence of a Hamiltonian cycle is a special case.
Brute force: n! = O(n
n + 1/2
e
-n
) time complexity
Better solutions:
polynomial time approximation algorithm for TSP with
triangle inequality approximation ratio 2
optimal solution with running time O(n
2
2
n
)
9
Approximation algorithms
Consider a minimization problem. An algorithm ALG
achieves approximation ratio (n) 1 if, for every
problem instance P of size n, we have
ALG(P) / OPT(P) (n) ,
where OPT(P) is the optimal value of P.
An approximation scheme takes one additional
parameter c and achieves approximation ratio
(1 + c) on every problem instance.
A polynomial time approximation (PTAS) scheme runs in
polynomial time for every fixed c 0.
The running time of a fully polynomial time
approximation scheme (FPTAS) is also polynomial in c
-1
.
10
2-approximation algorithm for TSP
Running time
Prim's algorithm with Fibonacci heaps: O(E + V logV)
Kruskal's algorithm: O(E logV)
11
An optimal TSP algorithm
For each S {2,,n} and k 2 S, define
P(S, k) "minimum cost of a Hamiltonian path
on S starting in 1 and ending in k"
Let V = {1,,n} and positive costs c(i, j) be given.
TSP = min{P(Vn{1}, k) + c(k, 1) : k 2 Vn{1}}
Recursive computation of P(S, k) :
P({k}, k) = c(1, k)
P(S, k) = min{P(Sn{k}, j) + c(j, k) : j 2 Sn{k}}
Compute P(S, k) buttom-up (dynamic programming)
Number of distinct P(S, k) values is (n 1)2
n 2
.
Each time at most n operations are necessary.
12
Example
13
More positive and negative results on
TSP
Slight modifications yield a 1.5-approximation
algorithm for TSP with A-inequality. (Exercise)
Arora (1996) gave a PTAS for Euclidean TSP with
running time n
O(1/c)
.
For general TSP, there exists no polynomial time
approximation algorithm with any constant
approximation ratio 1, unless P = NP. (Exercise)
14