730 likes | 881 Views
Algorithms on Parking Functions and Related Multigraphs. 賴俊儒 Lai, Chun- Ju 國家理論科學研究中心 cjlai@ntu.edu.tw. 2. 2. 3. 1. 2. 3. 2. 1. 3. Parking Functions: Model. n drivers try to park in n spots (1 to n ) one by one. i th driver → spot a i . Vacant → park there
E N D
Algorithms on Parking Functions and Related Multigraphs 賴俊儒 Lai, Chun-Ju 國家理論科學研究中心 cjlai@ntu.edu.tw
2 2 3 1 2 3 2 1 3 Parking Functions: Model • n drivers try to park in n spots (1 to n) one by one. • ith driver → spot ai. • Vacant → park there • Occupied → park at next vacant spot. • If no spots left, then he’ll give up parking. • (a1, a2,..., an) is called a parking function if all cars are parked.
Parking Functions: Sequence • A sequence (a1,...an) is a parking functionif its nondecreasing rearrangement b1 ≤ ... ≤ bn satisfies bi ≤ i for all i • [Example] • (1,3,1), (4,3,1,1), (5,3,1,1,2) are parking functions. • (2), (1,3,3), (3,5,1,2,3) are not
Parking Functions • n = 1, there are 1 parking functions: 1 • n = 2, there are 3 parking functions: 11, 12, 21 • n = 3, there are 16 parking functions: 111, 112, 113, 121, 122, 123, 131, 132 211, 212, 213, 221, 231, 311, 312, 321
Parking Functions: Pn • Pn := #{ Parking functions of length n } P1 = 1, P2 = 3, P3 = 16, P4 = 125, ... • Theorem [Konheim & Weiss, 1966] Pn = (n+1)n-1
Parking Functions :Pn,k • (a1, ..., an) is called k-leadingif a1 = k. • Pn,k := #{ k-leading parking function of length n } • [Example] • P1,1 = 1 • P2,1 = 2 • P3,1 = 1
Parking Functions : P3,k • All 16 parking functions of length 3.
Parking Functions : P3,1 • All 16 parking functions of length 3. P3, 1 = 8
Parking Functions : P3,2 • All 16 parking functions of length 3. P3, 1 = 8 P3, 2 = 5
Parking Functions : P3,3 • All 16 parking functions of length 3. P3, 1 = 8 P3, 2 = 5 P3, 3 = 3
Parking Functions : Pn,k • Pn,k =? • We’ll give an answer by combinatorial argument, then move on to prove more.
Rooted Labeled Tree • Fact: (n+1)n-1 = # { rooted labeled trees on { 0,1, ... , n } } • [Example]n = 3, we have 16 trees. • Some bijections between trees and parking functions are known, but none seems useful.
0 2 6 3 1 5 4 Triple-Label Algorithm: Idea • Given a labeled tree, • Label πa(x) to each node x according to the Breadth First Search (BFS). πa(0) = 0 0 πa(2) = 1 πa(3) = 2 πa(6) = 3 πa(1) = 4 πa(5) = 5 πa(4) = 6 2 3 1 4 5 6
0 2 6 3 1 5 4 Triple-Label Algorithm: Idea • Given a labeled tree, • Label πa(x) to each node x according to the Breadth First Search (BFS). • Assign 3rd label w by the formula w(x) =πa(parent of x) + 1 w(2) = 1 w(3) = 1 w(6) = 1 w(1) = 3 w(5) = 3 w(4) = 4 πa(0) = 0 0 πa(2) = 1 πa(3) = 2 πa(6) = 3 πa(1) = 4 πa(5) = 5 πa(4) = 6 1 1 1 2 3 1 3 4 3 4 5 6
0 2 6 3 1 5 4 Triple-Label Algorithm: Idea • We proved that: (w(1), ...,w(n)) is the desired parking function (a1,...an) • In this case, it is (3, 1, 1, 4, 3, 1). w(2) = 1 w(3) = 1 w(6) = 1 w(1) = 3 w(5) = 3 w(4) = 4 πa(0) = 0 0 πa(2) = 1 πa(3) = 2 πa(6) = 3 πa(1) = 4 πa(5) = 5 πa(4) = 6 1 1 1 2 3 1 3 4 3 4 5 6
Triple-Label Algorithm: Formal • Given a parking function (a1,...an) ,For i = 1 to n, define: • πα(i) := #{ aj: aj < ai } { aj : aj = ai and j < i} • Triplet-labeled rooted tree Tα associated with • V(Tα) := { (0, 0, 0) } { (i, ai, πα(i)) } • rooted at (0, 0, 0) • For any 2 vertices u = (i, ai; πα(i)), v = (j, aj; πα(j)), u is a child of v if ai = πα(j) + 1.
Enumeration: Idea • Under the setting of our algorithm, we can enumerate parking functions by the leading term in a neat “autograft” method.
Enumeration: Autograft • Establish a bijectionso that #{ Tn,k \ T’n,k} is easy to compute.
Autograft Method • Remove the subtreeS := { node 1 and all its descendants } 0 n = 5, k = 1 1 3 4 2 5
Autograft Method • Remove the subtreeS := { node 1 and all its descendants } • Renew the labels according to the BFS 0 n = 5, k = 1 1 3 3 2 2 5
Autograft Method • Remove the subtreeS := { node 1 and all its descendants } • Renew the labels according to the BFS • Locate the node y satisfiesπa(y) = k 0 n = 5, k = 1 1 3 3 2 2 5
Autograft Method • Remove the subtreeS := { node 1 and all its descendants } • Renew the labels according to the BFS • Locate the node y satisfiesπa(y) = k • Re-attach Smaking node 1 a child of node y 0 n = 5, k = 1 1 1 3 3 2 4 2 5
Enumeration: Form • The trees in Tn,k \ T’n,kare in the form:
Enumeration: Formula • It is easy to observe that: • A: # ways to form S. • B: #{ Pk } • C: #{ Pn-k+1 }
Enumeration: Results • Proposition • Corollary • Corollary
Enumeration: Results • Proposition • Theorem [Foata & Riordan, 1974] • The original proof combined 3 papers
X-Parking Functions • x := (x1,...,xn) is a sequence of positive integers. • A sequence (a1,...,an) is a x-parking function if its nondecreasing rearrangement b1≤ ... ≤ bn satisfies bi ≤ x1 +...+ xi for all i • The ordinary parking function is a special case:x = (1,1,...,1)
X-Parking Functions • An equivalent definition:λ = ( λ1,..., λn), λ1 ≥ ... ≥ λn. A sequence (a1,...,an) is a λ-parking function its nondecreasing rearrangement b1 ≤ ... ≤ bn satisfies bi ≤ λn-i+1 for all i • The ordinary parking function is a special case that λ= (n, n-1, ...,1) • Theorem[Steck 1968, Gessel 1996].
Explicit Formulae • However, nice explicit formulae are very few. back to the x = ( x1,...,xn ) notataion. • [Pitman, Stanley, 1986] (a, b,...,b) and two other cases. • [Yan, 1999] Two other cases, algebraically. • [Yan, 2001] (a, b,..., b), combinatorially. • [Kung, Yan, 2001] Goncarov Polynomials. • Arguably, (a,b,...,b)-parking functions is the best so far.
Explicit Formulae • However, nice explicit formulae are very few. back to the x = ( x1,...,xn ) notataion. • How about the Statistics k-leading? • [Foata, Riordan, 1974] (1,1,...,1), algebraically. • [Eu, Fu, Lai, 2005] (a, b,..., b), combinatorially. • No other results
K-leading (a,1,...1) Parking Functions • Consider a forest with a components: • Ex: a = 2, (2, 5, 9, 1, 5, 7, 2, 4, 1) (ρ1, , ) (ρ0 , , ) 0 1 (1, , ) 4 (7, , ) 5 (9, , ) 3 (4, , ) 2 (5, , ) 8 (8, , ) 6 7 (2, , ) (6, , ) 9 (3, , ) 10
K-leading (a,1,...1) Parking Functions • Consider a forest with a components: • Ex: a = 2, (2, 5, 9, 1, 5, 7, 2, 4, 1) (ρ1, , ) (ρ0 , , ) 0 1 (1, , ) 4 2 (7, , ) 2 5 (9, , ) 3 1 (4, , ) 2 1 (5, , ) 8 (8, , ) 6 4 5 7 (2, , ) 5 (6, , ) 9 7 (3, , ) 9 10
K-leading (a,b,...b) Parking Functions • When it comes to (a, b, ...,b)-parking functions. • Consider a forest with a components and edge-coloring. • We extract an (a, 1, ...,1)-parking function. • Remainder indicates the color used.
K-leading (a,1,...1) Parking Functions • Ex: a = 2, b=2, (2, 7, 15, 1, 8, 12, 2, 5, 1) • r = (-1, 1, 1, -1, 0, 0, -1, 1, -1) (ρ1, , ) (ρ0 , , ) 0 1 (1, , ) 4 2 (7, , ) 2 5 (9, , ) 3 1 (4, , ) 2 1 (5, , ) 8 (8, , ) 6 8 4 5 5 7 (2, , ) 7 5 (6, , ) 9 12 7 (3, , ) 9 10 15
K-leading (a,1,...1) Parking Functions • Ex: a = 2, b=2, (2, 7, 15, 1, 8, 12, 2, 5, 1) • r = (-1, 1, 1, -1, 0, 0, -1, 1, -1) (ρ1, , ) (ρ0 , , ) 0 1 (1, , ) 4 2 (7, , ) 2 5 (9, , ) 3 1 (4, , ) 2 1 (5, , ) 8 8 (8, , ) 5 6 ( , , ) 6 7 6 (2, , ) 7 ( , , ) 11 (3, , ) 15 10 (6, , ) ( , , ) 10 9 12 16 9
Inflating Parking Functions • Take x = (1,1,...,1,a,1, ...,1) of length n, a is at the k-th position. We call it an inflating parking function. • # { IPF with a at the k-th position } = # { Pn+a-1 with the first a-1 numbers are k’s }
Inflating Parking Functions • Ex: x = (1, 1, 1, 3, 1, 1, 1, 1, 1, 1) • From (5, 1, 4, 5, 1, 10, 3, 3, 7) to (4, 4, 6, 1, 4, 6, 1, 11, 3, 3, 5)
Parking Function • The first few Pn, k’s are: 1 1 2 8 3 5 16 50 25 34 432 307 243 189 432
More Theorems 0 0 0 0 A 1 1 B A 1 B 1 A B B A
More Theorems • The first few Pn, k’s are:: 1 1 0 1 1 1 0 2 8 3 3 0 2 3 5 9 0 9 16 50 25 34 16 16 125 64 64 0 432 307 243 54 189 432 125 1296 625 480 480 625 1296 0
More Theorems • The first few Pn, k’s are: • The table is symmetric!
More Theorems • Theorem [Eu, Fu & Lai, 2005] Pn,k – Pn,k+1 = Pn,n-k+1 – Pn,n-k+2
n Choose forest forest something scale n Choose something forest forest More Theorems Pn,bk – Pn,bk+1 Pn,n-bk+a – Pn,n-bk+a+1
BFS DFS Algorithm w(x) =πa(parent of x) + 1 Parking function x-parking function Tree(forest) Some ordering G-parking function Graph
Words • Letters setX = { y, x1, x2, …, xj, …} • A word is a sequence of letters • A factorization of word f is a pair of words (g,h) such that f = gh, g is not empty • Weight
Words: Example • Letters Set X = { y, x } • A word f = xyyxyis of weight – 1has factorizations:
Lukasiewicz Word • A word f is called a Lukasiewicz wordif1) δ( f ) < 02) For any nonempty factorization ( g, h ),δ( g ) > δ( f )
Lukasiewicz Word: Example • 1. f = xyyxy is not a Lukasiewicz word sinceg = xyy has δ( g ) = – 1 δ( f ) = – 1 • 2. f = xyxyy is a Lukasiewicz word since1) δ( f ) = – 1 < 02) All nonempty factorizations satisfy