April 10, 2013
Polyhedral Computationfor Characterization of Region of Entropic Vectors
and Computation of Rate Regions of Coded Networks
Jayant ApteASPITRG
April 10, 2013
Introduction
April 10, 2013
Why do we care about this object?
Kolmogorov Complexity
GroupTheory
Network Coding
Combinatorics
Probability Theory
Quantum Mechanics
Matrix Theory
April 10, 2013
Region of entropic vectors and Network Coding
● Achievable Information Rate Region of multi-source network coding problem is the set of all possible rates at which multiple information sources can be multicast simultaneously on a network
● Most general of all network coding problems● Implicit characterization in terms of region of
entropic vectors is available
April 10, 2013
Where does polyhedral computation come into picture?
● Finding better polyhedral inner and outer bounds on the region of entropic vectors
● Finding the the Achievable Information Rate Region of multi-source network coding problem by substituting in these better inner and outer bounds in place of exact region of entropic vectors in the implicit characterization.
● Both the problems above become problems of polyhedral computation
April 10, 2013
Outline
● Background on Polyhedra● Representation Conversion
– Lexicographic Reverse Search
– Double Description Method
● Polyhedral Projection– Convex Hull Method(As implemented in chm0.1)
7Jayant Apte. ASPITRGApril 10, 2013
Convex Polyhedron
8Jayant Apte. ASPITRGApril 10, 2013
Examples of polyhedra
Bounded- Polytope Unbounded - polyhedron
9Jayant Apte. ASPITRGApril 10, 2013
H-Representation of a Polyhedron
10Jayant Apte. ASPITRGApril 10, 2013
V-Representation of a Polyhedron
11Jayant Apte. ASPITRGApril 10, 2013
Representation conversion
● Given the H-representation of a polyhedron, compute V-representation: vertex enumeration
● Given the V-representation of a polyhedron, compute the H-representation: facet enumeration
12Jayant Apte. ASPITRGApril 10, 2013
Example
(1,0,0)
(0,0,0)
(0,1,0)
(1,1,0)
(0,1,1)
(0.5,0.5,1.5)(1,1,1)
(0,0,1)
H-rep V-rep
13Jayant Apte. ASPITRGApril 10, 2013
Polyhedral Cone
14Jayant Apte. ASPITRGApril 10, 2013
A cone in
15Jayant Apte. ASPITRGApril 10, 2013
Homogenization
16Jayant Apte. ASPITRGApril 10, 2013
H-polyhedra
17Jayant Apte. ASPITRGApril 10, 2013
Example(d=2,d+1=3)
18Jayant Apte. ASPITRGApril 10, 2013
Example
19Jayant Apte. ASPITRGApril 10, 2013
V-polyhedra
20Jayant Apte. ASPITRGApril 10, 2013
Polar of a convex cone
21Jayant Apte. ASPITRGApril 10, 2013
Polar of a convex cone
22Jayant Apte. ASPITRGApril 10, 2013
Polar of a convex cone
H-representation V-representation
H-representationV-representation
Original space Polar/dual space
23Jayant Apte. ASPITRGApril 10, 2013
Equivalence of vertex-enumeration and facet-enumeration
24Jayant Apte. ASPITRGApril 10, 2013
Equivalence of vertex-enumeration and facet-enumeration
Perform Vertex Enumeration on this cone.
25Jayant Apte. ASPITRGApril 10, 2013
Equivalence of vertex-enumeration and facet-enumeration
Then take polar again to get facets of this cone
Perform Vertex Enumeration on this cone.
26Jayant Apte. ASPITRGApril 10, 2013
Minimality of H-representation
● If an inequality can be removed from an H-representation of a polyhedron without changing the polyhedron, then that inequality is said to be redundant.
● An H-representation is minimal if there are no redundant inequalities
27Jayant Apte. ASPITRGApril 10, 2013
Minimality of H-representation• Magenta inequality can be removed
without changing the polyhedron• Magenta inequality is redundant
28Jayant Apte. ASPITRGApril 10, 2013
Minimality of V-representation
● If an extreme point/extreme ray can be removed from a V-representation of a polyhedron without changing the polyhedron, then that extreme point/extreme ray is said to be redundant.
● A V-representation is minimal if there are no redundant extreme points/extreme rays
29Jayant Apte. ASPITRGApril 10, 2013
Minimality of V-representation
30Jayant Apte. ASPITRGApril 10, 2013
Minimality of V-representation
The red points are redundant
31Jayant Apte. ASPITRGApril 10, 2013
Algorithm ILexicographic Reverse Search
32Jayant Apte. ASPITRGApril 10, 2013
Lexicographic Reverse Search
● A pivoting algorithm● Based on variant of Simplex Method called
Lexicographic Simplex Method
33Jayant Apte. ASPITRGApril 10, 2013
A linear program
(1,0,0)
(0,0,0)
(0,1,0)
(1,1,0)
(0,1,1)
(0.5,0.5,1.5)(1,1,1)
(0,0,1)
(1,0,1)
34Jayant Apte. ASPITRGApril 10, 2013
Add slack variables
No. of variables=n=12No. of dimensions=d=3
35Jayant Apte. ASPITRGApril 10, 2013
Co-basis(N) and Basis(B)d-subset of slack variables that are 0={ 9,10,11}: Co-basisRemaining n-d variables can be grouped together: Basis
36Jayant Apte. ASPITRGApril 10, 2013
Co-basis(N) and Basis(B)
(0,0,1)
d-subset of slack variables that are 0={ 7,9,11}
37Jayant Apte. ASPITRGApril 10, 2013
Degeneracy
(0,0,1)
Vertex (0,0,1) has more than one co-bases It is called a degenerate extreme point
38Jayant Apte. ASPITRGApril 10, 2013
Lexicographic Simplex MethodOverview
● Simplex Method maximizes/minimizes a linear objective function over a polytope/polyhedron
● Uses dictionary as a primary data structure: Every basis-cobasis pair has a dictionary corresponding to it
● Choose entering basis using least subscript rule. If none is found, we've reached optimum
● Choose leaving the basis and going into co-basis using lexicographic pivot selection rule. If none is found, problem is unbounded
● Obtain the next dictionary corresponding to new basis-cobasis pair by doing the pivot operation denoted as pivot(r,s)
39Jayant Apte. ASPITRGApril 10, 2013
Lexicographic simplex on our example
(1,0,0)
(0,0,0)
(0,1,0)
(1,1,0)
(0,1,1)
(0.5,0.5,1.5)(1,1,1)
(0,0,1)
(1,0,1)
40Jayant Apte. ASPITRGApril 10, 2013
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(r,s): pivot(r,s)
41Jayant Apte. ASPITRGApril 10, 2013
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=(0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(r,s): pivot(r,s)
42Jayant Apte. ASPITRGApril 10, 2013
P(12,6)
V=(0 1 1)N=(10 5 6)
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(r,s): pivot(r,s)
43Jayant Apte. ASPITRGApril 10, 2013
P(9,5)
V=(1 1 1)N=(6 8 5)
P(12,6)
V=(0 1 1)N=(10 5 6)
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(7,6)
V=(0.5 0.5 1.5)N=(6 8 9)
P(11,8)
V=(0.5 0.5 1.5)N=(7 8 9)
P(10,7)V=(0 0 1)N=(7 11 9)
P(12,9)
V=(0 0 1)N=(10 11 9)
P(r,s): pivot(r,s)
44Jayant Apte. ASPITRGApril 10, 2013
P(9,5)
V=(1 1 1)N=(6 8 5)
P(12,6)
V=(0 1 1)N=(10 5 6)
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(7,6)
V=(0.5 0.5 1.5)N=(6 8 9)
P(11,8)
V=(0 0 1)N=(7 8 9)
P(10,7)V=(0 0 1)N=(7 11 9)
P(12,9)
V=(0 0 1)N=(10 11 9)
P(9,8)
V=(1 0 1)N=(8 12 9)
P(r,s): pivot(r,s)
45Jayant Apte. ASPITRGApril 10, 2013
P(9,5)
V=(1 1 1)N=(6 8 5)
P(12,6)
V=(0 1 1)N=(10 5 6)
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(7,6)
V=(0.5 0.5 1.5)N=(6 8 9)
P(11,8)
V=(0 0 1)N=(7 8 9)
P(10,7)V=(0 0 1)N=(7 11 9)
P(12,9)
V=(0 0 1)N=(10 11 9)
P(9,8)
V=(1 0 1)N=(8 12 9)
P(11,6)
V=(0 1 1)N=(10 6 9)
P(r,s): pivot(r,s)
46Jayant Apte. ASPITRGApril 10, 2013
P(9,5)
V=(1 1 1)N=(6 8 5)
P(12,6)
V=(0 1 1)N=(10 5 6)
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(7,6)
V=(0.5 0.5 1.5)N=(6 8 9)
P(11,8)
V=(0 0 1)N=(7 8 9)
P(10,7)V=(0 0 1)N=(7 11 9)
P(12,9)
V=(0 0 1)N=(10 11 9)
P(9,8)
V=(1 0 1)N=(8 12 9)
P(11,6)
V=(0 1 1)N=(10 6 9)
P(r,s): pivot(r,s)
47Jayant Apte. ASPITRGApril 10, 2013
P(9,5)
V=(1 1 1)N=(6 8 5)
P(12,6)
V=(0 1 1)N=(10 5 6)
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
P(10,4)
P(12,8)
P(11,5)
V=(1 0 1)N=(4 11 8)
V=(1 1 1)N=(4 5 8)
P(11,5)
P(10,4)
V=0 1 0)N=(10 5 12)
V=(1 1 0)N=(4 5 12)
P(7,6)
V=(0.5 0.5 1.5)N=(6 8 9)
P(11,8)
V=(0 0 1)N=(7 8 9)
P(10,7)V=(0 0 1)N=(7 11 9)
P(12,9)
V=(0 0 1)N=(10 11 9)
P(9,8)
V=(1 0 1)N=(8 12 9)
P(11,6)
V=(0 1 1)N=(10 6 9)
P(r,s): pivot(r,s)
●Tree formed by tracing all possible pathsof simplex method
●Reverse the direction of edges to get the reverse search tree
48Jayant Apte. ASPITRGApril 10, 2013
ЯEVERSE Search
1. Start with dictionary corresponding to optimum vertex
2. Let current basis be B
3. For a certain and any is there a valid simplex pivot from dictionary corresponding to to the current dictionary?
4. Denoted as reverse(s), for and returns if answer is yes else returns 0
5. If do pivot(r,s), go down the reverse search tree by recursively performing 2-5
6. If reverse(s) returns 0 for all go back 1 level up the tree using ordinary simplex pivot
49Jayant Apte. ASPITRGApril 10, 2013
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
R(10)=4P(4,10)
R(11)=5p(5,11)
R(12)=9P(9,12)
R(12)=8P(8,12)
R(11)=5P(5,11)
R(10)=4P(4,10)
R(12)=6P(6,12)
R(11)=6P(6,11)
R(10)=7P(7,10)
R(9)=8P(8,9)
R(11)=8P(8,11)
R(7)=6P(6,7)
R(9)=5P(5,9)
V=(1 0 1)N=(4 11 8)
V=0 1 0)N=(10 5 12)
V=(0 0 1)N=(10 11 9)
V=(1 1 0)N=(4 5 12)
R(5)=0
R(4)=0
R(11)=0
R(8)=0
R(9)=0
V=(0 1 1)N=(10 5 6)
V=(0.5 0.5 1.5)N=(7 8 9)
V=(1 0 1)N=(8 12 9)
V=(1 1 1)N=(6 8 5)
V=(1 1 1)N=(5 6 9)
V=(0 1 1)N=(10 6 9)
V=(0 0 1)N=(7 11 9)
R(9)=0
R(5)=0 R(6)=0 R(9)=0
R(7)=0
R(8)=0 R(12)=0
R(9)=0
V=(0.5 0.5 1.5)N=(6 8 9)
R(6)=0 R(8)=0 R(5)=0
R(6)=0R(8)=0 R(8)=0 R(12)=0 R(9)=0
R(4)=0 R(11)=0
R(4)=R(5)=R(12)
R(10)=R(5)=R(6)
R(s): reverse(s)P(r,s): pivot(r,s)
50Jayant Apte. ASPITRGApril 10, 2013
V=(0 0 0)N=( 10 11 12)
V=(1 0 0)N=(4 11 12)
R(10)=4P(4,10)
R(11)=5p(5,11)
R(12)=9P(9,12)
R(12)=8P(8,12)
R(11)=5P(5,11)
R(10)=4P(4,10)
R(12)=6P(6,12)
R(11)=6P(6,11)
R(10)=7P(7,10)
R(9)=8P(8,9)
R(11)=8P(8,11)
R(7)=6P(6,7)
R(9)=5P(5,9)
V=(1 0 1)N=(4 11 8)
V=0 1 0)N=(10 5 12)
V=(0 0 1)N=(10 11 9)
V=(1 1 0)N=(4 5 12)
R(5)=0
R(4)=0
R(11)=0
R(8)=0
R(9)=0
V=(0 1 1)N=(10 5 6)
V=(0.5 0.5 1.5)N=(7 8 9)
V=(1 0 1)N=(8 12 9)
V=(1 1 1)N=(6 8 5)
V=(1 1 1)N=(5 6 9)
V=(0 1 1)N=(10 6 9)
V=(0 0 1)N=(7 11 9)
R(9)=0
R(5)=0 R(6)=0 R(9)=0
R(7)=0
R(8)=0 R(12)=0
R(9)=0
V=(0.5 0.5 1.5)N=(6 8 9)
R(6)=0 R(8)=0 R(5)=0
R(6)=0R(8)=0 R(8)=0 R(12)=0 R(9)=0
R(4)=0 R(11)=0
R(4)=R(5)=R(12)
R(10)=R(5)=R(6)
R(s): reverse(s)P(r,s): pivot(r,s)
51Jayant Apte. ASPITRGApril 10, 2013
Problems with pivoting methods
● Degeneracy● Duplicate output of extreme points
52Jayant Apte. ASPITRGApril 10, 2013
How Lexicographic Simplex deals with them
● Degeneracy– Lexicographic Simplex Method visits only a subset of
bases called Lex-positive Bases
● Duplicate output extreme points– Out of the lex-positive basis we can identify a unique basis
called Lex-min Basis corresponding to each extreme point
– Output extreme point only if current basis is lex-min
● These features make Lexicographic simplex best choice for reverse search
53Jayant Apte. ASPITRGApril 10, 2013
Algorithm IIDouble Description Method
54Jayant Apte. ASPITRGApril 10, 2013
Definitions
55Jayant Apte. ASPITRGApril 10, 2013
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.
56Jayant Apte. ASPITRGApril 10, 2013
How it works?
57Jayant Apte. ASPITRGApril 10, 2013
Example
58Jayant Apte. ASPITRGApril 10, 2013
Example
59Jayant Apte. ASPITRGApril 10, 2013
Example
Consider a DD pair:
Insert new constraint:
60Jayant Apte. ASPITRGApril 10, 2013
Example
61Jayant Apte. ASPITRGApril 10, 2013
Example
62Jayant Apte. ASPITRGApril 10, 2013
Example
63Jayant Apte. ASPITRGApril 10, 2013
Example
64Jayant Apte. ASPITRGApril 10, 2013
Compute new rays(DD Lemma)
65Jayant Apte. ASPITRGApril 10, 2013
New DD pair
66Jayant Apte. ASPITRGApril 10, 2013
New cone
67Jayant Apte. ASPITRGApril 10, 2013
Minimality of representation
● New ray AD generated above is redundant● What to do?
– Generate new rays for only those positive-negative ray pairs that are adjacent
– Can check adjacency using either
combinatorial adjacency oracle or algebraic adjacency oracle
● Prevents combinatorial explosion of number of extreme rays
68Jayant Apte. ASPITRGApril 10, 2013
Algorithm IIIConvex Hull Method
69Jayant Apte. ASPITRGApril 10, 2013
Polyhedral Projection
70Jayant Apte. ASPITRGApril 10, 2013
Example
71Jayant Apte. ASPITRGApril 10, 2013
CHM intuition (12,6,6)
(12,6)
72Jayant Apte. ASPITRGApril 10, 2013
How it works...
● If projection dimension=d, first find d+1 extreme points of projection and their convex hull using procedure called initialhull()
● Initialhull() gives us first approximation of projection ● Every iteration find one new extreme point of projection
and compute convex hull corresponding to pre-existing extreme points and the new extreme point
● We stop when all the facets of current approximation are facets of
73Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
initialhull( )
74Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
75Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
76Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
77Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
78Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
79Jayant Apte. ASPITRGApril 10, 2013
Finding the first d+1 points of projection
80Jayant Apte. ASPITRGApril 10, 2013
Fact
● The cost functions for finding the extreme points of projection can be obtained from facets of that are not the facets of
● Checking whether a facet of is a facet of can be accomplished by simply running a linear program over
81Jayant Apte. ASPITRGApril 10, 2013
CHM
?
?
?
82Jayant Apte. ASPITRGApril 10, 2013
CHMNot a facet of
83Jayant Apte. ASPITRGApril 10, 2013
CHM
84Jayant Apte. ASPITRGApril 10, 2013
CHM
85Jayant Apte. ASPITRGApril 10, 2013
Updating the current hull to include new extreme
point of projectionupdatehull( )
86Jayant Apte. ASPITRGApril 10, 2013
CHM
Existing hull
New Vertex
87Jayant Apte. ASPITRGApril 10, 2013
CHM
Existing hull
New Vertex
88Jayant Apte. ASPITRGApril 10, 2013
Updating hull via iteration of DD Method
Homogenization Polar
DD Iteration
Polar Again
ReverseHomogenization
Old Hull
New Hull
89Jayant Apte. ASPITRGApril 10, 2013
CHM
90Jayant Apte. ASPITRGApril 10, 2013
CHM
91Jayant Apte. ASPITRGApril 10, 2013
CHM
92Jayant Apte. ASPITRGApril 10, 2013
Runtime Comparison
93Jayant Apte. ASPITRGApril 10, 2013
Demonstration
94Jayant Apte. ASPITRGApril 10, 2013
Questions
95Jayant Apte. ASPITRGApril 10, 2013
Vertices of
96Jayant Apte. ASPITRGApril 10, 2013
Vertices of
97Jayant Apte. ASPITRGApril 10, 2013
Vertices of
98Jayant Apte. ASPITRGApril 10, 2013
Vertices of
99Jayant Apte. ASPITRGApril 10, 2013
Vertices of
Top Related