Continuous models of computation: computability, complexity, - - PowerPoint PPT Presentation

continuous models of computation computability complexity
SMART_READER_LITE
LIVE PREVIEW

Continuous models of computation: computability, complexity, - - PowerPoint PPT Presentation

Continuous models of computation: computability, complexity, universality Amaury Pouly 21 mars 2017 1 / 19 Digital vs analog computers 2 / 19 Digital vs analog computers VS 2 / 19 Church Thesis Computability logic boolean circuits


slide-1
SLIDE 1

Continuous models of computation: computability, complexity, universality

Amaury Pouly 21 mars 2017

1 / 19

slide-2
SLIDE 2

Digital vs analog computers

2 / 19

slide-3
SLIDE 3

Digital vs analog computers

VS

2 / 19

slide-4
SLIDE 4

Church Thesis

Computability discrete Turing machine boolean circuits logic recursive functions lambda calculus quantum analog continuous Church Thesis All reasonable models of computation are equivalent.

3 / 19

slide-5
SLIDE 5

Church Thesis

Complexity discrete Turing machine boolean circuits logic recursive functions lambda calculus quantum analog continuous

  • ?

? Effective Church Thesis All reasonable models of computation are equivalent for complexity.

3 / 19

slide-6
SLIDE 6

Polynomial Differential Equations

k

k

+

u+v u v

×

uv u v

  • u

u

General Purpose Analog Computer Differential Analyzer Reaction networks : chemical enzymatic Newton mechanics polynomial differential equations : y(0)= y0 y′(t)= p(y(t)) Rich class Stable (+,×,◦,/,ED) No closed-form solution

4 / 19

slide-7
SLIDE 7

Example of dynamical system

θ ℓ

m

×

  • ×
  • −g

× ×

−1

  • y1

y2 y3 y4 ¨ θ + g

ℓ sin(θ) = 0

       y′

1 = y2

y′

2 = − g l y3

y′

3 = y2y4

y′

4 = −y2y3

⇔        y1 = θ y2 = ˙ θ y3 = sin(θ) y4 = cos(θ)

5 / 19

slide-8
SLIDE 8

Computing with the GPAC

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion

6 / 19

slide-9
SLIDE 9

Computing with the GPAC

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion sin, cos, exp, log, ... Strictly weaker than Turing machines [Shannon, 1941]

6 / 19

slide-10
SLIDE 10

Computing with the GPAC

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion sin, cos, exp, log, ... Strictly weaker than Turing machines [Shannon, 1941] Computable y(0)= q(x) y′(t)= p(y(t)) x ∈ R t ∈ R+ f(x) = lim

t→∞ y1(t)

t

f(x) x y1(t)

Modern notion

6 / 19

slide-11
SLIDE 11

Computing with the GPAC

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion sin, cos, exp, log, ... Strictly weaker than Turing machines [Shannon, 1941] Computable y(0)= q(x) y′(t)= p(y(t)) x ∈ R t ∈ R+ f(x) = lim

t→∞ y1(t)

t

f(x) x y1(t)

Modern notion sin, cos, exp, log, Γ, ζ, ... Turing powerful [Bournez et al., 2007]

6 / 19

slide-12
SLIDE 12

From discrete to real computability

Computable Analysis : lift Turing computability to real numbers [Ko, 1991; Weihrauch, 2000]

7 / 19

slide-13
SLIDE 13

From discrete to real computability

Computable Analysis : lift Turing computability to real numbers [Ko, 1991; Weihrauch, 2000] Definition x ∈ R is computable iff ∃ a computable f : N → Q such that : |x − f(n)| 10−n n ∈ N Examples : rational numbers, π, e, ... n f(n) |π − f(n)| 3 0.14 10−0 1 3.1 0.04 10−1 2 3.14 0.001 10−2 10 3.1415926535 0.9 · 10−10 10−10

7 / 19

slide-14
SLIDE 14

From discrete to real computability

Computable Analysis : lift Turing computability to real numbers [Ko, 1991; Weihrauch, 2000] Definition x ∈ R is computable iff ∃ a computable f : N → Q such that : |x − f(n)| 10−n n ∈ N Examples : rational numbers, π, e, ... n f(n) |π − f(n)| 3 0.14 10−0 1 3.1 0.04 10−1 2 3.14 0.001 10−2 10 3.1415926535 0.9 · 10−10 10−10 Beware : there exists uncomputable real numbers!

