Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Linear Programming and Smoothed Complexity Richard Kelley.

Similar presentations


Presentation on theme: " Linear Programming and Smoothed Complexity Richard Kelley."— Presentation transcript:

1  Linear Programming and Smoothed Complexity Richard Kelley

2 The Nevanlinna Prize  Has anyone heard of the Nevanlinna prize?  What about the Fields Medal?  Godel prize?

3 About the prize  Awarded at the International Congress of Mathematicians.  Once every 4 years.  You have to be younger than 40.  Awarded for outstanding contributions in “information sciences”  Mathematical aspects of computer science  Scientific computing, optimization, and computer algebra.

4 2010 Winner  Daniel Spielman  Professor of computer science at Yale.  Spielman showed how to combine worst-case complexity analysis with average-case complexity analysis.  The result is called “smoothed analysis.”  Spielman used smoothed analysis to show that linear programming is “basically” a polynomial-time algorithm.

5 Worst-Case Thinking  Think of this as a two-player game.  One player presents an algorithm.  The other player, the adversary, selects an input to the algorithm.  The adversary wants the algorithm to run slowly.  The worst-case complexity is the running time of the algorithm on an input chosen by the best possible adversary.

6 Average-Case Thinking  Also a game, but against a cold and indifferent Nature.  Player one presents an algorithm.  Nature chooses an input. At random.  What should “random” mean?  Because the input is random, the running time becomes a random variable.  The expected value of this random variable is the average-case complexity.

7 Can we do better?  Yes!  Combine the two!  Let’s pick up some background motivation first…

8 Linear Programming  A form of constrained optimization.  Common in the real world.  You want to maximize a linear function.  You have a set of linear constraints.  Your variables are required to be nonnegative.  Important in the history of computer science.  Developed during WWII for Army planning.  State secret until 1947.

9 For Example… max 3x + 5y Subject to 5x + 7.2y <= 4 x + y <= 8 x, y >= 0

10 And in general

11 Linear Programming Geometry

12 Problems that reduce to linear programming  Economics  Utility maximization, cost minimization, profit maximization, game theory (Nash equilibria).  Graph Theory  Matching  Connectivity  Graph coloring  Maximum flows  Minimum cuts  Spanning trees  Scheduling and allocation.  Geometry (Convex Polytopes)  Sorting!!  Linear programming is “P-complete”

13 Example: Sorting  How is this an optimization problem?  The biggest element in the array should have the biggest index.  The second biggest element should have the second biggest index.  Etc.  How is this a constrained optimization problem?  No element should be duplicated (assuming unique elements).  No index should contain more than one element.

14 Sorting: The Linear Program

15 Solving Linear Programs  Even though we’re working in a continuous space, this is a discrete problem.  Why?  The basic idea is to walk along the vertices of the feasible region, climbing to vertices that have better and better values for the objective function.

16 The Simplex Algorithm  Start at some point the feasible region.  The vertex consisting of all 0’s usually works.  Look at all the neighboring vertices, find one with a higher objective function value.  Involves keeping track of a set of “basis variables”  Variables go in and out of the basis depending on whether or not they make the objective function bigger.  Repeat until you can’t improve the objective value any more.  “Easy” to show that you’re done.

17 More Geometry

18 Complexity?  How should we talk about the “size” of an instance of the linear programming problem?  Any guesses how long it should take to run the simplex algorithm?  Usually, it’s pretty quick.  With n variables and m constraints, it takes about 2 m iterations  In theory, this is a O(2^n) algorithm.  Not a typo.  This is a perfect example of the difference between theory and practice!

19 Worst Case  We want to force the simplex algorithm to look at exponentially many vertices before finding the best one.  The trick is to use a (hyper-)cube.

20 Worst Case: Klee-Minty

21 The “Real World”  Huge LPs are solved all the time.  And the simplex algorithm is usually linear.  This is one of the only exponential algorithms that is used widely in practice.

22 Longstanding Open Problem  For a long time, nobody had a clue.  The solution was pretty much worked out by 2005.

23 The Solution  Smoothed Analysis.  Start with a arbitrarily chosen input  Could be from the adversary.  “Shake it” a little bit.  The analysis then depends on the size of the input and the magnitude of the shaking.  The idea is that an algorithm with a low smoothed complexity is “almost always” well-behaved.

24 In Symbols

25 Graphically – Worst case Complexity

26 Smoothed Analysis

27  Questions?


Download ppt " Linear Programming and Smoothed Complexity Richard Kelley."

Similar presentations


Ads by Google