Polynomial Time corresponds to Solutions of Polynomial Ordinary - - PowerPoint PPT Presentation

polynomial time corresponds to solutions of polynomial
SMART_READER_LITE
LIVE PREVIEW

Polynomial Time corresponds to Solutions of Polynomial Ordinary - - PowerPoint PPT Presentation

Polynomial Time corresponds to Solutions of Polynomial Ordinary Differential Equations of Polynomial Length Olivier Bournez, Daniel Graa and Amaury Pouly July 13, 2015 Main result and consequences Theorem (Informal) PTIME = PIVP of


slide-1
SLIDE 1

Polynomial Time corresponds to Solutions of Polynomial Ordinary Differential Equations of Polynomial Length

Olivier Bournez, Daniel Graça and Amaury Pouly July 13, 2015

slide-2
SLIDE 2

Main result and consequences

Theorem (Informal) PTIME = PIVP of polynomial length PIVP: Ordinary Differential Equations (ODE) with polynomial right-hand side.

◮ Implicit complexity: purely continuous (time and space)

characterization of PTIME

◮ Continuous-time models of computations: Turing machines

and the GPAC are equivalent at the complexity level

slide-3
SLIDE 3

Digital vs analog computers

slide-4
SLIDE 4

Digital vs analog computers

VS

slide-5
SLIDE 5

Let’s model!

Physical Computer Model Laptop, ... Turing machines λ-calculus Recursive functions Circuits Discrete dynamical systems Differential Analyzer, ... GPAC Continuous dynamical systems

slide-6
SLIDE 6

Let’s model!

Physical Computer Model Laptop, ... Turing machines λ-calculus Recursive functions Circuits Discrete dynamical systems Differential Analyzer, ... GPAC Continuous dynamical systems Church Thesis All reasonable models of computation are equivalent.

slide-7
SLIDE 7

Let’s model!

Physical Computer Model Laptop, ... Turing machines λ-calculus Recursive functions Circuits Discrete dynamical systems Differential Analyzer, ... GPAC Continuous dynamical systems Church Thesis All reasonable models of computation are equivalent. Implicit corollary Some models are too general/unreasonable.

slide-8
SLIDE 8

Let’s model!

Physical Computer Model Laptop, ... Turing machines λ-calculus Recursive functions Circuits Discrete dynamical systems Differential Analyzer, ... GPAC→reasonable ? Continuous dynamical systems Church Thesis All reasonable models of computation are equivalent. Implicit corollary Some models are too general/unreasonable.

slide-9
SLIDE 9

General Purpose Analog Computer (GPAC)

◮ invented by Shannon (1941) ◮ idealization of the Differential Analyzer: ◮ circuits made of:

k k Constant + u + v u v Adder × uv u v Multiplier

  • u

u Integrator

slide-10
SLIDE 10

Examples of GPAC

Exponential:

  • y(t)
  • y =
  • y
  • y(t) = exp(t)
slide-11
SLIDE 11

Examples of GPAC

Exponential:

  • y(t)
  • y′ = y
  • y(t) = exp(t)
slide-12
SLIDE 12

Examples of GPAC

Exponential:

  • y(t)
  • y′ = y
  • y(t) = exp(t)

(Co)sine: −1 ×

  • y1(t)

y2(t) y′

1= y2

y′

2= −y1

  • y1(t)= sin(t)

y2(t)= cos(t)

slide-13
SLIDE 13

Examples of GPAC

Rational function: 1

  • y2(t)

−2 × × ×

  • y1(t)

y′

1= −2y2y2 1

y′

2= 1

  • y1(t)=

1 1+t2

y2(t)= t

slide-14
SLIDE 14

Examples of GPAC

Rational function: 1

  • y2(t)

−2 × × ×

  • y1(t)

y′

1= −2y2y2 1

y′

2= 1

  • y1(t)=

1 1+t2