7 / 19

slide-15
SLIDE 15

From discrete to real computability

x f(x) x f(x)

7 / 19

slide-16
SLIDE 16

From discrete to real computability

x f(x) x f(x) y f(y)

10−m(0) 10−0

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N m : modulus of continuity

7 / 19

slide-17
SLIDE 17

From discrete to real computability

x f(x) x f(x) y

f(y) 10−m(1) 10−1

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N m : modulus of continuity

7 / 19

slide-18
SLIDE 18

From discrete to real computability

x f(x) x f(x)

y f(y) 10−m(2) 10−2

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N m : modulus of continuity

7 / 19

slide-19
SLIDE 19

From discrete to real computability

x f(x) r ∈ Q f(r)

ψ(r,0) 10−0

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N

7 / 19

slide-20
SLIDE 20

From discrete to real computability

x f(x) r ∈ Q f(r)

ψ(r,1) 10−1

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N

7 / 19

slide-21
SLIDE 21

From discrete to real computability

x f(x) r ∈ Q f(r)

ψ(r,2) 10−2

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N

7 / 19

slide-22
SLIDE 22

From discrete to real computability

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N Examples : polynomials, sin, exp, √· Note : all computable functions are continuous Beware : there exists (continuous) uncomputable real functions!

7 / 19

slide-23
SLIDE 23

From discrete to real computability

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N Examples : polynomials, sin, exp, √· Note : all computable functions are continuous Beware : there exists (continuous) uncomputable real functions! Polytime complexity Add “polynomial time computable” everywhere.

7 / 19

slide-24
SLIDE 24

Equivalence with computable analysis

Definition (Bournez et al) f computable by GPAC if ∃p polynomial such that ∀x y(0) = (x, 0, . . . , 0) y′(t) = p(y(t)) satisfies |f(x) − y1(t)| y2(t) et y2(t) − − − →

t→∞ 0.

t

f(x) x y1(t)

y1(t) − − − →

t→∞ f(x)

y2(t) = error bound

8 / 19

slide-25
SLIDE 25

Equivalence with computable analysis

Definition (Bournez et al) f computable by GPAC if ∃p polynomial such that ∀x y(0) = (x, 0, . . . , 0) y′(t) = p(y(t)) satisfies |f(x) − y1(t)| y2(t) et y2(t) − − − →

t→∞ 0.

t

f(x) x y1(t)

y1(t) − − − →

t→∞ f(x)

y2(t) = error bound Theorem (Bournez, Campagnolo, Graça, Hainry) f : [a, b] → R computable ⇔ f computable by GPAC

8 / 19

slide-26
SLIDE 26

Complexity of analog systems

Turing machines : T(x) = number of steps to compute on x

9 / 19

slide-27
SLIDE 27

Complexity of analog systems

Turing machines : T(x) = number of steps to compute on x GPAC : time contraction problem Tentative definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = (x, 0, . . . , 0) y′ = p(y) t

f(x) x y1(t)

9 / 19

slide-28
SLIDE 28

Complexity of analog systems

Turing machines : T(x) = number of steps to compute on x GPAC : time contraction problem Tentative definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = (x, 0, . . . , 0) y′ = p(y) t

f(x) x y1(t)

  • z(t) = y(et)

t

f(x) x z1(t)

9 / 19

slide-29
SLIDE 29

Complexity of analog systems

Turing machines : T(x) = number of steps to compute on x GPAC : time contraction problem Tentative definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = (x, 0, . . . , 0) y′ = p(y) t

f(x) x y1(t)

  • z(t) = y(et)

t

f(x) x z1(t)

w(t) = y(eet) t

f(x) x w1(t)

9 / 19

slide-30
SLIDE 30

Complexity of analog systems

Turing machines : T(x) = number of steps to compute on x GPAC : time contraction problem→ open problem Tentative definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = (x, 0, . . . , 0) y′ = p(y) t

f(x) x y1(t)

  • z(t) = y(et)

t

f(x) x z1(t)

Problem All functions have constant time complexity. w(t) = y(eet) t

