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
polynomial time
B polynomial time Stephen Bellantoni and Stephen Cook A new Recursion-Theoretic Characterization of the Polytime Functions . CC, pages 97–110, 1992
B > pop ⋆ polynomial time Martin Avanzini and Georg Moser Complexity Analysis by Rewriting . FLOPS ’09, pages 130–146, 2008
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
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
Main Result Let FEXP denote class of functions computable in time 2 O( n k ) ( k ∈ N )
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.
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 ⋆ .
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 ⋆ .
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
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
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 −
Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo
Exponential Path Order > epo ⋆ ◮ constraints of N imposed on lexicographic path order > epo ⋆ ⊆ > lpo = ⇒ sufficiently strong for Completeness
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
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 ℓ }
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 ℓ }
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
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
The class N Syntactic, Recursion-theoretic Characterisation of FEXP
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
Safe Recursion on Notation ◮ syntactical restriction of primitive recursion scheme f ( x 1 , . . . , x k ; y 1 , . . . , y l ) � �� � � �� � normal safe
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 } )
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 } )
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
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 ; . . . ))))
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
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
Safe Composition Requirements 1 composition maintains separation of safe and normal arguments
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