contributing to higher order complexity outcomes and
play

Contributing to Higher Order Complexity: Outcomes and Likely - PowerPoint PPT Presentation

Contributing to Higher Order Complexity: Outcomes and Likely Applications Hugo Fre September 26th, 2019 Summary Motivation, or How Did I Get Into Higher-order Complexity? Computation as a Dialogue and How It Helps with Complexity And


  1. Contributing to Higher Order Complexity: Outcomes and Likely Applications Hugo Férée September 26th, 2019

  2. Summary Motivation, or How Did I Get Into Higher-order Complexity? Computation as a Dialogue and How It Helps with Complexity And now what? 2/38

  3. Motivation, or How Did I Get Into Higher-order Complexity?

  4. Type-two Theory of Effectivity To compute over a space X we equip it with a surjection δ : R ֒ → X , where R is a space over which we already know how to compute. f → X ′ − X ↑ δ ↑ δ ′ g R − → R 3/38

  5. Type-two Theory of Effectivity To compute over a space X we equip it with a surjection δ : R ֒ → X , where R is a space over which we already know how to compute. For example: • R = Σ ∗ allows to represent discrete domains (integers, lists, graphs, etc.) but not uncountable ones • R = Σ → Σ ∗ is enough to represent R , C [ 0 , 1 ] , etc . "correctly". 3/38

  6. Second-order Computations In order to compute over Σ ∗ → Σ ∗ , we use Oracle Turing Machines: f w f ( w ) M Definition F : (Σ ∗ → Σ ∗ ) → Σ ∗ is computed by an oracle Turing machine M if for any oracle f : Σ ∗ → Σ ∗ , M f computes F ( f ) . 4/38

  7. Second-Order Complexity Definition (Time complexity) The complexity of a machine is an upper bound on its computation time w.r.t the size of its input. ✓ size of a finite word ? size of an order 1 function 5/38

  8. Second-Order Complexity Definition (Time complexity) The complexity of a machine is an upper bound on its computation time w.r.t the size of its input. ✓ size of a finite word ? size of an order 1 function Definition (Size of a function) The size of f : Σ ∗ → Σ ∗ is | f | : N → N : | f | ( n ) = max | x |≤ n | f ( x ) | . 5/38

  9. Second-Order Polynomial Time Definition (Second order polynomials) P := c | X | Y � P � | P + P | P × P Example P ( X , Y ) = ( Y � X × Y � X + 1 �� ) 2 Definition ( fptime 2 ) Second order polynomial time computable function = computable by an OTM in second order polynomial time. Actually, we can define many complexity classes: np 2 , #p 2 , ... and the corresponding classes in analysis: np R , #p R , np C [ 0 , 1 ] , #p C [ 0 , 1 ] , ... 6/38

  10. Application: Complexity for Functions over Streams Simple coinductive datatypes can be seen as first-order functions (watch out for details). Theorem (F., Hainry, Hoyrup, Péchoux 2010) The Implicit Computation Complexity technique called polynomial interpretations can be applied to lazy first-order rewriting systems with streams to characterise (a relevant notion of) polynomial time complexity. 7/38

  11. Limits of First-order Representations Once again, R = Σ ∗ → Σ ∗ may not always be the right representation space: Theorem (F.-Hoyrup 2013) If X is a non- σ -compact polish space with an admissible representation, then no representation δ : (Σ ∗ → Σ ∗ ) ֒ → C [ X , R ] makes the complexity of the application function Ap : C [ X , R ] × X → R well-defined. Example TTE cannot express a meaningful notion of complexity for C [ C [ 0 , 1 ] , R ] . 8/38

  12. Towards a "Higher-order Theory of Effectivity"? f → X ′ X − ↑ δ ↑ δ ′ g Σ ∗ → Σ ∗ − 9/38

  13. Towards a "Higher-order Theory of Effectivity"? f X ′ X − → ↑ δ ↑ δ ′ g (Σ ∗ → Σ ∗ ) → (Σ ∗ → Σ ∗ ) − 9/38

  14. Towards a "Higher-order Theory of Effectivity"? f X ′ X − → ↑ δ ↑ δ ′ g (Σ ∗ → Σ ∗ ) → Σ ∗ → (Σ ∗ → Σ ∗ ) → Σ ∗ − 9/38

  15. Towards a "Higher-order Theory of Effectivity"? f → X ′ X − ↑ δ ↑ δ ′ g σ − → τ Definition (Higher-order types) τ, σ := N | σ ֒ → τ | σ × τ 9/38

  16. Higher-order Computability? • Kleene schemata • Kleene associates • Berry-Curien sequential algorithms • ... • pcf (Scot, Plotkin) λ -calculus over N + fixpoint combinator. ✗ No simple underlying complexity notion. • bff (Cook, Urquhart) λ -calculus + fptime + R (2 nd -order bounded recursion) ✗ Defines only one complexity class (no exptime , etc.) ✗ Misses some intuitively feasible functionals. 10/38

  17. Basic Feasible Functionals Definition (Cook & Urquhart (93), Mehlhorn (76)) bff = λ + fptime + R , with:  x 0 if x = 0   R ( x 0 , F , B , x ) . t if | t | ≤ B ( x )  B ( x ) otherwise.  where t = F ( x , R ( x 0 , F , B , ⌊ x 2 ⌋ )) . Theorem (Kapron & Cook 1996) bff 2 is the class of functions computed by an oracle Turing machine in second-order polynomial time. 11/38

  18. Feasible � = ⇒ bff Example (Irwin, Kapron, Royer) ⇒ y = 2 x f x ( y ) = 1 ⇐ Φ , Ψ : (( N → N ) → N ) × N → N  if F ( f x ) = F ( λ y . 0 ) 0  Φ( F , x ) = Φ ∈ bff 3 1 otherwise.   0 if F ( f x ) = F ( λ y . 0 )  Ψ( F , x ) = Ψ �∈ bff 3 2 x otherwise.  but Ψ is "as feasible as" Φ . 12/38

  19. Computation as a Dialogue and How It Helps with Complexity

  20. Computation as a Dialogue (First-order functions) � machine, what is your value? 13/38

  21. Computation as a Dialogue (First-order functions) � machine, what is your value? Machine is computing... 13/38

  22. Computation as a Dialogue (First-order functions) � machine, what is your value? On which input? 13/38

  23. Computation as a Dialogue (First-order functions) � machine, what is your value? On which input? Input is computing... 13/38

  24. Computation as a Dialogue (First-order functions) � machine, what is your value? On which input? On input 10! 13/38

  25. Computation as a Dialogue (First-order functions) � machine, what is your value? On which input? On input 10! Machine is computing... 13/38

  26. Computation as a Dialogue (First-order functions) � machine, what is your value? On which input? On input 10! I’m worth 47 on that input! 13/38

  27. Computation as a Dialogue (Second-order functions) � machine, what is your value? 14/38

  28. Computation as a Dialogue (Second-order functions) � machine, what is your value? Machine is computing... 14/38

  29. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? 14/38

  30. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? Input is computing... 14/38

  31. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? 14/38

  32. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? Machine is computing... 14/38

  33. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? 14/38

  34. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? Input is computing... 14/38

  35. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? 14/38

  36. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? Machine is computing... 14/38

  37. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? What is f ( 4 ) ? 14/38

  38. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? What is f ( 4 ) ? Input is computing... 14/38

  39. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? What is f ( 4 ) ? It’s 7. Anything else? 14/38

  40. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? What is f ( 4 ) ? It’s 7. Anything else? . . . 14/38

  41. Computation as a Dialogue (Second-order functions) � machine, what is your value? On which first-order input (let’s call it "f")? What do you want to know about f? What is f ( 1 ) ? It’s 2. Anything else? What is f ( 4 ) ? It’s 7. Anything else? . . . Machine is computing... 14/38

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