f(x) x w1(t)

9 / 19

slide-31
SLIDE 31

Time-space correlation of the GPAC

y(0) = q(x) y′ = p(y) t

f(x) q(x) y1(t)

  • z(t) = y(et)

t

f(x) ˜ q(x) z1(t)

10 / 19

slide-32
SLIDE 32

Time-space correlation of the GPAC

y(0) = q(x) y′ = p(y) t

f(x) q(x) y1(t)

  • z(t) = y(et)

t

f(x) ˜ q(x) z1(t)

extra component : w(t) = et t

w(t)

10 / 19

slide-33
SLIDE 33

Time-space correlation of the GPAC

y(0) = q(x) y′ = p(y) t

f(x) q(x) y1(t)

  • z(t) = y(et)

t

f(x) ˜ q(x) z1(t)

Observation Time scaling costs “space”.

  • Time complexity for the GPAC

must involve time and space! extra component : w(t) = et t

w(t)

10 / 19

slide-34
SLIDE 34

Complexity of solving polynomial ODEs

y(0) = x y′(t) = p(y(t)) Theorem (Graça, Pouly) [TCS 2016] If y(t) exists, one can compute p, q such that

  • p

q − y(t)

  • 2−n in time

poly (size of x and p, n, ℓ(t)) where ℓ(t) = t max(1, y(u))deg(p)du ≈ length of the curve x y(t) x y(t) length of the curve = complexity = ressource

11 / 19

slide-35
SLIDE 35

Characterization of polynomial time

Definition : L ∈ ANALOG-PTIME ⇔ ∃p polynomial, ∀ word w y(0) = (ψ(w), |w|, 0, . . . , 0) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i ℓ(t) = length of y 1 −1

y1(t) ψ(w)

12 / 19

slide-36
SLIDE 36

Characterization of polynomial time

Definition : L ∈ ANALOG-PTIME ⇔ ∃p polynomial, ∀ word w y(0) = (ψ(w), |w|, 0, . . . , 0) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i ℓ(t) = length of y 1 −1 accept : w ∈ L computing

y1(t) ψ(w)

satisfies

1

if y1(t) 1 then w ∈ L

12 / 19

slide-37
SLIDE 37

Characterization of polynomial time

Definition : L ∈ ANALOG-PTIME ⇔ ∃p polynomial, ∀ word w y(0) = (ψ(w), |w|, 0, . . . , 0) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i ℓ(t) = length of y 1 −1 accept : w ∈ L reject : w / ∈ L computing

y1(t) ψ(w)

satisfies

2

if y1(t) −1 then w / ∈ L

12 / 19

slide-38
SLIDE 38

Characterization of polynomial time

Definition : L ∈ ANALOG-PTIME ⇔ ∃p polynomial, ∀ word w y(0) = (ψ(w), |w|, 0, . . . , 0) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i ℓ(t) = length of y 1 −1

poly(|w|)

accept : w ∈ L reject : w / ∈ L computing forbidden

y1(t) ψ(w)

satisfies

3

if ℓ(t) poly(|w|) then |y1(t)| 1

12 / 19

slide-39
SLIDE 39

Characterization of polynomial time

Definition : L ∈ ANALOG-PTIME ⇔ ∃p polynomial, ∀ word w y(0) = (ψ(w), |w|, 0, . . . , 0) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i ℓ(t) = length of y 1 −1

poly(|w|)

accept : w ∈ L reject : w / ∈ L computing forbidden

y1(t) y1(t) y1(t) ψ(w)

Theorem (JoC 2016; ICALP 2016) PTIME = ANALOG-PTIME

12 / 19

slide-40
SLIDE 40

Characterization of real polynomial time

Definition : f : [a, b] → R in ANALOG-PR ⇔ ∃p polynomial, ∀x ∈ [a, b] y(0) = (x, 0, . . . , 0) y′ = p(y) ℓ(t)

f(x) x y1(t)

13 / 19

slide-41
SLIDE 41

Characterization of real polynomial time

Definition : f : [a, b] → R in ANALOG-PR ⇔ ∃p polynomial, ∀x ∈ [a, b] y(0) = (x, 0, . . . , 0) y′ = p(y) satisfies :

1

