totally unimodular matrices
DESCRIPTION
-1. 1. 0. 0. -1. 1. 1. 0. -1. Totally Unimodular Matrices. Combinatorial Algorithm . Min-Max Theorem . Lecture 11: Feb 23. 2 Player Game. Column player. -1. 1. 0. Strategy: A probability distribution. Row player. 0. -1. 1. 1. 0. -1. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/1.jpg)
Totally Unimodular Matrices
Lecture 11: Feb 23
Combinatorial Algorithm
Min-Max Theorem
0 -1 1
1 0 -1
-1 1 0
![Page 2: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/2.jpg)
2 Player Game2 Player Game
0 -1 1
1 0 -1
-1 1 0
Row player
Column player
Row player tries to maximize the payoff, column player tries to minimize
Strategy:A probabilitydistribution
![Page 3: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/3.jpg)
2 Player Game2 Player Game
A(i,j)Row player
Column playerStrategy:A probabilitydistribution
You have to decide your strategy first.Is it fair??
![Page 4: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/4.jpg)
Von Neumann Minimax TheoremVon Neumann Minimax Theorem
Strategy set
Which player decides first doesn’t matter!
e.g. paper, scissor, rock.
![Page 5: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/5.jpg)
Key ObservationKey Observation
If the row player fixes his strategy,then we can assume that y chooses a pure strategy
Vertex solutionis of the form(0,0,…,1,…0),i.e. a pure strategy
![Page 6: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/6.jpg)
Key ObservationKey Observation
similarly
![Page 7: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/7.jpg)
Primal Dual ProgramsPrimal Dual Programs
duality
![Page 8: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/8.jpg)
Other ApplicationsOther Applications
• Analysis of randomized algorithms (Yao’s principle)
• Cost sharing
• Price setting
![Page 9: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/9.jpg)
Totally Unimodular Matrices
Vertex solution: unique solution of n linearly independent tight inequalities
m constraints, n variables
Can be rewritten as:
That is:
![Page 10: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/10.jpg)
Totally Unimodular Matrices
When does has an integral solution x?
Assuming all entries of A and b are integral
By Cramer’s rule
where Ai is the matrix with each column is equal to the
corresponding column in A except the i-th column is equal to b.
x would be integral if det(A) is equal to +1 or -1.
![Page 11: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/11.jpg)
Totally Unimodular Matrices
A matrix is totally unimodular if the determinant
of each square submatrix of is 0, -1, or +1.
Theorem 1: If A is totally unimodular,
then every vertex solution of is integral.
Proof (follows from previous slides):
1. a vertex solution is defined by a set of n linearly independent tight inequalities.
2. Let A’ denote the (square) submatrix of A which corresponds to those inequalities.
3. Then A’x = b’, where b’ consists of the corresponding entries in b.
4. Since A is totally unimodular, det(A) = 1 or -1.
5. By Cramer’s rule, x is integral.
![Page 12: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/12.jpg)
Example of Totally Unimodular Matrices
A totally unimodular matrix must have every entry equals to +1,0,-1.
Guassian elimination
And so we see that x must be an integral solution.
![Page 13: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/13.jpg)
Example of Totally Unimodular Matrices
x is not necessarily an integral solution.
is not a totally unimodular matrix,as its determinant is equal to 2.
![Page 14: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/14.jpg)
Totally Unimodular Matrices
Primal Dual
Theorem 2: If A is totally unimodular,
then both the primal and dual programs are integer programs.
Transpose of A
Proof: if A is totally unimodular, then so is it’s transpose.
![Page 15: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/15.jpg)
Application 1: Bipartite Graphs
Let A be the incidence matrix of a bipartite graph.Each row i represents a vertex v(i), and each column j represents an edge e(j).A(ij) = 1 if and only if edge e(j) is incident to v(i).
edges
vertices
![Page 16: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/16.jpg)
Application 1: Bipartite Graphs
We’ll prove that the incidence matrix A of a bipartite graph is totally unimodular.
Consider an arbitrary square submatrix A’ of A.Our goal is to show that A’ has determinant -1,0, or +1.
Case 1: A’ has a column with only 0. Then det(A’)=0.
Case 2: A’ has a column with only one 1.
By induction, A’’ has determinant -1,0, or +1.And so does A’.
![Page 17: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/17.jpg)
Case 3: Each column of A’ has exactly two 1.
Application 1: Bipartite Graphs
We can write
Since the graph is bipartite, each column has one 1 in Aup and one 1 in Adown
So, by multiplying +1 on the rows in Aup and -1 on the columns in Adown,
we get that the rows are linearly dependent, and thus det(A’)=0, and we’re done.
+1
-1
+1
-1
![Page 18: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/18.jpg)
Application 1: Bipartite Graphs
Maximum bipartite matching
Incidence matrix of a bipartite graph,hence totally unimodular,and so yet another proof that this LP is integral.
![Page 19: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/19.jpg)
Application 1: Bipartite Graphs
Maximum general matching
The linear program for general matching does not come from a totally unimodular matrix, and this is why Edmonds’ result is regarded as a major breakthrough.
![Page 20: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/20.jpg)
Application 1: Bipartite Graphs
Theorem 2: If A is totally unimodular,
then both the primal and dual programs are integer programs.
Maximum matching <= maximum fractional matching <= minimum fractional vertex cover <= minimum vertex cover
Theorem 2 show that the first and the last inequalities are equalites.The LP-duality theorem shows that the second inequality is an equality.And so we have maximum matching = minimum vertex cover.
![Page 21: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/21.jpg)
Application 2: Directed Graphs
Let A be the incidence matrix of a directed graph.
Each row i represents a vertex v(i),
and each column j represents an edge e(j).
• A(ij) = +1 if vertex v(i) is the tail of edge e(j).
• A(ij) = -1 if vertex v(i) is the head of edge e(j).
• A(ij) = 0 otherwise.
The incidence matrix A of a directed graph is totally unimodular.
Consequences: (1) The max-flow problem (even min-cost flow) is polynomial time solvable.(2) Max-flow-min-cut theorem follows from the LP-duality theorem.
![Page 22: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/22.jpg)
Simplex Method
Simplex Algorithm:• Start from an arbitrary vertex.• Move to one of its neighbours which improves the cost. Iterate.
For combinatorial problems, we know that vertex solutions correspondto combinatorial objects like matchings, stable matchings, flows, etc.
So, the simplex algorithm actually defines a combinatorial algorithm for these problems.
![Page 23: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/23.jpg)
Simplex Method
For example, if you consider the bipartite matching polytope and run the simplex algorithm, you get the augmenting path algorithm.
The key is to show that two adjacent vertices are differed by an augmenting path.
Recall that a vertex solution is the unique solution of n linearly independent inequalities. So, moving along an edge in the polytope means to replace one tight inequality by another one. There is one degree of freedom and this corresponds to moving along an edge.
![Page 24: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/24.jpg)
Summary
How to prove a linear program gives integer optimal solutions?
How to model a combinatorial problem as a linear program.
Prove that every vertex solution is integral. By convex combination method. By linear independency of tight inequalities. By totally unimodular matrices. By shifting technique.
See the geometric interpretation of linear programming.
![Page 25: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/25.jpg)
Polynomial Time Solvable Problems
Bipartite matchings
General matchings Maximum flows
Stable matchings
Shortest pathsMinimum spanning trees
Minimum Cost Flows
Linear programming
Submodular Flows
Weighted Bipartite matchings
Graph orientation Matroid intersection
Packing directed trees Connectivity augmentation
![Page 26: Totally Unimodular Matrices](https://reader036.vdocument.in/reader036/viewer/2022081502/56815e0e550346895dcc6cab/html5/thumbnails/26.jpg)
Summary
How to obtain min-max theorems of combinatorial problems?
LP-duality theorem, e.g. max-flow-min-cut, max-matching-min-vertex-cover.
See combinatorial algorithms from the simplex algorithm,and even give an explanation for the combinatorial algorithms
(local minimum = global minimum).