Torsten Mütze joint work with Christoph Standke, Veit Wiechert (TU Berlin) Torsten Mütze joint work with Christoph Standke, Veit Wiechert (TU Berlin) A new combinatorial Gray code for balanced combinations
flaws = 3 balanced combination := a -element subset of Example: Dyck path representation: bitstring representation: Balanced combinations
flaws = 0
Balanced combinations flaws =
Balanced combinations flaws total number = the k-th Catalan number
The Chung-Feller theorem Theorem [Chung, Feller 49] : For any we have. Theorem [Chung, Feller 49] : For any we have. := set of all Dyck paths with 2k steps and e flaws Various alternative proofs (combinatorial, analytic, …) and generalizations appeared over the years: [Hodges 55], [Narayana 67], [Woan 01], [Eu, Fu, Yeh 05], [Chen 08], [Ma, Yeh 09], [Ruckavicka 11], …
Is there a simpler proof? Note: and may differ in many positions Proving Chung-Feller Establish a bijection (#flaws increases by 1) [Hodges 55], [Chen 08]
Our results Theorem: There is a bijection such that and differ in only two positions. Theorem: There is a bijection such that and differ in only two positions.
Our results Theorem: There is a bijection such that and differ in only two positions. Theorem: There is a bijection such that and differ in only two positions. flaws
Our results Theorem: There is a bijection such that and differ in only two positions. Theorem: There is a bijection such that and differ in only two positions. ‚simple‘ Theorem: There is an algorithm which for given computes each Dyck path in in time. ‚simple and explicit‘
This work: two more positive answers Applications Theorem: The odd graph has a -factor. Hamilton cycles in certain vertex-transitive graphs: the odd graph and the middle levels graph Only one general positive answer known: ‚middle levels conjecture‘ [M. 14] More generally: For which values of do they have a -factor? Theorem: The middle levels graph has a -factor. # cycles = (Catalan number)
Combinatorial Gray codes Goal: Generate all objects in a combinatorial class (permutations, subsets, strings, trees, Dyck paths, etc.) such that consecutive objects differ only ‚a little bit‘ Ideally: Generate each new object in time Fundamental task in combinatorial algorithms [Nijenhuis, Wilf 75] [Knuth TAOCP Vol. 4, 11]
Combinatorial Gray codes Examples: Generate all permutations of such that consecutive permutations differ only in one transposition [Johnson 63], [Trotter 62], [Sedgewick 77] Examples: Generate all permutations of such that consecutive permutations differ only in one transposition [Johnson 63], [Trotter 62], [Sedgewick 77] Generate all subsets of such that consecutive sets differ in adding/removing one element [Gray 53], [Tootill 56], [Bitner, Ehrlich, Reingold 76], [Wagner, West 91], [Savage, Winkler 95], [Bhat, Savage 96] Generate all many -element subsets of s.t. consecutive sets differ in exchanging one element [Tang, Liu 73], [Bitner, Ehrlich, Reingold 76], [Eades, Hickey, Read 84], [Eades, McKay 84], [Ruskey 88], [Chase 89], [Jenkyns, McCarthy 95], [Ruskey, Williams 09]
Generate all many -element subsets of s.t. consecutive sets differ in exchanging one element Constant-time generation [Ehrlich 73], [Bitner, Ehrlich, Reingold 76] Combinatorial Gray codes Examples: {1, 4,5 } (1,0,0,1,1,0) Only swaps of the form [Eades, McKay 84] 1,0,0,0,0,0 0,0,0,0,0,1 Only distance-≤2 swaps [Chase 89], [Jenkyns, McCarthy 95] Only distance-1 swaps [Eades, Hickey, Read 84], [Ruskey 88] (possible iff even and odd, or ) Special case : balanced combinations 1,0,0 0,0,1 1,0 0,1
Combinatorial Gray codes Examples: Only distance-1 swaps [Eades, Hickey, Read 84], [Ruskey 88] (possible iff even and odd, or ) 1,0 0,1
Generate only Combinatorial Gray codes Examples: Constant-time generation [Ruskey, Proskurowski 90], [Walsh 98] rooted trees, (=parenthesis expressions, Only distance-1 swaps [Bultena, Ruskey 98] (possible iff even or less than 5) binary trees… triangulations, see [Stanley 15] ) ((())) (()()) (())() ()()() ()(()) i i ii iii iv v v
Combinatorial Gray codes i i ii iii iv v v
Combinatorial Gray codes i i ii iii iv v v Our minimum-change bijection f is ‚orthogonal‘ to Gray codes from before (01-20 and i-v)
Definition of Count downsteps starting at → Flip -th downstep touching the line Flip first upstep to the left of d touching the line d d u u
Definition of d d u u Count downsteps starting at → Flip -th downstep touching the line Flip first upstep to the left of d touching the line
u u d d Definition of Repeat: Flip first downstep to the right of u touching the line d d u u Flip first upstep to the left of d touching the line
u u Definition of Repeat: Flip first downstep to the right of u touching the line d d Flip first upstep to the left of d touching the line
u u Definition of Repeat: Flip first downstep to the right of u touching the line d d Flip first upstep to the left of d touching the line d d u u
Definition of Repeat: Flip first downstep to the right of u touching the line Flip first upstep to the left of d touching the line d d u u
Definition of Repeat: Flip first downstep to the right of u touching the line Flip first upstep to the left of d touching the line d d u u
Definition of Repeat: Flip first downstep to the right of u touching the line Flip first upstep to the left of d touching the line d d u u
Definition of Count downsteps starting at → Flip -th downstep touching the line Flip first upstep to the left of d touching the line Definition of Count downsteps starting at → Flip -th downstep touching the line Flip first upstep to the right of d touching the line
Definition of Flip first upstep to the left of d touching the line Definition of Flip first upstep to the right of d touching the line Flip first downstep to the right of u touching the line Flip first downstep to the left of u touching the line Repeat:
Efficient computation d d u u Flip first upstep to the left of d touching the line Flip first downstep to the right of u touching the line Repeat: Idea: bidirectional pointers below hills and above valleys Fast navigation along Dyck path to reposition u and d Compute each application of in time
Thank you!