candidacy exam talk

Post on 08-Jul-2015

83 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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