polynomial time b
play

polynomial time B polynomial time Stephen Bellantoni and Stephen - PowerPoint PPT Presentation

Exponential Path Order EPO Martin Avanzini 1 Naohi Eguchi 2 Georg Moser 1 1 Computational Logic Faculty of Computer Science, University of Innsbruck, Austria 2 School of Information Science Japan Advanced Institute of Science and Technology,


  1. Exponential Path Order EPO ⋆ Martin Avanzini 1 Naohi Eguchi 2 Georg Moser 1 1 Computational Logic Faculty of Computer Science, University of Innsbruck, Austria 2 School of Information Science Japan Advanced Institute of Science and Technology, Japan June 1 @ RTA’11

  2. polynomial time

  3. B polynomial time Stephen Bellantoni and Stephen Cook A new Recursion-Theoretic Characterization of the Polytime Functions . CC, pages 97–110, 1992

  4. B > pop ⋆ polynomial time Martin Avanzini and Georg Moser Complexity Analysis by Rewriting . FLOPS ’09, pages 130–146, 2008

  5. B > pop ⋆ polynomial time SNRN N exponential time Toshiyasu Arai and Naohi Eguchi A new Function Algebra of EXPTIME Functions by Safe Nested Recursion . TCL, pages 130–146, 2008

  6. B > pop ⋆ polynomial time SNRN SNRN N > epo ⋆ exponential time Martin Avanzini and Naohi Eguchi and Georg Moser A Path Order for Rewrite Systems that Compute Exponential Time Functions . RTA’11, pages 123–138, 2011

  7. Main Result Let FEXP denote class of functions computable in time 2 O( n k ) ( k ∈ N )

  8. Main Result Let FEXP denote class of functions computable in time 2 O( n k ) ( k ∈ N ) 1 Soundness Let R be a constructor TRS that computes a function f . If R ⊆ > epo ⋆ then f ∈ FEXP.

  9. Main Result Let FEXP denote class of functions computable in time 2 O( n k ) ( k ∈ N ) 1 Soundness Let R be a constructor TRS that computes a function f . If R ⊆ > epo ⋆ then f ∈ FEXP. 2 Completeness Let f ∈ FEXP. There exists a constructor TRS R f computing f with R f ⊆ > epo ⋆ .

  10. Main Result Let FEXP denote class of functions computable in time 2 O( n k ) ( k ∈ N ) 1 Soundness Let R be a constructor TRS that computes a function f . If R ⊆ > epo ⋆ then f ∈ FEXP. 2 Completeness Let f ∈ FEXP. There exists a constructor TRS R f computing f with R f ⊆ > epo ⋆ .

  11. Rewriting as Computational Model in this talk We suppose . . . ◮ R confluent and terminating ◮ signature F underlying TRS R partitioned into defined symbols D and constructors C ◮ values V al := T ( C , V ) are terms over constructors C

  12. Rewriting as Computational Model in this talk We suppose . . . ◮ R confluent and terminating ◮ signature F underlying TRS R partitioned into defined symbols D and constructors C ◮ values V al := T ( C , V ) are terms over constructors C Definition TRS R computes for each f ∈ D partial function f : V al k → V al ⊥ s.t. s ∈ V al k . f ( � → ! ∀ � s ) = t : ⇐ ⇒ f( � s ) − R t and t ∈ V al

  13. Rewriting as Computational Model in this talk We suppose . . . ◮ R confluent and terminating ◮ signature F underlying TRS R partitioned into defined symbols D and constructors C ◮ values V al := T ( C , V ) are terms over constructors C Definition TRS R computes for each f ∈ D partial function f : V al k → V al ⊥ s.t. s ∈ V al k . f ( � → ! i ∀ � s ) = t : ⇐ ⇒ f( � s ) R t and t ∈ V al −

  14. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo

  15. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness

  16. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness ◮ induces exponential bound on innermost runtime complexity rc i R

  17. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness ◮ induces exponential bound on innermost runtime complexity rc i R Theorem Let R denote a constructor TRS. There exists k ∈ N such that R ∈ 2 O( n k ) rc i R ⊆ > epo ⋆ = ⇒ s ∈ V al k and f ( � rc i s ) , i R ( n ) = max { dh( f ( � − → R ) | � s ) of size upto n } dh( t , i i i i − → R ) = max { ℓ | ∃ ( t 1 , . . . , t ℓ ) . t − → R t 1 − → R . . . − → R t ℓ }

  18. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness ◮ induces exponential bound on innermost runtime complexity rc i R = ⇒ implies Soundness Theorem Let R denote a constructor TRS. There exists k ∈ N such that R ∈ 2 O( n k ) rc i R ⊆ > epo ⋆ = ⇒ s ∈ V al k and f ( � rc i s ) , i R ( n ) = max { dh( f ( � → R ) | � − s ) of size upto n } dh( t , i i i i − → R ) = max { ℓ | ∃ ( t 1 , . . . , t ℓ ) . t − → R t 1 − → R . . . − → R t ℓ }

  19. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness ◮ induces exponential bound on innermost runtime complexity rc i R = ⇒ implies Soundness Ugo Dal Lago and Simone Martini On Constructor Rewrite Systems and the Lambda-Calculus . 36th ICALP, pages 163–174, 2009

  20. Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness ◮ induces exponential bound on innermost runtime complexity rc i R = ⇒ implies Soundness Ugo Dal Lago and Simone Martini On Constructor Rewrite Systems and the Lambda-Calculus . 36th ICALP, pages 163–174, 2009 Martin Avanzini and Georg Moser Closing the Gap Between Runtime Complexity and Polytime Computability . RTA’10, pages 33–48, 2010

  21. The class N Syntactic, Recursion-theoretic Characterisation of FEXP

  22. The class N is the smallest class . . . 1 containing certain initial function projections, successors, . . . 2 closed under safe nested recursion on notation 3 closed under weak safe composition

  23. Safe Recursion on Notation ◮ syntactical restriction of primitive recursion scheme f ( x 1 , . . . , x k ; y 1 , . . . , y l ) � �� � � �� � normal safe

  24. Safe Recursion on Notation ◮ syntactical restriction of primitive recursion scheme f ( x 1 , . . . , x k ; y 1 , . . . , y l ) � �� � � �� � normal safe ◮ separates recursion parameters from recursively computed results f ( ǫ,� x ; � y ) = g ( � x ; � y ) f ( zi ,� x ; � y ) = h i ( z ,� x ; � y , f ( z ,� x ; � y )) ( i ∈ { 0 , 1 } )

  25. Safe Recursion on Notation ◮ syntactical restriction of primitive recursion scheme f ( x 1 , . . . , x k ; y 1 , . . . , y l ) � �� � � �� � normal safe ◮ separates recursion parameters from recursively computed results f ( ǫ,� x ; � y ) = g ( � x ; � y ) f ( zi ,� x ; � y ) = h i ( z ,� x ; � y , f ( z ,� x ; � y )) ( i ∈ { 0 , 1 } )

  26. Safe Recursion on Notation ◮ syntactical restriction of primitive recursion scheme f ( x 1 , . . . , x k ; y 1 , . . . , y l ) � �� � � �� � normal safe ◮ separates recursion parameters from recursively computed results f ( ǫ,� x ; � y ) = g ( � x ; � y ) f ( zi ,� x ; � y ) = h i ( z ,� x ; � y , f ( z ,� x ; � y )) ( i ∈ { 0 , 1 } ) where h i ( ǫ,� x ; � y , r ) = r i ( � x ; � y , r ) h i ( zi ,� x ; � y , r ) = s i , j ( z ,� x ; � y , h i ( z ,� x ; � y , r )) no recursion on recursively computed result

  27. Safe Nested Recursion on Notation extends safe recursion on notation with . . . 1 nesting of recursive function calls nested recursion f ( ǫ ; y ) = g (; y ) f ( xi ; y ) = r i ( x ; y , f ( x ; s i ( x ; y , f ( x ; . . . ))))

  28. Safe Nested Recursion on Notation extends safe recursion on notation with . . . 1 nesting of recursive function calls nested recursion f ( ǫ ; y ) = g (; y ) f ( xi ; y ) = r i ( x ; y , f ( x ; s i ( x ; y , f ( x ; . . . )))) 2 simultaneous recursion on all normal arguments multiple recursion f ( ǫ, ǫ ; z ) = g (; z ) f ( xi , ǫ ; z ) = r i ,ǫ ( x , ǫ ; z , f ( x , ǫ ; s i ,ǫ ( x , ǫ ; f ( x , ǫ ; z )))) f ( ǫ, yj ; z ) = r ǫ, j ( ǫ, y ; z , f ( ǫ, y ; s ǫ, j ( ǫ, y ; f ( ǫ, y ; z )))) f ( xi , yj ; z ) = r i , j ( x , y ; z , f ( xi , y ; s i , j ( x , y ; f ( x , yj ; z )))) • case analysis on least significant “bits” of recursion parameters

  29. Safe Nested Recursion on Notation extends safe recursion on notation with . . . 1 nesting of recursive function calls nested recursion f ( ǫ ; y ) = g (; y ) f ( xi ; y ) = r i ( x ; y , f ( x ; s i ( x ; y , f ( x ; . . . )))) 2 simultaneous recursion on all normal arguments multiple recursion f ( ǫ, ǫ ; z ) = g (; z ) f ( xi , ǫ ; z ) = r i ,ǫ ( x , ǫ ; z , f ( x , ǫ ; s i ,ǫ ( x , ǫ ; f ( x , ǫ ; z )))) f ( ǫ, yj ; z ) = r ǫ, j ( ǫ, y ; z , f ( ǫ, y ; s ǫ, j ( ǫ, y ; f ( ǫ, y ; z )))) f ( xi , yj ; z ) = r i , j ( x , y ; z , f ( xi , y ; s i , j ( x , y ; f ( x , yj ; z )))) • case analysis on least significant “bits” of recursion parameters • lexicographic decreasing recursion parameters

  30. Safe Composition Requirements 1 composition maintains separation of safe and normal arguments

  31. Safe Composition Requirements 1 composition maintains separation of safe and normal arguments Safe Composition employed in B f ( � x ; � y ) = g ( � r ( � x ; ); � s ( � x ; � y ))

Recommend


More recommend