y2(t)= t Theorem (Graça and Costa) y = (y1, . . . , yd) is generated by a GPAC iff it satisfies a Polyno- mial Initial Value Problem (PIVP): y′ = p(y) y(t0)= y0 where p is a vector of polynomials.

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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]

slide-17
SLIDE 17

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) q(x) y1(t)

Modern notion

slide-18
SLIDE 18

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) q(x) y1(t)

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

slide-19
SLIDE 19

Different kinds of equivalence

Theorem (Bournez et al) The GPAC is equivalent to Turing machines for computability.

◮ Computability: compute the same functions

slide-20
SLIDE 20

Different kinds of equivalence

Theorem (Bournez et al) The GPAC is equivalent to Turing machines for computability.

◮ Computability: compute the same functions ◮ Complexity: same functions with same “complexity”

Quantum computers Boolean circuits Turing machines Recursive functions GPACs Equivalent Believed different Unknown

slide-21
SLIDE 21

Different kinds of equivalence

Theorem (Bournez et al) The GPAC is equivalent to Turing machines for computability.

◮ Computability: compute the same functions ◮ Complexity: same functions with same “complexity”

Quantum computers Boolean circuits Turing machines Recursive functions GPACs Equivalent Believed different Unknown Main Result of the paper Turing machines and GPACs are equivalent for complexity.

slide-22
SLIDE 22

Time complexity for continuous systems

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

slide-23
SLIDE 23

Time complexity for continuous systems

◮ Turing machines: T(x) = number of steps to compute on x ◮ GPAC: time contraction problem

Intuitive definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = q(x) y′ = p(y) t

f(x) g(x) y1(t)

slide-24
SLIDE 24

Time complexity for continuous systems

◮ Turing machines: T(x) = number of steps to compute on x ◮ GPAC: time contraction problem

Intuitive definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = q(x) y′ = p(y) t

f(x) g(x) y1(t)

  • z(t) = y(et)

t

f(x) ˜ g(x) z1(t)

slide-25
SLIDE 25

Time complexity for continuous systems

◮ Turing machines: T(x) = number of steps to compute on x ◮ GPAC: time contraction problem

Intuitive definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = q(x) y′ = p(y) t

f(x) g(x) y1(t)

  • z(t) = y(et)

t

f(x) ˜ g(x) z1(t)

  • w(t) = y(eet)

t

f(x) ˆ g(x) w1(t)

slide-26
SLIDE 26

Time complexity for continuous systems

◮ Turing machines: T(x) = number of steps to compute on x ◮ GPAC: time contraction problem→ open problem

Intuitive definition T(x, µ) = first time t so that |y1(t) − f(x)| e−µ y(0) = q(x) y′ = p(y) t

f(x) g(x) y1(t)

  • z(t) = y(et)

t

f(x) ˜ g(x) z1(t)

Observation This definition is broken: all functions have arbitrar- ily small complexity.

  • w(t) = y(eet)

t

f(x) ˆ g(x) w1(t)

slide-27
SLIDE 27

Time-space correlation of the GPAC

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

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

slide-28
SLIDE 28

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)

slide-29
SLIDE 29

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”. extra component: w(t) = et t

w(t)

slide-30
SLIDE 30

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)

slide-31
SLIDE 31

Two equivalent notions of complexity

t

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

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

t→∞ y1(t)

slide-32
SLIDE 32

Two equivalent notions of complexity

t

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

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

t→∞ y1(t)

Length based complexity: L ℓ(t) = length of y over [0, t] = t p(y(u)) du L(x, µ) = length ℓ(t) so that y1(t) − f(x) e−µ

slide-33
SLIDE 33

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w:

slide-34
SLIDE 34

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies:

slide-35
SLIDE 35

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies: = t

0 y′

ℓ(t)= length of y

  • ver [0, t]

1 −1

y1(t) q(ψ(w))

slide-36
SLIDE 36

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies: = t

0 y′

