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.

Slides:



Advertisements
Similar presentations
Introduction to Computer Science 2 Lecture 7: Extended binary trees
Advertisements

JAYASRI JETTI CHINMAYA KRISHNA SURYADEVARA
Tirgul 7 Review of graphs Graph algorithms: –DFS –Properties of DFS –Topological sort.
Chapter 5: Decrease and Conquer
Counting III: Pascal’s Triangle, Polynomials, and Vector Programs Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2003 Lecture.
Lecture 5 Counting 4.3, Permutations r-permutation: An ordered arrangement of r elements of a set of n distinct elements. Example: S={1,2,3}:
The Search for Simple Symmetric Venn Diagrams Torsten Mütze, ETH Zürich Talk mainly based on [Griggs, Killian, Savage 2004] TexPoint fonts used in EMF.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Counting II: Pascal, Binomials, and Other Tricks Great Theoretical Ideas In Computer Science A. Gupta D. Sleator CS Fall 2010 Lecture 8Sept. 16,
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
The Design and Analysis of Algorithms
Constant Time Generation of Linear Extensions Akimitsu Ono Shin-ichi Nakano Gunma Univ. Out put Complete List of Linear Extensions of P Input Partial ordering.
ⅠIntroduction to Set Theory 1. Sets and Subsets
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
Mike 66 Sept Succinct Data Structures: Techniques and Lower Bounds Ian Munro University of Waterloo Joint work with/ work of Arash Farzan, Alex Golynski,
GRAPH Learning Outcomes Students should be able to:
Induction and recursion
MA/CSSE 473 Day 13 Permutation Generation. MA/CSSE 473 Day 13 HW 6 due Monday, HW 7 next Thursday, Student Questions Tuesday’s exam Permutation generation.
Mathematics. Session Set, Relation & Function Session - 3.
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
Basic Counting. This Lecture We will study some basic rules for counting. Sum rule, product rule, generalized product rule Permutations, combinations.
1 Trees 2 Binary trees Section Binary Trees Definition: A binary tree is a rooted tree in which no vertex has more than two children –Left and.
Combinatorial Algorithms Reference Text: Kreher and Stinson.
MA/CSSE 473 Day 15 BFS Topological Sort Combinatorial Object Generation Intro.
Counting III: Pascal’s Triangle, Polynomials, and Vector Programs Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2003 Lecture.
CSCI 115 Chapter 7 Trees. CSCI 115 §7.1 Trees §7.1 – Trees TREE –Let T be a relation on a set A. T is a tree if there exists a vertex v 0 in A s.t. there.
Theory of Algorithms: Brute Force. Outline Examples Brute-Force String Matching Closest-Pair Convex-Hull Exhaustive Search brute-force strengths and weaknesses.
FUNCTIONS Definition Let A = {1, 2, 3,..., n}, and f : A → A be a bijective function; then f is called a permutation on n. QUESTION: for a set with N elements.
Integer Representations and Counting in the Bit Probe Model M. Zaiur Rahman and J. Ian Munro Cheriton School of Computer Science University of Waterloo.
Module #19: Graph Theory: part II Rosen 5 th ed., chs. 8-9.
Great Theoretical Ideas in Computer Science for Some.
 Ⅰ Introduction to Set Theory  1. Sets and Subsets  Representation of set:  Listing elements, Set builder notion, Recursive definition  , ,  
Combinatorial interpretations for a class of algebraic equations and uniform partitions Speaker: Yeong-Nan Yeh Institute of mathemetics, Academia sinica.
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Chapter Relations and Their Properties
Combinatorics University of Akron Programming Team 9/23/2011.
CSCI 2670 Introduction to Theory of Computing November 17, 2005.
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: There is a unique simple path between any 2 of its.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
1 Finding a decomposition of a graph T into isomorphic copies of a graph G is a classical problem in Combinatorics. The G-decomposition of T is balanced.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
CSCI 115 Course Review.
MA/CSSE 473 Day 16 Combinatorial Object Generation Permutations.
Polynomials Count! CS Lecture 9 X1 X1 X2 X2 + + X3 X3.
Counting III: Pigeonhole principal, Pascal’s Triangle and more Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
Explicit matchings in the middle levels graph Torsten Mütze.
Generating Permutations and Combinations “Traveling Salesman Problem” – A salesman must visit 6 cities; what’s the best order in which to visit them? Assume.
Bipartite Kneser graphs are Hamiltonian
MA/CSSE 473 Day 15 Return Exam Student questions Towers of Hanoi
Hamilton cycles in highly symmetric graphs
On universal partial words
Introduction to Randomized Algorithms and the Probabilistic Method
The Design and Analysis of Algorithms
Fast Hamiltonicity Checking via Bases of Perfect Matchings
Trimming and gluing Gray codes
MA/CSSE 473 Day 13 Finish Topological Sort Permutation Generation
Source Code for Data Structures and Algorithm Analysis in C (Second Edition) – by Weiss
Rainbow cycles in flip graphs
Basic Counting.
Introduction to Finite Automata
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
CSE 321 Discrete Structures
Combinatorics of Paths and Permutations
DISCRETE COMPUTATIONAL STRUCTURES
Counting I: Choice Trees and Correspondences
Switching Lemmas and Proof Complexity
Presentation transcript:

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!