mich le soria
play

Michle Soria Worshop on Analysis of Algorithms A OF A13 Menorca, 31 - PowerPoint PPT Presentation

Introduction Combinatorics Computations C OMBINATORIAL S YSTEMS AND N EWTON I TERATION Michle Soria Worshop on Analysis of Algorithms A OF A13 Menorca, 31 May 2013 Joint work with Carine Pivoteau and Bruno Salvy 1 / 34 Michle Soria


  1. 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

  2. Introduction Combinatorics Computations I Introduction 2 / 34 Michèle Soria Combinatorial Systems and Newton Iteration

  3. Introduction Combinatorics Computations 3 / 34 Michèle Soria Combinatorial Systems and Newton Iteration

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. Introduction Combinatorics Computations II Combinatorics 16 / 34 Michèle Soria Combinatorial Systems and Newton Iteration

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend