A master bijection for planar maps and its applications Olivier Bernardi (MIT) Joint work with Éric Fusy (CNRS/LIX) UCLA, March 2011 Planar maps. Definition A planar map is a connected planar graph embedded in the sphere considered up to continuous deformation. = 6= Planar maps. Motivations • Algorithmic applications: efficient encoding of meshed surfaces. Appears courtesy to Wikipedia • Probability and Physics: random lattices, random surfaces. Appears courtesy to G. Chapuy • Representation Theory: factorization problems. Planar maps. Methods • Generating functions [Tutte 63] Recursive description of maps recurrences. • Matrix Integrals [’t Hooft 74] Feynmann Diagram ≈ maps. • Representation theory [Jackson 90] Factorizations of permutations ≈ maps. • Bijections [Cori-Vauquelin 91, Schaeffer 98] Maps decorated trees. Planar maps. Counting results • Triangulations (2n faces) 3n 2n Loopless: (n + 1)(2n + 1) n • Quadrangulations (n faces) 2n n 2·3 General: (n + 1)(n + 2) n 4n − 2 1 Simple: n(2n − 1) n − 1 3n 2 Simple: n(n + 1) n − 1 • Bipartite mapsP(ni faces of degree 2i) Y 1 2i − 1ni 2 · ( i ni )! P (2 + (i − 1)ni )! i ni ! i Common features: Algebraic generating function. Asymptotic ∼ κ n−5/2 Rn . Planar maps. Counting results • Triangulations (2n faces) 3n 2n Loopless: (n + 1)(2n + 1) n [ScPo02] [B.07] • Quadrangulations (n faces) 2n n 2·3 General: (n + 1)(n + 2) n [Sc97] [Sc98] 4n − 2 1 Simple: n(2n − 1) n − 1 [PoSc06] [FuPoSc08] 3n 2 Simple: n(n + 1) n − 1 [Sc98] [Fu07] • Bipartite mapsP(ni faces of degree 2i) Y 1 2i − 1ni 2 · ( i ni )! P (2 + (i − 1)ni )! i ni ! i [Sc97] [BoDiGu04] Abbreviations: Bo: Bouttier Di: Di Francesco Fu: Fusy Gu: Guitter Po: Poulalhon Sc: Schaeffer Outline Describe a master bijection for planar maps which generalizes all the known bijections (of the red type). Benefits: • Simplifies/unifies the proofs. • Helps to find bijections for new classes of maps. Outline 1. Master bijection between a class of oriented maps and a class of bicolored decorated trees. 2. Specializations to classes of maps (via canonical orientations). Girth 4 [Sc98] 3 [FuPoSc08] 2 [PoSc02] 1 1 2 3 4 5 6 7 8 [Sc98,BoDiGu04] Degree of the faces Master bijection (simplified version) Plane orientations. A plane orientation is a oriented map drawn in the plane. Plane orientations. A plane orientation is a oriented map drawn in the plane. We consider the set O of plane orientations which are: • minimal: there is no counterclockwise directed cycle, • accessible: any internal vertex can be reached from an external vertex, and have external vertices of indegree 1. Mobiles A mobile is a plane tree with vertices properly colored in black and white, together with buds (half-edges) incident to black vertices. The excess is the number of edges minus the number of buds. Master bijection Mapping Φ for a plane orientation O in O: • Return the external face. • Place a black vertex vf inside each internal face f . Turning clockwise around f, draw an edge/bud from vf to the corners following forward/backward edges • Erase the edges of O and its external vertices. Master bijection Theorem [B.,Fusy]: The mapping Φ is a bijection between the set O of plane orientations and the set of mobiles with negative excess. Moreover, indegree of internal vertices ←→ degree of white vertices degree of internal faces ←→ degree of black vertices degree of external face ←→ - excess Using the master bijection to count classes of maps? Strategy for counting a class C of maps: • Define a “canonical” orientation in O for each map in C. This identifies C with a subset OC of O. • Characterize (and count) the set of mobiles associated to OC via the master bijection Φ. Using the master bijection to count classes of maps? How to define an orientation in the set O (orientations minimal, accessible with external vertices of indegree 1)? Using the master bijection to count classes of maps? How to define an orientation in the set O (orientations minimal, accessible with external vertices of indegree 1)? Let G = (V, E) be a map and let α : V → N. Fact 1: If there exists an orientation of G with indegrees α(v), then there exists a unique minimal one. ⇒ Orientations O can be defined by specifying the indegrees. Using the master bijection to count classes of maps? How to define an orientation in the set O (orientations minimal, accessible with external vertices of indegree 1)? Let G = (V, E) be a map and let α : V → N. Fact 1: If there exists an orientation of G with indegrees α(v), then there exists a unique minimal one. ⇒ Orientations O can be defined by specifying the indegrees. Fact 2: P There exists an orientation with indegrees α(v) if and only if • |E| = v∈V α(v) P • for any U ⊂ V , |EU | ≤ v∈U α(v). Using the master bijection to count classes of maps? How to define an orientation in the set O (orientations minimal, accessible with external vertices of indegree 1)? Let G = (V, E) be a map and let α : V → N. Fact 1: If there exists an orientation of G with indegrees α(v), then there exists a unique minimal one. ⇒ Orientations O can be defined by specifying the indegrees. Fact 2: P There exists an orientation with indegrees α(v) if and only if • |E| = v∈V α(v) P • for any U ⊂ V , |EU | ≤ v∈U α(v). P Moreover, the orientation is accessible if and only if |EU | < v∈U α(v) whenever U does not contain all the external vertices. Using the master bijection to count classes of maps? Conclusion: For a map G = (V, E), one can define an orientation in O by specifying a function α : V → N such that: • α(v) = 1 for every external vertex v, P (*) • |E| = v∈V α(v), P • ∀ U ⊂ V , |EU | ≤ v∈U α(v) with strict inequality if U does not contain all external vertices. Using the master bijection to count classes of maps? Conclusion: For a map G = (V, E), one can define an orientation in O by specifying a function α : V → N such that: • α(v) = 1 for every external vertex v, P (*) • |E| = v∈V α(v), P • ∀ U ⊂ V , |EU | ≤ v∈U α(v) with strict inequality if U does not contain all external vertices. Remark: Specifying an orientation in O by the indegrees of internal vertices is also convenient in view of applying the master bijection Φ: indegrees of internal vertices ←→ degrees of white vertices. Example of specialization: simple triangulations Girth 4 3 2 1 1 2 3 4 5 6 7 Degree of faces Triangulations Fact: A triangulation with n internal vertices has 3n internal edges. Proof: The numbers v, e, f of vertices edges and faces satisfy: • Incidence relation: 3f = 2e. • Euler relation: v − e + f = 2. Triangulations Fact: A triangulation with n internal vertices has 3n internal edges. Natural candidate for indegree function: 3 if v internal . α : v 7→ 1 if v external 1 1 3 3 3 3 1 Triangulations Thm [Schnyder 89]: A triangulation admits an orientation with indegree function α if and only if it is simple. New (easier) proof: Use the Euler relation + the incidence relation to show that α satisfies condition (*). Triangulations Thm [Schnyder 89]: A triangulation admits an orientation with indegree function α if and only if it is simple. ⇒ The class T of simple triangulations is indentified with the class of plane orientation OT ⊂ O with faces of degree 3, and internal vertices of indegree 3. Thm [recovering FuPoSc08]: By specializing the master bijection Φ to OT one obtains a bijection between simple triangulations and mobiles such that • black vertices have degree 3 • white vertices have degree 3 • the excess is −3 (redundant). Triangulations Counting: The generating function of mobiles with vertices of degree 3 rooted on a white corner is T (x) = U (x)3 , where U (x) = 1 + xU (x)4 . Consequently, the number of (rooted) simple triangulations with 2n 4n − 2 1 . faces is n(2n − 1) n − 1 More specializations: d-angulations of girth d. Girth 4 3 2 1 1 2 3 4 5 6 7 Degree of faces d-angulations of girth d Fact: A d-angulation with (d−2)n internal vertices has dn internal edges. d=5 d-angulations of girth d Fact: A d-angulation with (d−2)n internal vertices has dn internal edges. Natural candidate for indegree function: d/(d − 2) if v internal ... α : v 7→ 1 if v external d=5 d-angulations of girth d Fact: A d-angulation with (d−2)n internal vertices has dn internal edges. Idea: Wecan look for an orientation of (d−2)G with indegree function d if v internal . α : v 7→ 1 if v external 5 5 5 d=5 5 5 5 d-angulations of girth d Thm [B., Fusy]: Let G be a d-angulation. Then (d−2)G admits an orientation with indegree function α if and only if G has girth d. Proof: Use the Euler relation + incidence relation to show that α satisfies condition (*). 2 d=5 2 1 21 1 1 2 Master bijection for fractional orientations 2 1 12 21 1 2 2 1 12 21 1 2 2 1 12 21 1 2 There are now white-white edges in the mobile, with two positive weights summing to d − 2. Master bijection for fractional orientations 2 1 12 21 1 2 2 1 12 21 1 2 2 1 12 21 1 2 Theorem [B.,Fusy]: Φ is a bijection between the set Ok of plane kfractional orientations and the set of mobiles (with white-white edges having weights summing to k) with negative excess. Moreover, degree of internal faces ←→ degree of black faces indegree of internal vertices ←→ indegree of white vertices degree of external face ←→ - excess d-angulations of girth d Thm [B., Fusy]: Let G be a d-angulation. Then (d−2)G admits an orientation with indegree function α if and only if G has girth d. ⇒ The class Td of d-angulations of girth d can be indentified with the class of fractional orientations Ωd ⊂ Od−2 with faces of degree d, and internal vertices of indegree d. 2 2 1 21 1 1 2 21 2 21 1 1 2 d-angulations of girth d Thm [B., Fusy]: Let G be a d-angulation. Then (d−2)G admits an orientation with indegree function α if and only if G has girth d. Thm [B., Fusy]: By specializing the master bijection one obtains a bijection between d-angulations of girth d and mobiles (with white-white edges having weights summing to d − 2) such that • black vertices have degree d • white vertices have indegree d • the excess is −d (redundant). 2 2 1 21 1 1 2 21 2 21 1 1 2 d-angulations of girth d: counting Thm[B., Fusy]: Let W0 , W1 , . . . , Wd−2 be the power series in x d−1 defined by: Wd−2 = x(1 + W ) 0 X X Wi1 · · · Wir . and ∀j < d − 2, Wj = r i1 ,...,ir >0 i1 +···+ir =j+2 The generating function Fd of d-angulations of girth d satisfies d−3 X Fd = Wd−2 − Wi Wd−2−i , and Fd0 (x) = (1 + W0 )d . i=0 d-angulations of girth d: counting Thm[B., Fusy]: Let W0 , W1 , . . . , Wd−2 be the power series in x d−1 defined by: Wd−2 = x(1 + W ) 0 X X Wi1 · · · Wir . and ∀j < d − 2, Wj = r i1 ,...,ir >0 i1 +···+ir =j+2 The generating function Fd of d-angulations of girth d satisfies d−3 X Fd = Wd−2 − Wi Wd−2−i , and Fd0 (x) = (1 + W0 )d . i=0 Example d=5: W3 = x(1 + W0 )4 W0 = W12 + W2 W1 = W13 + 2W1 W2 + W3 W2 = W14 + 3W12 W2 + 2W1 W3 + W22 More specializations: Maps of girth d. Girth 4 3 2 1 1 2 3 4 5 6 7 Degree of faces Maps of girth d We consider maps of girth d with external face of degree d. Maps of girth d We consider maps of girth d with external face of degree d. Orientation: It is possible to characterize girth d by looking at orientations on (d−2)G + 2Q. Thm [B., Fusy]. Let G be a map with external face of degree d. The map G has girth d if and only if (d−2)G + 2Q admits an orientation such that inner vertices of G have indegree d and vertices of Q in faces of degree δ have indegree δ + d. 11 11 1 1 Maps of girth d We consider maps of girth d with external face of degree d. Orientation: It is possible to characterize girth d by looking at orientations on (d−2)G + 2Q. Bijection. The orientation can be transfered to the map G and gives a canonical orientation in O. One can characterize the mobiles obtained by the master bijection. (There are weights on the half-edges of the mobile. There are whitewhite and black-black edges. . . ) Maps of girth d We consider maps of girth d with external face of degree d. Orientation: It is possible to characterize girth d by looking at orientations on (d−2)G + 2Q. Bijection. The orientation can be transfered to the map G and gives a canonical orientation in O. One can characterize the mobiles obtained by the master bijection. Counting: The generating function Fd (xd , xd+1 , . . .) of maps of d−3 X girth d and outer degree d is Fd = Wd−2 − Wj Wd−2−j . j=−2 Where ∀j ∈ [−2..d−3], Wj = X X r i1 ,...,ir >0 i1 +···+ir =j+2 and ∀j ∈ [d−2..d], Wj = [uj+1 ] X i W i1 · · · W ir , xi (u + uW0 + W−1 + u−1 )i−1. Closed formulas Prop [B.,Fusy]: The number of simple bipartite maps with ni faces of degree 2i is P ni Y ( (i + 1) ni − 3)! 1 2i − 1 P 2 ( ini − 1)! ni ! i + 1 i≥2 This can be compared with the formula obtained by Schaeffer (97) for unconstrained bipartite maps: P ni Y ( i ni )! 1 2i − 1 2 P ( (i − 1)ni + 2)! ni ! i i≥1 Related results and extensions Orientations for d-angulations as Schnyder decompositions Thm [B., Fusy] If G is a d-angulation of girth d, then one can partition the internal edges of (d − 2)G into d forests such that: • each forest covers the internal vertices and d − 2 external vertices, • the forests cross each other in a specific way. Further extensions 1. The master bijection generalizes two other known bijections: irreducible triangulations [FuPoSc08] and quadrangulations [Fu09]. Girth 4 [Sc98] 3 [FuPoSc08] 2 [PoSc02] 1 [Sc98,BoDiGu04] Degree of the faces 1 2 3 4 5 6 7 8 Further extensions 1. The master bijection generalizes two other known bijections: irreducible triangulations [FuPoSc08] and quadrangulations [Fu09]. 2. The master bijection can be extended to maps of higher genera. [B., Chapuy 10]. Further extensions 1. The master bijection generalizes two other known bijections: irreducible triangulations [FuPoSc08] and quadrangulations [Fu09]. 2. The master bijection can be extended to maps of higher genera. [B., Chapuy 10]. 3. The master bijection also generalizes some bijections for maps with matter. Thanks. On the ArXiv: • A bijection for triangulations, quadrangulations, pentagulations, etc. • Counting maps by girth and degree I. (number II in preparation) Related: • Schnyder decompositions for regular plane graphs and application to drawing. • A bijection for covered maps, or a shortcut between Harer-Zagier’s and Jackson’s formulas, with Guillaume Chapuy (to appear in JCTA). And now for something completely different. . . Schnyder woods and drawing algorithms Schnyder woods for triangulations A Schnyder wood of a triangulation is a partition of the internal edges into 3 trees, • each tree covers all the internal vertices and one external vertex, • the trees cross in a specific manner around each internal vertex. Schnyder woods for triangulations Theorem [Schnyder 89,90]. • Any simple triangulation T admits a Schnyder wood. • The Schnyder woods of T are in bijection with 3-orientations (i.e. there exists a unique way of coloring each 3-orientation). • It is possible to find a Schnyder wood of T in linear time. • If T has n vertices, Schnyder woods can be used to compute a planar straight-line drawing of T on the grid [2n] × [2n]. Schnyder decompositions for d-angulations 5 5 5 5 5 5 Prop: Any d-angulation of girth d admits a d/(d-2)-orientation (orientation of (d − 2)G such that the indegree of each vertex is d). Schnyder decompositions for d-angulations A Schnyder decomposition is a partition of (d − 2)E into d forests, • each forest covers all the internal vertices and d − 2 external vertices, • the trees cross in a specific manner around each internal vertex. Schnyder decompositions for d-angulations Theorem [B. Fusy]. • Any simple d-angulation T admits a Schnyder decomposition. • The Schnyder woods of T are in bijection with its d/(d − 2)orientations (i.e. there exists a unique way of coloring each orientation). • A Schnyder decomposition can be computed in polynomial time. Dual of Schnyder decompositions (for d-regular graphs) 1 d v∗ d−1 2 3 A dual Schnyder decomposition is a collection of d spanning trees, • each internal edge has two trees in opposite directions, • the trees 1, 2, . . . , d arrive in this clockwise order at each vertex. Dual of Schnyder decompositions (for d-regular graphs) Trees 1 and 3 Trees 2 and 4 A dual Schnyder decomposition is a collection of d spanning trees, • each internal edge has two trees in opposite directions, • the trees 1, 2, . . . , d arrive in this clockwise order at each vertex. Moreover, when d is even one can impose that for each edge e, the two trees using a of different parity. Application: drawing algorithm for 4-regular graphs v x(v) faces Algorithm: • For each vertex v, compute x(v)= number of faces on the left of v, and y(v)=number of faces below v. • Draw each vertex v at the point (x(v), y(v)) of the grid [n] × [n], and draw each edge as a line segment. Application: drawing algorithm for 4-regular graphs Thm [B. Fusy]. The algorithm gives a straight-line planar drawing. The same vertex placement also gives an orthogonal planar drawing (with 1 bend per edge).