Complexity of Polynomial Systems

Post on 05-Jan-2016

47 views 1 download

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 Presentation

Transcript of Complexity of Polynomial Systems

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

=(