the fixed point theory of complexity
play

The fixed point theory of complexity Yiannis N. Moschovakis UCLA - PowerPoint PPT Presentation

The fixed point theory of complexity Yiannis N. Moschovakis UCLA and University of Athens a commercial for Abstract Recursion and Intrinsic Complexity Published by CUP, ASL LNL Series # 48 Posted on my homepage Panhellenic Logic Symposium 12,


  1. The fixed point theory of complexity Yiannis N. Moschovakis UCLA and University of Athens a commercial for Abstract Recursion and Intrinsic Complexity Published by CUP, ASL LNL Series # 48 Posted on my homepage Panhellenic Logic Symposium 12, June 26 – 30, 2019, Anogeia

  2. The fixed point theory of complexity Yiannis N. Moschovakis UCLA and University of Athens a commercial for Abstract Recursion and Intrinsic Complexity Published by CUP, ASL LNL Series # 48 Posted on my homepage Panhellenic Logic Symposium 12, June 26 – 30, 2019, Anogeia

  3. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  4. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  5. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  6. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  7. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  8. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  9. Denotational semantics for programming languages I Introduced in 1971 by Dana Scott and Christopher Strachey I Assigns to every program E (of a well specified programming language) its denotation, the object den( E ) computed by E , typically a function or relation of some sort I The key mathematical tools it uses are fixed point theorems in various complete partially ordered sets (domains) I It is important because it provides a precise, mathematical criterion of correctness for programs, which should compute what we wanted them to compute I It has developed into a rich, intricate mathematical theory, not always easy to apply in specific cases ⋆ den( E ) gives no information about the complexity of the algorithm expressed by E Yiannis N. Moschovakis: The fixed point theory of complexity 1/10

  10. The Euclidean algorithm for coprimeness on N = { 0 , 1 , . . . } , with division gcd( x , y ) = the greatest common divisor of x , y ( x , y ≥ 1) x ⊥ ⊥ y ⇐ ⇒ gcd( x , y ) = 1 rem( x , y ) = r ⇐ ⇒ [ x = yq + r & r < y ] , eq w ( x ) ⇐ ⇒ x = w ( ε ) vars x , y while ( y � = 0) [( x , y ) := ( y , rem( x , y ))]; return eq 1 ( x ) ◮ If x , y ≥ 1 , then den( ε )( x , y ) ⇐ ⇒ x ⊥ ⊥ y I Def . calls ε (rem)( x , y ) = the number of divisions (calls to rem) used by ε to decide x ⊥ ⊥ y ◮ If x ≥ y and y ≥ 2 , then calls ε (rem)( x , y ) ≤ 2 log y ◮ For a fixed ¯ r > 0 and all the Fibonacci numbers F k with k ≥ 2, calls ε (rem)( F k +1 , F k ) = k − 1 ≥ ¯ r log F k +1 ⋆ Is the Euclidean worst-case optimal from its primitives? Yiannis N. Moschovakis: The fixed point theory of complexity 2/10

  11. The Euclidean algorithm for coprimeness on N = { 0 , 1 , . . . } , with division gcd( x , y ) = the greatest common divisor of x , y ( x , y ≥ 1) x ⊥ ⊥ y ⇐ ⇒ gcd( x , y ) = 1 rem( x , y ) = r ⇐ ⇒ [ x = yq + r & r < y ] , eq w ( x ) ⇐ ⇒ x = w ( ε ) vars x , y while ( y � = 0) [( x , y ) := ( y , rem( x , y ))]; return eq 1 ( x ) ◮ If x , y ≥ 1 , then den( ε )( x , y ) ⇐ ⇒ x ⊥ ⊥ y I Def . calls ε (rem)( x , y ) = the number of divisions (calls to rem) used by ε to decide x ⊥ ⊥ y ◮ If x ≥ y and y ≥ 2 , then calls ε (rem)( x , y ) ≤ 2 log y ◮ For a fixed ¯ r > 0 and all the Fibonacci numbers F k with k ≥ 2, calls ε (rem)( F k +1 , F k ) = k − 1 ≥ ¯ r log F k +1 ⋆ Is the Euclidean worst-case optimal from its primitives? Yiannis N. Moschovakis: The fixed point theory of complexity 2/10

  12. The Euclidean algorithm for coprimeness on N = { 0 , 1 , . . . } , with division gcd( x , y ) = the greatest common divisor of x , y ( x , y ≥ 1) x ⊥ ⊥ y ⇐ ⇒ gcd( x , y ) = 1 rem( x , y ) = r ⇐ ⇒ [ x = yq + r & r < y ] , eq w ( x ) ⇐ ⇒ x = w ( ε ) vars x , y while ( y � = 0) [( x , y ) := ( y , rem( x , y ))]; return eq 1 ( x ) ◮ If x , y ≥ 1 , then den( ε )( x , y ) ⇐ ⇒ x ⊥ ⊥ y I Def . calls ε (rem)( x , y ) = the number of divisions (calls to rem) used by ε to decide x ⊥ ⊥ y ◮ If x ≥ y and y ≥ 2 , then calls ε (rem)( x , y ) ≤ 2 log y ◮ For a fixed ¯ r > 0 and all the Fibonacci numbers F k with k ≥ 2, calls ε (rem)( F k +1 , F k ) = k − 1 ≥ ¯ r log F k +1 ⋆ Is the Euclidean worst-case optimal from its primitives? Yiannis N. Moschovakis: The fixed point theory of complexity 2/10

  13. The Euclidean algorithm for coprimeness on N = { 0 , 1 , . . . } , with division gcd( x , y ) = the greatest common divisor of x , y ( x , y ≥ 1) x ⊥ ⊥ y ⇐ ⇒ gcd( x , y ) = 1 rem( x , y ) = r ⇐ ⇒ [ x = yq + r & r < y ] , eq w ( x ) ⇐ ⇒ x = w ( ε ) vars x , y while ( y � = 0) [( x , y ) := ( y , rem( x , y ))]; return eq 1 ( x ) ◮ If x , y ≥ 1 , then den( ε )( x , y ) ⇐ ⇒ x ⊥ ⊥ y I Def . calls ε (rem)( x , y ) = the number of divisions (calls to rem) used by ε to decide x ⊥ ⊥ y ◮ If x ≥ y and y ≥ 2 , then calls ε (rem)( x , y ) ≤ 2 log y ◮ For a fixed ¯ r > 0 and all the Fibonacci numbers F k with k ≥ 2, calls ε (rem)( F k +1 , F k ) = k − 1 ≥ ¯ r log F k +1 ⋆ Is the Euclidean worst-case optimal from its primitives? Yiannis N. Moschovakis: The fixed point theory of complexity 2/10

Recommend


More recommend