Introduction Combinatorics Computations C OMBINATORIAL S YSTEMS AND N EWTON I TERATION Michèle Soria Worshop on Analysis of Algorithms A OF A’13 Menorca, 31 May 2013 Joint work with Carine Pivoteau and Bruno Salvy 1 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations I Introduction 2 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations 3 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Combinatorial Systems H i ≡ combination of classical constructible species 1 , Z , × , + , S EQ , S ET , C YC (with card. constraints). Y 1 = H 1 ( Z , Y 1 , Y 2 , . . . , Y m ) , Y 2 = H 2 ( Z , Y 1 , Y 2 , . . . , Y m ) , Y = H ( Z , Y ) ≡ . . . Y m = H m ( Z , Y 1 , Y 2 , . . . , Y m ) , Well-founded recursive systems Series-parallel graphs : Y = Z + S + P S = S EQ > 0 ( P + Z ) P = S ET > 0 ( S + Z ) 4 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Systems of Equations for Generating Functions EGF � OGF � c n z n n ≥ 0 c n z n Construction n ≥ 0 n ! A ∪ B C ( z ) = A ( z ) + B ( z ) C ( z ) = A ( z ) + B ( z ) A × B C ( z ) = A ( z ) × B ( z ) C ( z ) = A ( z ) × B ( z ) C ( z ) = ( 1 − A ( z )) − 1 C ( z ) = ( 1 − A ( z )) − 1 S EQ ( A ) C ( z ) = exp ( � A ( z k ) S ET ( A ) C ( z ) = exp ( A ( z )) ) C ( x ) = � φ ( k ) k 1 1 C YC ( A ) C ( x ) = Log k Log 1 − A ( z k ) 1 − A ( z ) Not only polynomials but also exp, Log, and Pólya operators − → Labelled : T ( z ) = z exp ( T ( z )) Rooted trees Unlabelled : T = Z × S ET ( T ) T ( z ) = z exp ( T ( z )+ 1 2 T ( z 2 )+ 1 3 T ( z 3 )+ · · · ) − → Efficient resolution of systems of such equations Enumeration of structures : coefficients of generating series Evaluation at given points : solve numerically Motivation : Uniform Random Sampling 5 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Random Sampling Combinatorial structures Combinatorial modeling : Sampling of random objects Get information on the model by working on the random objects visualize and compute order of growth for quantities ; distinguish significant properties (random vs observed) compare models, test software 6 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Random Sampling Combinatorial structures Combinatorial modeling : Sampling of random objects Get information on the model by working on the random objects visualize and compute order of growth for quantities ; distinguish significant properties (random vs observed) compare models, test software Analytic Combinatorics : Specification → Generation Uniform Random Generation, Generic Methods : P ( γ n ) = 1 / c n Recursive Method : n → γ n compute enumeration sequences [Nijenhuis, Wilf 1978 ; Flajolet, Zimmermann, Van Cutsem 1994] P ( γ ) ∝ x | γ | Boltzmann Method : x → γ evaluate generating functions at x [Duchon,Flajolet, Louchard, Schaeffer 2004 ; Flajolet, Fusy, Pivoteau 2007] 6 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Binary trees Y = Z + Z × Y 2 Random Generation B OLTZMANN SAMPLING R ECURSIVE SAMPLING ρ rad. conv. Y ( z ) Algorithm : Γ Y ( n ) Algorithm : Γ Y ( x ) input : positive integer n output : random structure of size n input : real 0 < x < ρ output : random structure if n = 1 then Return Z if Bernoulli ( x / Y ( x )) then else Return Z U := Uniform([0,1]) ; k :=0 ; s :=0 ; else While s < U do Return { k := k + 1 ; s := s + b k b n − k − 1 / b n } � Z , Γ Y ( x ) , Γ Y ( x ) � Return � Z , Γ Y ( k ) , Γ Y ( n − k − 1 ) � end if end if Requires evaluation of the Requires computation of b 0 , b 1 , . . . , b n , generating function Y at value x number of structures of size up to n . ( oracle ). 7 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Combinatorial System System of fixed-point equations C 0 ( z ) = zC 1 ( z ) C 2 ( z ) C 3 ( z )( C 1 ( z ) + C 2 ( z )) z + z / ( 1 − C 1 ( z ) 2 C 3 ( z ) 2 ) C 1 ( z ) = z + z 2 / (( 1 − zC 2 ( z ) 2 / ( 1 − z ))( 1 − C 2 ( z ))) C 2 ( z ) = Large systems of equations z + z ( 3 z + z 2 + z 2 C 1 ( z ) C 3 ( z )) / ( 1 − C 2 C 3 ( z ) = 1 ( z )) Many solutions Use the combinatorial origin (positivity, structure) C 0 ( z ) = 18 z 5 + 90 z 6 + 222 z 7 + 1032 z 8 + 4446 z 9 + 23184 z 10 + 126492 z 11 + 732264 z 12 + . . . Goals only one solution the right one solve numerically coefficients of GF h z = 8 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Well-founded combinatorial systems Y = H ( Z , Y ) ⇓ Simple combinatorial iteration Y k + 1 = H ( Z , Y k ) converges to Y ⇓ Series Iteration Y k + 1 ( z ) = F ( Z , Y k ( z )) converges to Y ( z ) → coefficients y 0 , . . . , y n ⇓ Numerical iteration starting at 0 converges to Y ( x ) 9 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Simple vs Newton Iteration Simple Iteration x n + 1 = f ( x n ) Solve x = f ( x ) 10 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Simple vs Newton Iteration Simple Iteration x n + 1 = f ( x n ) Solve x = f ( x ) Newton Iteration x n + 1 = x n − f ( x n ) f ′ ( x n ) 10 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Well-founded combinatorial systems Y = H ( Z , Y ) ⇓ Newton combinatorial iteration converges to Y ⇓ Newton Iteration on series converges to Y ( z ) → fast enumeration ⇓ Numerical Newton iteration starting from 0 → fast oracle 11 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Binary trees Y = Z + Z × Y 2 Simple Iteration Combinatorial structures Y 0 = ∅ Y k + 1 = Z + Z × Y 2 k Y 0 ( z ) = 0 Y 1 ( z ) = z Generating series = z + z 3 Y 2 ( z ) = z + z 3 + 2 z 5 + z 7 Y 0 ( z ) = 0 Y 3 ( z ) = z + z 3 + 2 z 5 + 5 z 7 + 6 z 9 + 6 z 11 + 4 z 13 + z 15 Y k + 1 ( z ) = z + zY 2 k ( z ) Y 4 ( z ) = z + z 3 + 2 z 5 + 5 z 7 + 14 z 9 + 26 z 11 + 44 z 13 + 69 z 15 Y 5 ( z ) = z + z 3 + 2 z 5 + 5 z 7 + 14 z 9 + 42 z 11 + 132 z 13 + 429 z 15 + . . . Y ( z ) 0 y 0 = = 0 . 2 y 1 = 0 . 208 Numerical evaluation y 2 y 3 = 0 . 208 6528 y 0 = 0 y 4 = 0 . 2087 07198189568 . . . y k + 1 = 0 . 2 + 0 . 2 y 2 y 5 = 0 . 20871 17389152279 . . . k y = Y ( 0 . 2 )= 0 . 20871 21525220799 . . . 12 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Binary trees Y = Z + Z × Y 2 Newton Iteration Combinatorial structures Y 0 = ∅ Y k + 1 = Y k + S EQ ( 2 ZY k )( Z + ZY 2 k − Y k ) Y 0 ( z ) = 0 Y 1 ( z ) = z Generating series = z + z 3 + 2 z 5 + 4 z 7 + 8 z 9 + 16 z 11 + 32 z 13 + 64 z 15 + . . . Y 2 ( z ) Y 0 ( z ) = 0 = z + z 3 + 2 z 5 + 5 z 7 + 14 z 9 + 42 z 11 + 132 z 13 + 428 z 15 + . . . Y 3 ( z ) 1 − 2 zYk ( z + zY 2 1 Y k + 1 ( z ) = Y k ( z ) + k − Y k ) = z + z 3 + 2 z 5 + 5 z 7 + · · · + 2674440 z 29 + 9694844 z 31 + Y 4 ( z ) y 0 = 0 Numerical evaluation y 1 = 0 . 2 y 2 = 0 . 208 695652173 . . . y 0 = 0 y 3 = 0 . 208712152 4626680 . . . 1 − 0 . 4 yk ( 0 . 2 + 0 . 2 y 2 1 y k + 1 = y k + k − y k ) y 4 = 0 . 20871215252207996705 20 . . . 13 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Results – Newton Iteration Theorem (Combinatorial Newton iteration) For all well-founded combinatorial systems Y = H ( Z , Y ) , combinatorial Newton iteration starting from ∅ converges to the (unique) desired combinatorial solution Y . Theorem (Series and numerical Newton iterations) Newton combinatorial iteration transfers to the level of generating series and of numerical evaluation : numerical Newton iteration gives the values of power series that are the GFs of the combinatorial iterates. [L ABELLE ET ALII 80-90] : combinatorial part, without ε [P IVOTEAU , S ALVY , S. 2008] : labelled case, without ε [P IVOTEAU , S ALVY , S. 2012] : general case, allowing ε 14 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations Results – Enumeration and Oracle Theorem (Enumeration in Quasi-Optimal Complexity) First N coefficients of GFs of constructible species can be obtained in arithmetic complexity O ( NlogN ) (both OGF and EGF) ; 1 binary complexity O ( N 2 log 2 NloglogN ) for OGF ; 2 and O ( N 2 log 3 NloglogN ) for EGF . Quasi-optimal wrt. size of the result Theorem (Oracle) The EGFs and OGFs of constructible species are convergent in 1 the neighborhood of 0 ; For x inside the disk of convergence 2 numerical iteration converging to Y ( x ) in the labelled case, numerical iteration converging to the sequence Y ( x ) ,Y ( x 2 ) ,Y ( x 3 ) , . . . for || . || ∞ in the unlabelled case. 15 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Introduction Combinatorics Computations II Combinatorics 16 / 34 Michèle Soria Combinatorial Systems and Newton Iteration
Recommend
More recommend