SLIDE 1
Polynomial Time corresponds to Solutions of Polynomial Ordinary - - PowerPoint PPT Presentation
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 2
SLIDE 3
Digital vs analog computers
SLIDE 4
Digital vs analog computers
VS
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
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
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
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
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
Examples of GPAC
Exponential:
- y(t)
- y =
- y
- y(t) = exp(t)
SLIDE 11
Examples of GPAC
Exponential:
- y(t)
- y′ = y
- y(t) = exp(t)
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
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
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
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
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
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
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
Different kinds of equivalence
Theorem (Bournez et al) The GPAC is equivalent to Turing machines for computability.
◮ Computability: compute the same functions
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
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
Time complexity for continuous systems
◮ Turing machines: T(x) = number of steps to compute on x
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
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
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
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
Time-space correlation of the GPAC
y(0) = q(x) y′ = p(y) t
f(x) q(x) y1(t)
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
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
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
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
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
Characterization of Turing polynomial time
Definition: L ⊆ {0, 1}∗ is polytime-recognizable iff for all w:
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
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
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
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
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
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
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
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
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
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
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
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
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
Bournez, O., Campagnolo, M. L., Graça, D. S., and Hainry,
- E. (2007).