160 likes | 292 Views
On the complexity of numerical computation. Peter Bro Miltersen , University of Aarhus Joint work with Eric Allender , Peter B ürgisser and Johan Kjeldgaard-Pedersen. The Euclidean TSP. Input : S ½ Z 2 and t 2 Z .
E N D
On the complexity of numerical computation Peter Bro Miltersen, University of Aarhus Joint work with Eric Allender, Peter Bürgisser and Johan Kjeldgaard-Pedersen
The Euclidean TSP • Input: S ½Z2 and t 2Z. • Output: is there a traveling salesman tour through S of length at most t ? • Well known to be NP-complete. • Or is it?
TSP tour length verification Is the tour length · 4000 ? Is (272)1/2 + (50)1/2 + … + (82)1/2· 4000?
Sum of square roots problem • Input: Integers (ci), (mi), i = 1…n. • Output: Is ci (mi)1/2¸ 0? • Best know upper bound is PSPACE.[Borodin, 1982], [Tiwari, 1992] CH [This talk]
[Tiwari, 1992] • If E = ci (mi)1/2 > 0, then E ¸ 2( – s(E)+1) 2n. s(E) is the size of the expression (measured in bits). • We can determine the sign of E by computing E to ¼ s(E) 2n bits of precision. • A Newton-iteration accomplishes this in a polynomial number of iterations. • This yields a PSPACE upper bound. Why?
Blum-Shub-Smale model • A BSS-machine contains memory cells each holding an arbitrary real number. • +, -, *, /, · can be performed with unit cost.
Two versions Input x; y := x1 * ; If y > Chaitin’s constant then … BP(PR) Polynomial time over the reals. BP=Boolean Part: Input {0,1}n, output 0 or 1. Input x; y := x1 * 17; If y > 39 then … BP(PR0) Polynomial time over the reals using integer constants only.
Two versions Input x; y := x1 * ; If y > Chaitin’s constant then … BP(PR) Polynomial time over the reals. BP=Boolean Part: Input {0,1}n, output 0 or 1. Input x; y := x1 *51/2 ; If y > smallest real root of “z5 – 27 z4 + z” then … BP(PR0) Polynomial time over the reals using algebraic constants only. [Chapuis and Koiran, 1999] BP(PR0) µPSPACE [Blum, Shub, Smale, 1989]
Two versions Input x; y := x1 * ; If y > Chaitin’s constant then … BP(PR) Polynomial time over the reals. BP=Boolean Part: Input {0,1}n, output 0 or 1. Input x; y := x1 *51/2 ; If y > smallest real root of “z5 – 27 z4 + z” then … BP(PR0) Polynomial time over the reals using algebraic constants only. [Chapuis and Koiran, 1999] BP(PR0) µCH [This talk]
PosSLPA complete problem for BP(PR0) _ - 4 • Input: (+,-,*) circuit/straight line program with integer inputs. • Output: Does it evaluate to a strictly positive number ? 56 * 4 14 _ + 60 -10 3 17
PosSLP and numerical analysis • Generic problem of numerical computation: Given a (+,-,*,/)-SLP with floating point inputs, determine the output to k bits of precision, k given in unary. • PosSLP is polynomial time (Turing-)equivalent to the generic problem of numerical computation.
Uniform TC0 circuits for Chinese remaindering [Hesse et al, 2002] complete for BP(PC0)=BP(PC) complete for BP(PR0) EquSLP · DegSLP · PosSLP · BitSLP 2CH ' 2 PH[PP[PP]] ACIT “Big number trick ” EquSLP : Given SLP with integer constants as inputs, does it evaluate to 0? In coRP [Schönhage, 1979]. ACIT : Given SLP with integer constants and indeterminates as inputs, is it the zero polynomial? In coRP [Schwartz, 1980] DegSLP : Given d and SLP p with integer constants and indeterminates as input, is the total degree of the polynomial p at most d? BitSLP : Given i and SLP with integer constants as inputs, what is the i’th bit of the binary representation of the output?
Big number trick • To reduce ACIT to EquSLP, replace indeterminate xi with 22i n2.
BitSLP in the counting hierarchy • There is a DLOGTIME-uniform TC0 circuit converting chinese remaindering representation of integers to binary representation [Hesse et al, 2002]. • Apply this circuit to the exponentially big output of the straight line program. • Evaluating a DLOGTIME-uniform TC0 circuit on an exponentially big input is in the counting hierarchy.
Open Problem • Is PosSLP hard for some standard class? PP? NP? complete for BP(PC0) complete for BP(PR0) PP · EquSLP · DegSLP · PosSLP · BitSLP 2CH ' 2 ACIT PH[PP[PP]]
Open Problem • BP(PR0) µPSPACE [Blum, Shub, Smale, 1989]. • BP(PR0) = PPosSLP[easy]. • BP(PR) µPSPACE/poly [Cucker and Grigoriev, 1997]. • PPosSLP/poly µ BP(PR) [easy]. • Conjecture: PPosSLP/poly = BP(PR).