Polyhedral Computation

Polyhedral Computation
Jayant Apte
ASPITRG
October 3, 2012
Jayant Apte. ASPITRG
1
Part I
October 3, 2012
Jayant Apte. ASPITRG
2
The Three Problems of
Polyhedral Computation
●
●
Representation Conversion
●
H-representation of polyhedron
●
V-Representation of polyhedron
Projection
●
●
Redundancy Removal
●
Compute the minimal representation of a polyhedron
October 3, 2012
Jayant Apte. ASPITRG
3
Outline
●
Preliminaries
● Representations of convex polyhedra, polyhedral cones
●
●
●
Homogenization - Converting a general polyhedron in
a cone in
Polar of a convex cone
to
The three problems
●
Representation Conversion
–
–
●
Projection of polyhedral sets
–
–
–
●
Fourier-Motzkin Elimination
Block Elimination
Convex Hull Method (CHM)
Redundancy removal
–
October 3, 2012
Review of LRS
Double Description Method
Redundancy removal using linear programming
Jayant Apte. ASPITRG
4
Outline for Part 1
●
Preliminaries
●
●
●
●
Representations of convex polyhedra, polyhedral cones
Homogenization – Converting a general polyhedron in
to a cone in
Polar of a convex cone
The first problem
●
Representation Conversion
–
–
October 3, 2012
Review of LRS
Double Description Method
Jayant Apte. ASPITRG
5
Preliminaries
October 3, 2012
Jayant Apte. ASPITRG
6
Convex Polyhedron
October 3, 2012
Jayant Apte. ASPITRG
7
Examples of polyhedra
Bounded- Polytope
October 3, 2012
Unbounded - polyhedron
Jayant Apte. ASPITRG
8
H-Representation of a Polyhedron
October 3, 2012
Jayant Apte. ASPITRG
9
V-Representation of a Polyhedron
October 3, 2012
Jayant Apte. ASPITRG
10
Example
(0.5,0.5,1.5)
(1,1,1)
(0,1,1)
(0,0,1)
(1,1,0)
(0,1,0)
(1,0,0)
(0,0,0)
October 3, 2012
Jayant Apte. ASPITRG
11
Switching between the two representations :
Representation Conversion Problem
●
●
●
H-representation
V-representation: The
Vertex Enumeration problem
Methods:
●
Reverse Search, Lexicographic Reverse Search
●
Double-description method
V-representation
H-representation
The Facet Enumeration Problem
●
Facet enumeration can be accomplished by using
polarity and doing Vertex Enumeration
October 3, 2012
Jayant Apte. ASPITRG
12
Polyhedral Cone
October 3, 2012
Jayant Apte. ASPITRG
13
A cone in
October 3, 2012
Jayant Apte. ASPITRG
14
Homogenization
October 3, 2012
Jayant Apte. ASPITRG
15
H-polyhedra
October 3, 2012
Jayant Apte. ASPITRG
16
Example(d=2,d+1=3)
October 3, 2012
Jayant Apte. ASPITRG
17
Example
October 3, 2012
Jayant Apte. ASPITRG
18
V-polyhedra
October 3, 2012
Jayant Apte. ASPITRG
19
Polar of a convex cone
October 3, 2012
Jayant Apte. ASPITRG
20
Polar of a convex cone
Looks like an H-representation!!!
Our ticket back to the original cone!!!
October 3, 2012
Jayant Apte. ASPITRG
21
Polar: Intuition
October 3, 2012
Jayant Apte. ASPITRG
22
Polar: Intuition
October 3, 2012
Jayant Apte. ASPITRG
23
Polar: Intuition
October 3, 2012
Jayant Apte. ASPITRG
24
Polar: Intuition
October 3, 2012
Jayant Apte. ASPITRG
25
Use of Polar
●
Representation Conversion
●
●
No need to have two different algorithms i.e. for
and
.
Redundancy removal
●
No need to have two different algorithms for
removing redundancies from H-representation
and V-representation
●
Safely assume that input is always an Hrepresentation for both these problems
October 3, 2012
Jayant Apte. ASPITRG
26
Polarity: Intuition
October 3, 2012
Jayant Apte. ASPITRG
27
Polar: Intuition
Then take polar again to get
facets of this cone
Perform Vertex Enumeration
on this cone.
October 3, 2012
Jayant Apte. ASPITRG
28
Problem #1
Representation Conversion
October 3, 2012
Jayant Apte. ASPITRG
29
Review of Lexicographic Reverse
Search
October 3, 2012
Jayant Apte. ASPITRG
30
Reverse Search:
High Level Idea
●
●
●
Start with dictionary corresponding to the optimal
vertex
Ask yourself 'What pivot would have landed me at this
dictionary if i was running simplex?'
Go to that dictionary by applying reverse pivot to
current dictionary
●
Ask the same question again
●
Generate the so-called 'reverse search tree'
October 3, 2012
Jayant Apte. ASPITRG
31
Reverse Search on a Cube
Ref.David Avis, lrs: A Revised Implementation of the Reverse Search Vertex Enumeration
Algorithm
October 3, 2012
Jayant Apte. ASPITRG
32
Double Description Method
●
First introduced in:
“ Motzkin, T. S.; Raiffa, H.; Thompson, G. L.; Thrall, R. M.
(1953). "The double description method". Contributions to the
theory of games. Annals of Mathematics Studies. Princeton, N.
J.: Princeton University Press. pp. 51–73”
●
The primitive algorithm in this paper is very inefficient.
(How? We will see later)
●
●
Several authors came up with their own efficient
implementation(viz. Fukuda, Padberg)
Fukuda's implementation is called cdd
October 3, 2012
Jayant Apte. ASPITRG
33
Some Terminology
October 3, 2012
Jayant Apte. ASPITRG
34
Double Description Method:
The High Level Idea
●
●
●
●
An Incremental Algorithm
Starts with certain subset of rows of H-representation
of a cone
to form initial H-representation
Adds rest of the inequalities one by one constructing
the corresponding V-representation every iteration
Thus, constructing the V-representation incrementally.
October 3, 2012
Jayant Apte. ASPITRG
35
How it works?
October 3, 2012
Jayant Apte. ASPITRG
36
How it works?
October 3, 2012
Jayant Apte. ASPITRG
37
Initialization
October 3, 2012
Jayant Apte. ASPITRG
38
Initialization
Very trivial and inefficient
October 3, 2012
Jayant Apte. ASPITRG
39
Example: Initialization
October 3, 2012
Jayant Apte. ASPITRG
40
Example: Initialization
October 3, 2012
Jayant Apte. ASPITRG
41
Example : Initialization
-1
1
0
-1
-1
1
18
0
-4
A
B
4.0000 14.0000
4.0000 4.0000
1.0000 1.0000
October 3, 2012
Jayant Apte. ASPITRG
C
9.0000
9.0000
1.0000
42
How it works?
October 3, 2012
Jayant Apte. ASPITRG
43
Iteration: Insert a new constraint
October 3, 2012
Jayant Apte. ASPITRG
44
Iteration 1 A
B
4.0000 14.0000
4.0000 4.0000
1.0000 1.0000
October 3, 2012
Jayant Apte. ASPITRG
C
9.0000
9.0000
1.0000
45
Iteration 1: Insert a new constraint
Constraint 2
October 3, 2012
Jayant Apte. ASPITRG
46
Iteration 1: Insert a new constraint
October 3, 2012
Jayant Apte. ASPITRG
47
Iteration 1: Insert a new constraint
October 3, 2012
Jayant Apte. ASPITRG
48
Main Lemma for DD Method
October 3, 2012
Jayant Apte. ASPITRG
49
Iteration 1: Insert a new constraint
October 3, 2012
Jayant Apte. ASPITRG
50
Iteration 1: Get the new DD pair
-1 -1 18
1 -1 0
0 1 -4
-1 1 6
10.0000 12.0000
4.0000 6.0000
1.0000 1.0000
October 3, 2012
4.0000
4.0000
1.0000
Jayant Apte. ASPITRG
9.0000
9.0000
1.0000
51
Iteration 2
October 3, 2012
Jayant Apte. ASPITRG
52
Iteration 2: Insert new constraint
October 3, 2012
Jayant Apte. ASPITRG
53
Iteration 2: Insert new constraint
October 3, 2012
Jayant Apte. ASPITRG
54
Iteration 2: Insert new constraint
October 3, 2012
Jayant Apte. ASPITRG
55
Get the new DD pair
-1 -1 18
1 -1 0
0 1 -4
-1 1 6
0 -1 8
9.2000 10.0000 8.0000 10.0000 12.0000 4.0000
8.0000 8.0000 8.0000 4.0000 6.0000 4.0000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
October 3, 2012
Jayant Apte. ASPITRG
56
Iteration 3
October 3, 2012
Jayant Apte. ASPITRG
57
Get the new DD pair
-1 -1 18
1 -1 0
0 1 -4
-1 1 6
0 -1 8
1 1 -12
A
6.2609
5.7391
1.0000
B
6.4000
5.6000
1.0000
October 3, 2012
C
6.0000
6.0000
1.0000
D
8.0000
4.0000
1.0000
E
F
7.2000
4.8000
1.0000
9.2000
8.0000
1.0000
Jayant Apte. ASPITRG
G
H
I
J
10.0000 8.0000 10.0000 12.0000
8.0000 8.0000 4.0000 6.0000
1.0000 1.0000 1.0000 1.0000
58
Termination
October 3, 2012
Jayant Apte. ASPITRG
59
Efficiency Issues
●
Is the implementation I just described good
enough?
October 3, 2012
Jayant Apte. ASPITRG
60
Efficiency Issues
●
Is the implementation I just described good
enough?
●
Hell no!
–
October 3, 2012
The implementation just described suffers from
profusion of redundancy
Jayant Apte. ASPITRG
61
Efficiency Issues
October 3, 2012
Jayant Apte. ASPITRG
We can
totally
do
without
this one!!
62
Efficiency Issues
October 3, 2012
Jayant Apte. ASPITRG
And without
all these!!!
63
Efficiency Issues
October 3, 2012
Jayant Apte. ASPITRG
64
The Primitive DD method
October 3, 2012
Jayant Apte. ASPITRG
65
What to do?
●
Add some more structure
●
Strengthen the Main Lemma
October 3, 2012
Jayant Apte. ASPITRG
66
Add some more structure
October 3, 2012
Jayant Apte. ASPITRG
67
Some definitions
October 3, 2012
Jayant Apte. ASPITRG
68
October 3, 2012
Jayant Apte. ASPITRG
69
October 3, 2012
Jayant Apte. ASPITRG
70
Algebraic Characterization of adjacency
October 3, 2012
Jayant Apte. ASPITRG
71
Combinatorial Characterization of adjacency
(Combinatorial Oracle)
October 3, 2012
Jayant Apte. ASPITRG
72
Example: Combinatorial Adjacency
Oracle
October 3, 2012
Jayant Apte. ASPITRG
73
Example: Combinatorial Adjacency
Oracle
Only the pairs
generate new rays
October 3, 2012
and
Jayant Apte. ASPITRG
will be used to
74
Strengthened Main Lemma
for DD Method
October 3, 2012
Jayant Apte. ASPITRG
75
Procedural Description
October 3, 2012
Jayant Apte. ASPITRG
76
Part 2
October 3, 2012
Jayant Apte. ASPITRG
77
●
Projection of polyhedral sets
–
–
–
●
Redundancy removal
–
October 3, 2012
Fourier-Motzkin Elimination
Block Elimination
Convex Hull Method (CHM)
Redundancy removal using linear programming
Jayant Apte. ASPITRG
78
Projection of a Polyhedra
October 3, 2012
Jayant Apte. ASPITRG
79
Fourier-Motzkin Elimination
●
Named after Joseph Fourier and Theodore
Motzkin
October 3, 2012
Jayant Apte. ASPITRG
80
How it works?
October 3, 2012
Jayant Apte. ASPITRG
81
How it works? Contd...
October 3, 2012
Jayant Apte. ASPITRG
82
Efficiency of FM algorithm
October 3, 2012
Jayant Apte. ASPITRG
83
Convex Hull Method(CHM)
●
●
●
First appears in “C. Lassez and J.-L. Lassez, Quantifier
elimination for conjunctions of linear constraints via
aconvex hull algorithm, IBM Research Report, T.J. Watson
Research Center (1991)”
Found to be better than most other existing algorithms
when dimension of projection is small
Cited by Weidong Xu, Jia Wang, Jun Sun in their ISIT
2008 paper “A Projection Method for Derivation of NonShannon-Type Information Inequalities”
October 3, 2012
Jayant Apte. ASPITRG
84
CHM intuition
October 3, 2012
Jayant Apte. ASPITRG
85
CHM intuition
October 3, 2012
Jayant Apte. ASPITRG
86
CHM intuition
October 3, 2012
Jayant Apte. ASPITRG
(12,6,6)
(12,6)
87
CHM intuition
October 3, 2012
Jayant Apte. ASPITRG
88
Moral of the story
●
●
●
We can make decisions about
actually having its H-representation.
It suffices to have
,
the original polyhedron
We run linear programs on
decisions
October 3, 2012
without
Jayant Apte. ASPITRG
to make these
89
Input:
Faces A of P
Construct an initial
Approximation
of
extreme points of
Convex Hull Method:
Flowchart
Perform Facet
Enumeration on
to get
Update
by adding r to it
Take an inequality from
that is not a face of
and move it outward
To find a new extreme point r
Are all inequalities
In
faces
Of
?
No
Yes
Stop
October 3, 2012
Jayant Apte. ASPITRG
90
Example
October 3, 2012
Jayant Apte. ASPITRG
91
Example
October 3, 2012
Jayant Apte. ASPITRG
92
Example
October 3, 2012
Jayant Apte. ASPITRG
93
Input:
Faces A of P
Construct an initial
Approximation
of
extreme points of
Convex Hull Method:
Flowchart
Perform Facet
Enumeration on
to get
Update
by adding r to it
Take an inequality from
that is not a face of
and move it outward
To find a new extreme point r
Are all inequalities
In
facets
Of
?
Stop
October 3, 2012
Jayant Apte. ASPITRG
94
How to get the extreme points of
initial approximation?
October 3, 2012
Jayant Apte. ASPITRG
95
Example: Get the first two points
October 3, 2012
Jayant Apte. ASPITRG
96
Example: Get the first two points
October 3, 2012
Jayant Apte. ASPITRG
97
Example: Get the first two points
October 3, 2012
Jayant Apte. ASPITRG
98
Get rest of the points so you have a
total of d+1 points
October 3, 2012
Jayant Apte. ASPITRG
99
Get the rest of the points so you
have a total of d+1 points
October 3, 2012
Jayant Apte. ASPITRG
100
Get the rest of the points so you
have a total d+1 points
October 3, 2012
Jayant Apte. ASPITRG
101
How to get the initial facets of the
projection?
October 3, 2012
Jayant Apte. ASPITRG
102
How to get the initial facets of the
projection?
October 3, 2012
Jayant Apte. ASPITRG
103
Input:
Faces A of P
Construct an initial
Approximation
of
extreme points of
Convex Hull Method:
Flowchart
Incrementally update
The Convex Hull
(Perform Facet
Enumeration on
to get
)
Are all inequalities
In
faces
Of
?
Update
by adding r to it
Take an inequality from
that is not a face of
and move it outward
To find a new extreme point r
No
Yes
Stop
October 3, 2012
Jayant Apte. ASPITRG
104
Input:
Faces A of P
Construct an initial
Approximation
of
extreme points of
Convex Hull Method:
Flowchart
Incrementally update
The Convex Hull
(Perform Facet
Enumeration on
to get
)
Are all inequalities
In
faces
Of
?
Update
by adding r to it
Take an inequality from
that is not a face of
and move it outward
To find a new extreme point r
No
Yes
Stop
October 3, 2012
Jayant Apte. ASPITRG
105
Input:
Faces A of P
Construct an initial
Approximation
of
extreme points of
Convex Hull Method:
Flowchart
Incrementally update
The Convex Hull
(Perform Facet
Enumeration on
to get
)
Are all inequalities
In
faces
Of
?
Update
by adding r to it
Take an inequality from
that is not a facet of
and move it outward
To find a new extreme point r
No
Yes
Stop
October 3, 2012
Jayant Apte. ASPITRG
106
Incremental refinement
●
●
Find a facet in current approximation of
that is not actually the facet of
How to do that?
October 3, 2012
Jayant Apte. ASPITRG
107
Incremental refinement
This inequality is
Not a facet of
October 3, 2012
Jayant Apte. ASPITRG
108
Incremental refinement
October 3, 2012
Jayant Apte. ASPITRG
109
Input:
Faces A of P
Construct an initial
Approximation
of
extreme points of
Convex Hull Method:
Flowchart
Incrementally update
The Convex Hull
(Perform Facet
Enumeration on
to get
)
Are all inequalities
In
faces
Of
?
Update
by adding r to it
Take an inequality from
that is not a facet of
and move it outward
To find a new extreme point r
No
Yes
Stop
October 3, 2012
Jayant Apte. ASPITRG
110
How to update the H-representation
to accommodate new point ?
October 3, 2012
Jayant Apte. ASPITRG
111
Example
October 3, 2012
Jayant Apte. ASPITRG
112
Example
October 3, 2012
Jayant Apte. ASPITRG
113
Example: New candidate facets
October 3, 2012
Jayant Apte. ASPITRG
114
How to update the H-representation
to accommodate new point ?
Determine validity of
The candidate facet
And also its sign
October 3, 2012
Jayant Apte. ASPITRG
115
Example
October 3, 2012
Jayant Apte. ASPITRG
116
Example
October 3, 2012
Jayant Apte. ASPITRG
117
How to update the H-representation
to accommodate new point ?
October 3, 2012
Jayant Apte. ASPITRG
118
Example
October 3, 2012
Jayant Apte. ASPITRG
119
Example
October 3, 2012
Jayant Apte. ASPITRG
120
Example
October 3, 2012
Jayant Apte. ASPITRG
121
nd
2 iteration
Not a facet of
October 3, 2012
Jayant Apte. ASPITRG
122
rd
3 iteration
Not a facet of
October 3, 2012
Jayant Apte. ASPITRG
123
th
4 iteration: Done!!!
October 3, 2012
Jayant Apte. ASPITRG
124
Comparison of Projection
Algorithms
●
●
●
Fourier Motzkin Elimination and Block
Elimination doesn't work well when used on big
problems
CHM works very well when the dimension of
projection is relatively small as compared to the
dimention of original polyhedron.
Weidong Xu, Jia Wang, Jun Sun have already
used CHM to get non-Shannon inequalities.
October 3, 2012
Jayant Apte. ASPITRG
125
Computation of minimal
representation/Redundancy
Removal
October 3, 2012
Jayant Apte. ASPITRG
126
Definitions
October 3, 2012
Jayant Apte. ASPITRG
127
References
K. Fukuda and A. Prodon. Double description method revisited. Technical report, Department of Mathematics,
Swiss Federal Institute of Technology, Lausanne, Switzerland, 1995
G. Ziegler, Lectures on Polytopes, Springer, 1994, revised 1998. Graduate Texts in Mathematics.
●
Tien Huynh, Catherine Lassez, and Jean-Louis Lassez. Practical issues on the projection of polyhedral sets.
●
Annals of mathematics and artificial intelligence, November 1992
Catherine Lassez and Jean-Louis Lassez. Quantifier elimination for conjunctions of linear constraints via a
●
convex hull algorithm. In Bruce Donald, Deepak Kapur, and Joseph Mundy, editors, Symbolic and Numerical
Computation for Artificial Intelligence. Academic Press, 1992.
R. T. Rockafellar. Convex Analysis (Princeton Mathematical Series). Princeton Univ Pr.
●
W. Xu, J. Wang, J. Sun. A projection method for derivation of non-Shannon-type information inequalities. In
●
IEEE International Symposiumon Information Theory (ISIT), pp. 2116 – 2120, 2008.
●
October 3, 2012
Jayant Apte. ASPITRG
128
Minkowski's Theorem for
Polyhedral Cones
Weyl's Theorem for
Polyhedral Cones
October 3, 2012
Jayant Apte. ASPITRG
129