SLIDE 1 Computing Rational Radical Sums in Uniform TC0
Paul Hunter2, Patricia Bouyer-Decitre1, Nicolas Markey1, Jo¨ el Ouaknine2, James Worrell2
1
LSV, CNRS & ENS Cachan, France
2
OUCL, Oxford, UK
December 13, 2010
SLIDE 2 Computing Arithmetic Expressions
Problem
How to efficiently compute arithmetic expressions? Decision problem or function problem?
Is the result less than a given value? Does the result equal a given value? Is the result zero?
What does efficiently mean?
Obviously, elementary operations (in floating-point arithmetic
- r over the rationals) can be computed in polynomial time;
The problem becomes harder when e.g. radicals come into play; On the theoretical point of view, what is the exact complexity
SLIDE 3
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4
SLIDE 4
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗
SLIDE 5
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗ ⊗ ∧
SLIDE 6
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗ ⊗ ∧ ⊗ ∧ ∨ ∧ ∨
SLIDE 7
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗ ⊗ ∧ ⊗ ∧ ∨ ∧ ∨ ⊗ ∧ ∨ ∧ ∧ ∨
SLIDE 8
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗ ⊗ ∧ ⊗ ∧ ∨ ∧ ∨ ⊗ ∧ ∨ ∧ ∧ ∨ ⊗ ∧ ∨ ∨ ∨ ∧ ∧ ∧ ∨
SLIDE 9
Example: addition of two integers
Example
Addition of two n-bit integers can be computed by circuits: a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗ ⊗ ∧ ⊗ ∧ ∨ ∧ ∨ ⊗ ∧ ∨ ∧ ∧ ∨ ⊗ ∧ ∨ ∨ ∨ ∧ ∧ ∧ ∨
SLIDE 10
Square-root-sum and related problems
Geometric problems:
Euclidean Traveling Salesman Problem: compare √ 5 + √ 18 with √ 10 + √ 13.
SLIDE 11
Square-root-sum and related problems
Geometric problems:
Euclidean Traveling Salesman Problem: compare √ 5 + √ 18 with √ 10 + √ 13. Euclidean Minimum Spanning Tree Problem.
SLIDE 12 Square-root-sum and related problems
Geometric problems:
Euclidean Traveling Salesman Problem: compare √ 5 + √ 18 with √ 10 + √ 13. Euclidean Minimum Spanning Tree Problem.
Quoting David Eppstein:
It is not known on Turing machines how to quickly compare a sum
- f distances (square roots of integers) with an integer or other
similar sums, so even (decision versions of) easy problems such as the minimum spanning tree are not known to be in NP.
SLIDE 13
Square-root-sum and related problems
Geometric problems:
Euclidean Traveling Salesman Problem: compare √ 5 + √ 18 with √ 10 + √ 13. Euclidean Minimum Spanning Tree Problem.
Recently, the “square-root-sum” problem has been reduced to problems in probabilistic systems and games [EY07,HMS10]:
probability of reachability in Recursive Markov Chains; approximation of Nash equilibria in Shapley’s games.
SLIDE 14 Square-root-sum problem
Definition (Square-root-sum problem)
Given naturals A1, . . . , An and A, decide whether
For instance, √ 518 + √ 855 = 51.9999963 · · · √ 457 + √ 763 = 49.0000129 · · ·
Theorem ([ABKM06])
The square-root-sum problem is in PPPPPPP ⊆ CH ⊆ PSPACE.
SLIDE 15 Radical-sum-eq problem
Definition (Radical-sum-eq problem)
Given rationals (Ai)i∈I, (Bi)i∈I and (Ci)i∈I with 0 ≤ Bi and 0 ≤ Ai ≤ 1, decide whether
Ci · BAi
i
= 0.
SLIDE 16 Radical-sum-eq problem
Definition (Radical-sum-eq problem)
Given rationals (Ai)i∈I, (Bi)i∈I and (Ci)i∈I with 0 ≤ Bi and 0 ≤ Ai ≤ 1, decide whether
Ci · BAi
i
= 0.
Quoting Chee Yap
Whether or not we can decide zero determines whether or not we can compute correctly.
SLIDE 17 Radical-sum-eq problem
Definition (Radical-sum-eq problem)
Given rationals (Ai)i∈I, (Bi)i∈I and (Ci)i∈I with 0 ≤ Bi and 0 ≤ Ai ≤ 1, decide whether
Ci · BAi
i
= 0.
Theorem ([Bl¨
Radical-sum-eq is in PTIME.
SLIDE 18 Radical-sum-eq problem
Definition (Radical-sum-eq problem)
Given rationals (Ai)i∈I, (Bi)i∈I and (Ci)i∈I with 0 ≤ Bi and 0 ≤ Ai ≤ 1, decide whether
Ci · BAi
i
= 0.
Theorem ([Bl¨
Radical-sum-eq is in PTIME.
Our result
Radical-sum-eq is in uniform-TC0.
SLIDE 19
Outline of the talk
1
Introduction
2
Circuit Complexity
3
RadicalSumEq is in uniform TC0
4
Conclusions
SLIDE 20
Outline of the talk
1
Introduction
2
Circuit Complexity
3
RadicalSumEq is in uniform TC0
4
Conclusions
SLIDE 21
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
SLIDE 22
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
Several parameters
“height” of the circuit: input (size n) height = logi(n)
SLIDE 23
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
Several parameters
“height” of the circuit: boolean gates:
¬ ∨ ∧ ∨ ∧ maj
SLIDE 24
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
Several parameters
“height” of the circuit: boolean gates:
NCi ¬ ∨ ∧ ∨ ∧ maj
SLIDE 25
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
Several parameters
“height” of the circuit: boolean gates:
ACi NCi ¬ ∨ ∧ ∨ ∧ maj
SLIDE 26
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
Several parameters
“height” of the circuit: boolean gates:
TCi ACi NCi ¬ ∨ ∧ ∨ ∧ maj
SLIDE 27
Computing with circuits
Circuit complexity
Complexity classes within PTIME: build a boolean circuit depending only on the size of the input; compute the values of the output gates (in parallel).
Several parameters
“height” of the circuit: boolean gates: “computational power” to build the circuit: Turing machine for computing circuit Ck:
polynomial time can be relevant; logarithmic space is often used; logarithmic time is especially interesting for smaller classes (AC0, TC0,...).
SLIDE 28
Circuit complexity classes
Addition is in (DLOGTIME-uniform) AC0.
a0 b0 s0 a1 b1 s1 a2 b2 s2 a3 b3 s3 s4 ⊗ ⊗ ∧ ⊗ ∧ ∨ ∧ ∨ ⊗ ∧ ∨ ∧ ∧ ∨ ⊗ ∧ ∨ ∨ ∨ ∧ ∧ ∧ ∨
SLIDE 29
Circuit complexity classes
Addition is in (DLOGTIME-uniform) AC0. The following problems are in (DLOGTIME-uniform) TC0:
Iterated addition (adding n n-bit integers); Multiplication (of two n-bit integers); Iterated multiplication (multiplying n n-bit numbers); Division (integer division of two n-bit numbers).
SLIDE 30 Circuit complexity classes
Addition is in (DLOGTIME-uniform) AC0. The following problems are in (DLOGTIME-uniform) TC0:
Iterated addition (adding n n-bit integers); Multiplication (of two n-bit integers); Iterated multiplication (multiplying n n-bit numbers); Division (integer division of two n-bit numbers).
The following problems are not known to be in TC0:
Greatest common divisor Iterative methods (e.g. Newton’s method for computing
n
√ A)
SLIDE 31 Circuit complexity classes
Addition is in (DLOGTIME-uniform) AC0. The following problems are in (DLOGTIME-uniform) TC0:
Iterated addition (adding n n-bit integers); Multiplication (of two n-bit integers); Iterated multiplication (multiplying n n-bit numbers); Division (integer division of two n-bit numbers).
The following problems are not known to be in TC0:
Greatest common divisor Iterative methods (e.g. Newton’s method for computing
n
√ A)
Theorem
NCi ⊆ ACi ⊆ TCi ⊆ NCi+1 ⊆ PTIME for all i.
Theorem
NC1 ⊆ LOGSPACE ⊆ NLOGSPACE ⊆ AC1.
SLIDE 32
Outline of the talk
1
Introduction
2
Circuit Complexity
3
RadicalSumEq is in uniform TC0
4
Conclusions
SLIDE 33 Bl¨
Lemma ([Bl¨
Let (Ai)i∈I and (Bi)i∈I be two finite sequence of positive rational
- numbers. The radicals B1A1, . . . , BnAn are linearly independent
- ver ℚ if they are pairwise linearly independant.
SLIDE 34 Bl¨
Lemma ([Bl¨
Let (Ai)i∈I and (Bi)i∈I be two finite sequence of positive rational
- numbers. The radicals B1A1, . . . , BnAn are linearly independent
- ver ℚ if they are pairwise linearly independant.
Algorithm
C1·BA1
1
C3·BA3
3
C5·BA5
5
C2·BA2
2
C4·BA4
4
C6·BA6
6
SLIDE 35 Bl¨
Lemma ([Bl¨
Let (Ai)i∈I and (Bi)i∈I be two finite sequence of positive rational
- numbers. The radicals B1A1, . . . , BnAn are linearly independent
- ver ℚ if they are pairwise linearly independant.
Algorithm
C1·BA1
1
C3·BA3
3
C5·BA5
5
C2·BA2
2
C4·BA4
4
C6·BA6
6
Partition input terms into linearly dependent groups;
SLIDE 36 Bl¨
Lemma ([Bl¨
Let (Ai)i∈I and (Bi)i∈I be two finite sequence of positive rational
- numbers. The radicals B1A1, . . . , BnAn are linearly independent
- ver ℚ if they are pairwise linearly independant.
Algorithm
C1·BA1
1
C3·BA3
3
C5·BA5
5
C2·R1,2·BA1
1
C4·R3,4·BA3
3
C6·R3,6·BA3
3
In each group, rewrite terms with a common radical;
SLIDE 37 Bl¨
Lemma ([Bl¨
Let (Ai)i∈I and (Bi)i∈I be two finite sequence of positive rational
- numbers. The radicals B1A1, . . . , BnAn are linearly independent
- ver ℚ if they are pairwise linearly independant.
Algorithm
C1·BA1
1
C3·BA3
3
C5·BA5
5
C2·R1,2·BA1
1
C4·R3,4·BA3
3
C6·R3,6·BA3
3
Check for zero in each group.
SLIDE 38
How to do it in uniform TC0
Lemma
The following problems are in DLOGTIME-uniform TC0:
SLIDE 39
How to do it in uniform TC0
Lemma
The following problems are in DLOGTIME-uniform TC0: for integers a < n and B < 2n, compute nO(1) bits of B1/a;
approximation by power series [MT99,HAB02].
SLIDE 40 How to do it in uniform TC0
Lemma
The following problems are in DLOGTIME-uniform TC0: for integers a < n and B < 2n, compute nO(1) bits of B1/a; for integers a < n and B < 2n, compute
a
√ B if in ℕ:
compute an integer approximation R of B1/a; check whether (R − 1)a, Ra or (R + 1)a equals B.
SLIDE 41 How to do it in uniform TC0
Lemma
The following problems are in DLOGTIME-uniform TC0: for integers a < n and B < 2n, compute nO(1) bits of B1/a; for integers a < n and B < 2n, compute
a
√ B if in ℕ: for integer A and rational B = M/N, compute
A
√ B if in ℚ:
Lemma
If
A
√ B ∈ ℚ, then A is “small” (less than 1 + log(M · N)).
compute C =
A
√ M · NA−1; if it is in ℕ, return C/N.
SLIDE 42 How to do it in uniform TC0
Lemma
The following problems are in DLOGTIME-uniform TC0: for integers a < n and B < 2n, compute nO(1) bits of B1/a; for integers a < n and B < 2n, compute
a
√ B if in ℕ: for integer A and rational B = M/N, compute
A
√ B if in ℚ: for A, A′ ∈ ℤ, B, B′ ∈ ℚ>0, compute S =
A
√ B
A′
√ B′ if in ℚ:
Lemma
If
A
√ B
A′
√ B′ is in ℚ, then
either B and B′ are powers of the same rational,
SLIDE 43 How to do it in uniform TC0
Lemma
The following problems are in DLOGTIME-uniform TC0: for integers a < n and B < 2n, compute nO(1) bits of B1/a; for integers a < n and B < 2n, compute
a
√ B if in ℕ: for integer A and rational B = M/N, compute
A
√ B if in ℚ: for A, A′ ∈ ℤ, B, B′ ∈ ℚ>0, compute S =
A
√ B
A′
√ B′ if in ℚ:
Lemma
S ∈ ℚ iff, writing D = gcd(A, A′), it holds
R =
A
√ BD is in ℚ; R′ =
A′
√ B′D is in ℚ; S =
D
SLIDE 44
Outline of the talk
1
Introduction
2
Circuit Complexity
3
RadicalSumEq is in uniform TC0
4
Conclusions
SLIDE 45 Conclusions
Radical-Sum-Eq is in DLOGTIME-uniform TC0:
careful implementation of Bl¨
very low complexity class, while the problem looks difficult;
Unfortunately, this does not give much insight on the square-root-sum problem or other geometrical prolems.