Introduction Combinatorial structures Iteration and Oracle Newton iteration Combinatorial Newton iteration for Boltzmann oracle Carine Pivoteau joint work with Bruno Salvy and Mich` ele Soria Carine Pivoteau 1/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Motivations Random Recursive Boltzmann generation method method Combinatorial Generating Numerical structures functions evaluation Carine Pivoteau 2/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Examples of combinatorial specifications plane binary trees: B = Z + Z × B 2 series-parallel graphs: S = Seq ≥ 2 ( P + Z ) P = MSet ≥ 2 ( S + Z ) an algebraic language: C 0 = ZC 1 C 2 C 3 ( C 1 + C 2 ) Z + Z Seq ( C 2 1 C 2 C 1 = 3 ) Z + Z 2 Seq ( Z C 2 C 2 = 2 Seq ( Z )) Seq ( C 2 ) Z + Z (3 Z + Z 2 + Z 2 C 1 C 3 ) Seq ( C 2 C 3 = 1 ) Carine Pivoteau 3/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Examples of combinatorial specifications plane binary trees: B = Z + Z × B 2 series-parallel graphs: S = Seq ≥ 2 ( P + Z ) P = MSet ≥ 2 ( S + Z ) an algebraic language: 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 ) = z + z (3 z + z 2 + z 2 C 1 ( z ) C 3 ( z )) / (1 − C 2 C 3 ( z ) = 1 ( z )) Carine Pivoteau 3/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Examples of combinatorial specifications plane binary trees: B = Z + Z × B 2 series-parallel graphs: S = Seq ≥ 2 ( P + Z ) P = MSet ≥ 2 ( S + Z ) an algebraic language: with z = 0 . 1 C 0 = C 0 (0 . 1) = 0 . 1 C 1 C 2 C 3 ( C 1 + C 2 ) 0 . 1 + 0 . 1 / (1 − C 2 1 C 2 C 1 = C 1 (0 . 1) = 3 ) 0 . 1 + 0 . 01 / ((1 − C 2 C 2 = C 2 (0 . 1) = 2 / 9)(1 − C 2 )) 0 . 1 + 0 . 1(0 . 31 + 0 . 01 C 1 C 3 ) / (1 − C 2 C 3 = C 3 (0 . 1) = 1 ) Carine Pivoteau 3/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Carine Pivoteau 4/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration C 0 ( x ) Z our x = Carine Pivoteau 4/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration C 0 ( x ) C 0 = ZC 1 C 2 C 3 ( C 1 + C 2 ) Z + Z Seq ( C 2 1 C 2 C 1 = 3 ) Z + Z 2 Seq ( Z C 2 C 2 = 2 Seq ( Z )) Seq ( C 2 ) Z + Z (3 Z + Z 2 + Z 2 C 1 C 3 ) Seq ( C 2 C 3 = 1 ) Z our x = Carine Pivoteau 5/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration 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 + . . . Z our x = Carine Pivoteau 5/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration 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 + . . . Z our x = Carine Pivoteau 5/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Proposition Newton iteration converges quadratically to the solution. Approach numerical iteration converges to the solution ⇑ counting series evaluation ⇑ combinatorial systems of equations Carine Pivoteau 6/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Combinatorial structures Carine Pivoteau 7/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Combinatorial specification A combinatorial specification for an m -tuple Y = ( Y 1 , . . . , Y m ) of classes is a system 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 ) , each H i denoting a term built from the Y i ’s and the initial class Z (atomic) using the classical constructions. construction notation B = ∅ B = E Disjoint union A + B A A + E Cartesian product A × B A ∅ Sequence Seq ( B ) E − Cycle Cyc ( B ) − ∅ Set Set ( B ) E − Carine Pivoteau 8/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Well founded specification Definition The combinatorial specification Y = H ( Z , Y ) is well founded if and only if, for all n ≥ 0, it derives only finitely many structures of size n . This is denoted by | Y | n < ∞ . Y = Seq ( Z ) ✓ Y = Seq ( Z Seq ( Z )) ✓ Y = Seq ( Seq ( Z )) ✗ 1+ z + z 2 + z 3 + z 4 + ... 1+ z +2 z 2 +4 z 3 +8 z 4 + ... |Y| 0 = ∞ Y = Z Y ✓ Y = Z + Z Y ✓ Y = Z + Y ✗ z + z 2 + z 3 + z 4 + ... 0 |Y| 1 = ∞ � � Y 1 = Z + Y 2 Y 1 = Z + Y 2 ✓ ✗ Y 2 = Z Y 1 Seq ( Y 2 ) Y 2 = Z + Y 1 Seq ( Y 2 ) Y 1 ( z )= z + z 2 + z 3 +2 z 4 +4 z 5 + ... | Y | 1 = ∞ Y 2 ( z )= z 2 + z 3 +2 z 4 +4 z 5 + ... Carine Pivoteau 9/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Combinatorial derivative ∂ H /∂ T : derivative of H ( Z , Y 1 , . . . , Y m ) with respect to T . ∂ H /∂ Y = Z Seq ( Y ) 2 H ( Z , Y ) = Z Seq ( Y ) z/ (1 − y )2 z/ (1 − y ) H ( Z , Y 1 , Y 2 ) = Z Y 2 ∂ H /∂ Y 2 = Z Y 2 1 Cyc ( Y 2 ) 1 Seq ( Y 2 ) zY 2 zY 2 1 log(1 / (1 − Y 2)) 1 / (1 − Y 2) zY 2 k ≥ 0 ϕ ( k ) log(1 / (1 − Y 2( zk ))) /k P 1 � � Z Set ( Y 1 ) Z Set ( Y 1 ) H ( Z , Y 1 , Y 2 ) = ∂ H /∂ Y 1 = Y 2 1 Y 2 2 Y 1 Y 2 z exp( Y 1) , Y 2 1 Y 2 z exp( Y 1) , 2 Y 1 Y 2 z exp ( k ≥ 0 Y 1( zk ) /k ) , Y 2 z exp ( k ≥ 0 Y 1( zk ) /k ) , 2 Y 1 Y 2 P 1 Y 2 P Carine Pivoteau 10/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Combinatorial derivative Cartesian product and Taylor formula (Labelle 90) H ( A + B ) = H ( A ) + H ′ ( A ) × B + 1 2 H ′′ ( A ) × B 2 + . . . Carine Pivoteau 11/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Jacobian matrix ∂ H /∂ Y : the Jacobian matrix of H ( Z , Y ) with respect to Y , its entries are the partial derivatives ∂ H i ( Z , Y ) /∂ Y j . � Z Set ( Y 1 ) � Z Set ( Y 1 ) � ∅ H 1 ( Z , Y ) = ∂ H 1 /∂ Y = Y 2 Y 2 2 Y 1 Y 2 1 Y 2 1 � Z + Y 2 � � E ∅ H 2 ( Z , Y ) = ∂ H 2 /∂ Y = Z Seq ( Y 1 ) 2 ∅ Z Seq ( Y 1 ) Carine Pivoteau 12/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Jacobian matrix Nilpotent matrix : one of its powers is ∅ ∅ ∅ (all its entries are ∅ ). � ∅ � ∅ ∂ H 1 /∂ Y ( ∅ , ∅ ∅ ∅ ) = ∅ ∅ � ∅ E � � ∅ � ∅ ∅ )) 2 = ∂ H 2 /∂ Y ( ∅ , ∅ ( ∂ H 2 /∂ Y ( ∅ , ∅ ∅ ) = ∅ ∅ ∅ ∅ ∅ ∅ Carine Pivoteau 13/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Characterization of well-founded systems Proposition A combinatorial specification Y = H ( Z , Y ) such that H ( ∅ , ∅ ∅ ) = ∅ ∅ ∅ ∅ is well founded if and only if the Jocabian matrix ∂ H /∂ Y ( ∅ , ∅ ∅ ) is nilpotent. ∅ ∅ )) p = ∅ ⇐ by contradiction. ( ∂ H / ∂ Y ( ∅ , ∅ ∅ ∅ ∅ n = min { k, | Y | k = ∞} and α = H ( Z , α 1 , . . . , α m ), | α | = n . ∀ i, | α i | < n or ∃ i, | α i | = n and ∀ j � = i, | α j | = 0. ∅ ) q × β , with | β | = n and q ≤ p . In the later case: ∂ H /∂ Y ( ∅ , ∅ ∅ ⇒ by contradiction. n = min { k, | Y | k � = 0 } and α is a Y -structure of size n . Suppose that the matrix ∂ H /∂ Y ( ∅ , ∅ ∅ ) is not nilpotent. ∅ Then, ∀ q ∈ N , there exist a nonempty structure β q of size 0 in ∅ )) q such that β q · α is a Y -structure of size n . ( ∂ H / ∂ Y ( ∅ , ∅ ∅ Carine Pivoteau 14/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Examples Y = Seq ( Z ) ✓ Y = Seq ( Z Seq ( Z )) ✓ Y = Seq ( Seq ( Z )) ✗ H ′ ( ∅ ) = ∅ H ′ ( ∅ ) = ∅ H ′ ( ∅ ) not defined! Y = Z Y ✓ Y = Z + Z Y ✓ Y = Z + Y ✗ H ′ ( ∅ , ∅ ) = ∅ H ′ ( ∅ , ∅ ) = ∅ H ′ ( ∅ , ∅ ) = E � � Y 1 = Z Y 2 Y 1 = Z + Y 2 ✓ Y 2 = Z Y 1 Seq ( Y 2 ) ✓ Y 2 = Z Y 1 Seq ( Y 2 ) �� � � ∅ � � ∅ E � ∅ ∅ ∅ � = � Z Y 1 Seq ( Y 2)2 ∅ ∅ ∅ ∅ Z Seq ( Y 2) � ∅ , ∅ ∅ ∅ � Y 1 = Z + Y 2 ✗ Y 2 = Z + Y 1 Seq ( Y 2 ) �� � � ∅ � ∅ E E � = � E Y 1 Seq ( Y 2 ) 2 ∅ Seq ( Y 2 ) � ∅ , ∅ ∅ ∅ Carine Pivoteau 15/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Iteration and Oracle Carine Pivoteau 16/34
Introduction Combinatorial structures Iteration and Oracle Newton iteration Result Theorem (Transfer of Convergence) Let Y = F ( Z , Y ) be well founded and F ( ∅ , ∅ ∅ ∅ ) = ∅ ∅ ∅ . 1 The iteration Y n +1 = F ( Z , Y n ) , with Y 0 = ∅ ∅ , ∅ Combinatorial converges to the combinatorial class Y , solution structures of Y = F ( Z , Y ) . 2 The iteration Y n +1 ( z ) = F ( z, Y n ( z )) , with Y 0 ( z ) = 0 , converges to the generating series Generating Y ( z ) of the class Y . functions 3 If F is an analytic specification, then Y has positive radius of convergence ρ and for all α such that | α | < ρ , the iteration y n +1 = F ( α, y n ) , with Numerical evaluation y 0 = 0 , converges to Y ( α ) . F ( Z , Y ) is called analytic when the generating series F ( z, Y ) is analytic in ( z, Y ) in the neighborhood of (0, 0 ), with nonnegative coefficients. Carine Pivoteau 17/34
Recommend
More recommend