|y1(t) − f(x)| 2−ℓ(t) «greater length ⇒ greater precision»

2

ℓ(t) t «length increases with time» ℓ(t)

f(x) x y1(t)

13 / 19

slide-42
SLIDE 42

Characterization of real polynomial time

Definition : f : [a, b] → R in ANALOG-PR ⇔ ∃p polynomial, ∀x ∈ [a, b] y(0) = (x, 0, . . . , 0) y′ = p(y) satisfies :

1

|y1(t) − f(x)| 2−ℓ(t) «greater length ⇒ greater precision»

2

ℓ(t) t «length increases with time» ℓ(t)

f(x) x y1(t)

Theorem [JoC 2016; ICALP 2016] f : [a, b] → R computable in polynomial time ⇔ f ∈ ANALOG-PR.

13 / 19

slide-43
SLIDE 43

Summary

ANALOG-PTIME ANALOG-PR

ℓ(t)

1 −1

poly(|w|) w∈L w / ∈L y1(t) y1(t) y1(t) ψ(w) ℓ(t) f(x) x y1(t)

Theorem [JoC 2016; ICALP 2016] L ∈ PTIME of and only if L ∈ ANALOG-PTIME f : [a, b] → R computable in polynomial time ⇔ f ∈ ANALOG-PR Analog complexity theory based on length time of Turing machine ⇔ length of the GPAC Purely continuous characterization of PTIME

14 / 19

slide-44
SLIDE 44

Universal differential equations

Generable functions x

y1(x)

subclass of analytic functions Computable functions t

f(x) x y1(t)

any computable function

15 / 19

slide-45
SLIDE 45

Universal differential equations

Generable functions x

y1(x)

subclass of analytic functions Computable functions t

f(x) x y1(t)

any computable function x

y1(x)

15 / 19

slide-46
SLIDE 46

Universal differential equation (Rubel)

x

y1(x)

Theorem (Rubel) There exists a fixed polynomial p and k ∈ N such that for any conti- nuous functions f and ε, there exists a solution y to p(t, y, y′, . . . , y(k)) = 0 such that |y(t) − f(t)| ε(t).

16 / 19

slide-47
SLIDE 47

Universal differential equation (Rubel)

x

y1(x)

Theorem (Rubel) There exists a fixed polynomial p and k ∈ N such that for any conti- nuous functions f and ε, there exists a solution y to p(t, y, y′, . . . , y(k)) = 0 such that |y(t) − f(t)| ε(t). Problem : Rubel is «cheating».

16 / 19

slide-48
SLIDE 48

Rubel’s proof in one slide

Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise

(1 − t2)2f

′′(t) + 2tf ′(t) = 0.

t

17 / 19

slide-49
SLIDE 49

Rubel’s proof in one slide

Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise

(1 − t2)2f

′′(t) + 2tf ′(t) = 0.

Can do the same with cf(at + b) (translation+scaling) t

17 / 19

slide-50
SLIDE 50

Rubel’s proof in one slide

Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise

(1 − t2)2f

′′(t) + 2tf ′(t) = 0.

Can do the same with cf(at + b) (translation+scaling) Can glue together arbitrary many such pieces t

17 / 19

slide-51
SLIDE 51

Rubel’s proof in one slide

Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise

(1 − t2)2f

′′(t) + 2tf ′(t) = 0.

Can do the same with cf(at + b) (translation+scaling) Can glue together arbitrary many such pieces Can arrange so that

  • f is solution : almost piecewise linear

17 / 19

slide-52
SLIDE 52

Universal differential equation (Rubel)

x

y1(x)

Theorem There exists a fixed polynomial p and k ∈ N such that for any conti- nuous functions f and ε, there exists α0, . . . , αk ∈ R such that p(y, y′, . . . , y(k)) = 0, y(0) = α0, y′(0) = α1, . . . , y(k)(0) = αk has a unique analytic solution and this solution satisfies such that |y(t) − f(t)| ε(t).

18 / 19

slide-53
SLIDE 53

Future work

Reaction networks : chemical enzymatic y′ = p(y) y′ = p(y) + e(t) ? ? ◮ Finer time complexity (linear) ◮ Nondeterminism ◮ Robustness ◮ « space» complexity ◮ Other models ◮ Stochastic

19 / 19