complexity of polynomial systems
DESCRIPTION
Complexity of Polynomial Systems. David Pritchard Waterloo URA Seminar May 16, 2007. 3. 2. 1. 0. 0. (. ). b. b. 4. 1. 5. 1. 0. 1. 0. 3. 2. 0. 0. 7. ¡. ¡. +. ¡. +. x. x. y. y. z. x. a. y. z. x. y. a. =. =. =. =. =. =. =. =. ;. ;. ;. ;. ;. ;. :. - PowerPoint PPT PresentationTRANSCRIPT
Complexity of Polynomial Systems
David PritchardWaterloo URA Seminar
May 16, 2007
Preliminaries
• Polynomial equation: any expression using variables, constants, addition/subtraction, multiplication, whole powers, and one “=”
• Polynomial system: multiple equations in a common set of variables. E.g.,
• Solution: a value for each variable, so after substituting, all equations are true. E.g.,
x3 ¡ 4y2 +5= 0; x = yz; 3(x +y)100 = ab
x = ¡ 1;y = 1;z = ¡ 1;a = 0;b= 2007:
Motivation
• Polynomial systems come up all over the place. Want general technique to answer: is there a solution? what is it?
• Special case, e.g.: quadratic formula.• For this talk “general technique”
means “computer program”• Want programs to be fast. Leads us to
talk about computational complexity
Terminology
• Important special case of polynomial is linear: no multiplication/powers of variables allowed. E.g.,
• In high school, learn how to solve 2x2 systems of linear equalities
x +3y = 5; (x +1)y+3z = 5; x2 ¡ x = 0
Game Plan
Real variables, linear
polynomials
Integer variables, linear
polynomialsReal* variables,
arbitrary polynomials
Integer variables, arbitrary
polynomials• Will discuss equalities and inequalities
* or complex
Crash Course in Computational Complexity
• A computer algorithm (program) is polynomial* time (P-time) if its running time on input I is at most
for some choice of constants C1, C2
• Math: “time” = steps on Turing machine. Us: “time” = ms of (say) Java program. Both notions are the same!
C1size(I )C2
* Distinct usage from polynomial system
Real Linear Equality Systems
• Mentioned 2 var, 2 equation case• General strategy: Gaussian Elimination
– solve for one variable x in terms of others– eliminate all occurrences of x– repeat: solve & eliminate another var, etc
• Elimination ever gives “0=1”: no sol'n • Else back-substitute at end, get sol'n
Gaussian Elimination: Time
• Say n vars, m eqns. Input size = n+m• # arithm’c operations to perform one
round of substitution: 2nm• Each round elims a var n rounds• Total operations: 2n2m < 2(input size)3
hence Gaussian elim’n is P-time• (We cheated - coefficient sizes, inter-
mediate expression swell! Still P-time)
Real Linear Inequality Systems
• Related to “linear programs:”maximize f(x, y, …) subject to c1(x, y, …) ≥ 0, c2(x, y, …) ≥ 0,…
where f, c1, c2, …, are linear functions• In fact optimizing is no harder than
solving; use binary search likesolve f(x, y, …) ≥ 10, f(x, y, …) ≤20,
c1(x, y, …) ≥ 0, c2(x, y, …) ≥ 0,…
Linear Program Duality
• Notice (beef=1/2, lamb=1/4, oil=1/4) gives cost $2.75. Is it optimal?
• Yes! Add equations (1)+(2)+0.5*(3):
minimize $3¢beef +$4¢lamb+$1¢oil
s.t. beef + lamb+oil ¸ 1 (1)
beef + lamb¸ 3=4 (2)
2¢beef +4¢lamb¸ 2 (3)
3¢beef +4¢lamb+oil ¸ 1+ 3=4+0:5¢2= 2:75
• We can get a P-time solution, tricky
Scorecard
Real variables, linear polynom’s
P-time
Integer variables, linear
polynom’s
Real variables, any polynomials
Integer variables, any polynomials
[Khachiyan 1972]
Integer Linear Systems
• Application: similar to LP food example, but where can't break units (e.g., scheduling employees)
• Hard! Even in special case where all variables must be 0 or 1
• Naive algorithm: try all possibilities
• n vars: need to try 2n combinations,
not P-time algorithm. Is there one?
What is NP-hardness? (NPh)
• A problem (not algorithm) can be NPh• Doesn’t mean Non-Polynomial — actually
“n” stands for nondeterministic• Yet, accepted evidence that no polynomial
algorithm exists for the problem• Proof: reduce another NPh problem to it.
Many, many problems are known to be NPh• Why evidence? Despite trying, no known P-
time solution to any NPh problem• Suspicion: none exist! (i.e., P != NP)
Integer Linear Programming
• 0-1 integer linear programming is NPh (Karp, 1972)
• Removing “0-1” only makes harder!• Effort still focused on practical
solutions; for NPh problems, “real-life” instances may not be the hardest ones
• E.g., used to solve traveling salesman problem (NPh) on 100000s of cities
• One difficulty: no duality =(
Scorecard
Real variables, linear polynom’s
P-time
Integer variables, linear
polynom’sNP-hard
Real variables, any polynomials
Integer variables, any polynomials
[Khachiyan 1972] [Karp 1972]
Real/Complex Polynomial Systems
• Real vs complex leads to vastly different approaches to solve a polynomial system
• Both are NP-hard! Proof…• Reduce to 0-1 integer linear programming:
– Suppose we can solve real polynomial systems– Then we could solve 0-1 integer linear
programs too: take linear constraints, add constraint x2=x for each variable x
– Increases problem size (#constraints, #vars) by only a little bit (a polynomial amount)
Systems in : Gröbner Bases
• Simplest Q: does a system have sol’n?• Recall: if we can manipulate system’s
equations to get “0=1”, no solution• Basic idea: normalize system so that
we can compute remainders (like mod)• Division by a set of polynomials is
straightforward but can give multiple answers if set is not a Gröbner basis
Sketch of Complex Case
1. Normalize system to a Gröbner basis2. Compute remainder of 1 in radical3. If remainder is 0, there’s no solution;
else remainder is 1, there’s a solution!• Depends on the fact that complex
numbers are algebraically closed• Not as straightforward to numerically
compute a solution
Reals: Cylindrical Algebraic Decomposition
• Idea: polynomial system decomposes Euclidean space into several parts.
• Compute parts recursively: use elimination (resultant) to reduce #vars
y4 ¡ 2y3 + y2 ¡ 3x2y + 2x4 = 0
e.g. from [Arnon, Collins, McCallum 1984]
Reals: Cylindrical Algebraic Decomposition
Decomp’n of R by g:
f (x;y) = y4 ¡ 2y3 + y2 ¡ 3x2y + 2x4
) y-resultant g(x) = 2048x12 ¡ 4608x10 + 37x8 + 12x6
Decomp’n of R2 by f:
Scorecard
Real variables, linear polynom’s
P-time
Integer variables, linear
polynom’sNP-hard
Real variables, any polynomials
NP-hard
Integer variables, any polynomials
[Khachiyan 1972] [Karp 1972]
[Buchberger 1965; Tarski 1930s]
Integer Variables + Polynomials = Diophantine
Equations• 1900, David Hilbert gave 23
problems to the international mathematics congress in Paris
• Problem 10: “Find an algorithm to determine whether a given polynomial Diophantine equation with integer coefficients has an integer solution”
• Exactly what we want to do!
(Different Formulations)
• Whole number variables vs integer variables? Can write one using other:(whole number) – (whole number)
= any integer [obvious](integer)2 + (integer)2 + (integer)2 + (integer)2 = any whole number[Lagrange’s 4-squares theorem]
• Combine multiple eqn’s: {a=b, c=d} (a-b)2+(c-d)2=0
How to Solve Diophantine Eq’ns?
• Can’t just try all possible solutions: if none found, can’t tell when to stop looking.
• Any other technique works?• No!• Matiyasevich, 1970: No computer
program exists that can determine solvability of Diophantine systems
Matiyasevich’s Theorem
• Main contribution: proved anything a computer can do, a Diophantine sys’m can do
• Random e.g.:this system has solutionif and only ifk+2 is prime
0 = wz + h + j - q0 = (gk + 2g + k + 1)(h + j) + h - z0 = 16(k + 1)3(k + 2)(n + 1)2 + 1 - f2
0 = 2n + p + q + z - e0 = e3(e + 2)(a + 1)2 + 1 - o2
0 = (a2 - 1)y2 + 1 – x2
0 = 16r2y4(a2 - 1) + 1 - u2
0 = n + l + v - y0 = (a2 - 1)l2 + 1 - m2
0 = ai + k + 1 - l - i0 = ((a + u2(u2 - a))2 - 1)(n + 4dy)2 + 1 - (x + cu)2
0 = p + l(a - n - 1) + b(2an + 2a - n2 - 2n - 2) - m0 = q + y(a - p - 1) + s(2ap + 2a - p2 - 2p - 2) - x0 = z + pl(a - p) + t(2ap - p2 - 1) - pm
• Halting problem: Is there a computer program which takes other computer programs as input, and outputs whether or not they ever stop?
• Answer: No! Proof: pretty! [not here](Turing, 1936)
• Hence: no program to solve Diophantine systems since (using simulation result) it would solve halting problem
Scorecard
Real variables, linear polynom’s
P-time
Integer variables, linear
polynom’sNP-hard
Real variables, any polynomials
NP-hard
Integer variables, any polynomials
Uncomputable
[Khachiyan 1972] [Karp 1972]
[Tarski 1930s; Buchberger 1965]
[Matiyasevich 1970]
Endgame
• Many linear program solvers exist and simplex method doable by hand
• Many integer LP solvers; can be much slower
• Gröbner bases in Maple and…• CAD in Mathematica and…• Too bad for Diophantus and Hilbert
=(