ℓ(t)= length of y

  • ver [0, t]

1 −1 accept: w ∈ L computing

y1(t) q(ψ(w))

1

if y1(t) 1 then w ∈ L

slide-37
SLIDE 37

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies: = t

0 y′

ℓ(t)= length of y

  • ver [0, t]

1 −1 accept: w ∈ L reject: w / ∈ L computing

y1(t) q(ψ(w))

2

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

slide-38
SLIDE 38

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies: = t

0 y′

ℓ(t)= length of y

  • ver [0, t]

1 −1

poly(|w|)

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

y1(t) q(ψ(w))

3

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

slide-39
SLIDE 39

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies: = t

0 y′

ℓ(t)= length of y

  • ver [0, t]

1 −1

poly(|w|)

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

y1(t) q(ψ(w))

4

ℓ(t) t

slide-40
SLIDE 40

Characterization of Turing polynomial time

Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w: y(0) = q(ψ(w)) y′ = p(y) ψ(w) =

|w|

  • i=1

wi2−i satisfies: = t

0 y′

ℓ(t)= length of y

  • ver [0, t]

1 −1

poly(|w|)

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

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

Theorem L ∈ P if and only if L is polytime-recognizable.

slide-41
SLIDE 41

Characterization of real polynomial time

Definition: f : [a, b] → R is analog-polytime iff for all x: y(0) = q(x) y′ = p(y) satisfies:

slide-42
SLIDE 42

Characterization of real polynomial time

Definition: f : [a, b] → R is analog-polytime iff for all x: y(0) = q(x) y′ = p(y) satisfies:

1

∀n ∈ N, if ℓ(t) poly(x , n) then |y1(t) − f(x)| 2−n where ℓ(t) = t

  • y′(u)
  • du

«If curve is long enough, precision is good enough»

slide-43
SLIDE 43

Characterization of real polynomial time

Definition: f : [a, b] → R is analog-polytime iff for all x: y(0) = q(x) y′ = p(y) satisfies:

1

∀n ∈ N, if ℓ(t) poly(x , n) then |y1(t) − f(x)| 2−n where ℓ(t) = t

  • y′(u)
  • du

«If curve is long enough, precision is good enough»

2

∀t ∈ R+, y′(t) 1 «Curve grows at least linearly with time»

slide-44
SLIDE 44

Characterization of real polynomial time

Definition: f : [a, b] → R is analog-polytime iff for all x: y(0) = q(x) y′ = p(y) satisfies:

1

∀n ∈ N, if ℓ(t) poly(x , n) then |y1(t) − f(x)| 2−n where ℓ(t) = t

  • y′(u)
  • du

«If curve is long enough, precision is good enough»

2

∀t ∈ R+, y′(t) 1 «Curve grows at least linearly with time» Main result f : [a, b] → R is polytime computable iff f is analog-polytime.

slide-45
SLIDE 45

Conclusion

◮ Time complexity for the GPAC: length or time+space ◮ Turing machines and GPACs are equivalent for time

complexity

◮ Purely analog and machine-independent characterization

  • f (discrete and real) polynomial time
slide-46
SLIDE 46

Conclusion

◮ Time complexity for the GPAC: length or time+space ◮ Turing machines and GPACs are equivalent for time

complexity

◮ Purely analog and machine-independent characterization

  • f (discrete and real) polynomial time

Perspectives:

◮ Better understanding of time complexity ◮ Space complexity ◮ Nondeterminism ◮ Constants (a.k.a getting rid of π) ◮ Robustness of errors/perturbations

slide-47
SLIDE 47

Bournez, O., Campagnolo, M. L., Graça, D. S., and Hainry,

  • E. (2007).

Polynomial differential equations compute all real computable functions on computable compact intervals. 23(3):317–335. Shannon, C. E. (1941). Mathematical theory of the differential analyser. Journal of Mathematics and Physics MIT, 20:337–354.