Generalized Linear Programming Jiří Matoušek Charles University, Prague The cool slides in this presentation are included by the courtesy of Tibor Szabó. Linear Programming • Minimize cx subject to Ax b. • Geometry: Minimize a linear function over the intersection of n halfspaces in Rd (=convex polyhedron). LP Algorithms • Simplex method [Dantzig 1947] – very fast in practice – very good “average case” – exponential-time examples for almost all pivot rules • Ellipsoid method [Khachyian], interior-point methods [Karmakar],… – weakly polynomial but no (worst-case) bound in terms of n and d alone Combinatorial LP algorithms • wanted: time f(d,n) for all inputs • computations “coordinate independent”; use only combinatorial structure of the feasible set (polyhedron) or of the arrangement of bounding hyperplanes Combinatorial LP algorithms Computational geometry: research started with d fixed (and small) – [Megiddo] exp(exp(d)).n – [Clarkson] randomization; d2n+dd/2 log n – [Seidel] simple randomized; d! n – [Chazelle, M.] exp(O(d)).n deterministic – parallel [Alon, Megiddo] [Ajtai, Megiddo] A subexponential algorithm Theory of convex polytopes (Hirsch conjecture): [Kalai] 1992 Computational geometry: [Sharir, Welzl], [M., Sharir, Welzl] 1992 exp((d log d)).n (randomized expected) – known as RANDOM FACET : In the current vertex of the feasible polytope, choose a random improving facet, recursively find its optimum, and repeat – still the best known running time! Abstract frameworks • systems of axioms capturing some of the properties of linear programming • running time of algorithms counted in terms of certain primitive operations • to apply to a specific problem, need to implement them … • … and then algorithms become available (such as Kalai/MSW, Clarkson) Abstract frameworks Abstract objective functions [Adler, Saigal 1976], [Wiliamson Hoke 1988], [Kalai 1988] – P a (convex) polytope – f : V(P) → R is an abstract objective function if a local minimum of any face F is also the unique global minimum of F – every generic linear function induces an AOF – but there are nonrealizable AOF on the 3dimensional cube! Abstract frameworks Acyclic Unique Sink Orientations (AUSO) – acyclic orientation of the graph of the considered polytope such that every nonempty face has exactly one sink (sink = all edges incoming) – same as abstract objective functions Abstract frameworks LP-type problems [Sharir, Welzl] – also called Generalized Linear Programs [Amenta] – encompass many geometric optimization problems [MSW,Amenta,Halman…] • smallest enclosing ball of n points in Rd • smallest enclosing ellipsoid of n points in Rd • distance of two (convex) polyhedra in Rd ……… • – plus some non-geometric (games on graphs) LP-type problems • H a finite set of constraints • (W,) a linearly ordered set (such as the reals) • w: 2H W a value function; intuitively: w(G) is the minimum value of a solution attainable under the constraints in G • Axiom M (monotonicity): If F G, then w(F) w(G). • Axiom L (locality): If F G and w(F) = w(G) =w(F{h}), then w(G)=w(G{h}). Example: Smallest enclosing ball • H a finite set of points in the plane • w(G) = radius of the smallest disk containing G e monotonicity trivial a d b c locality depends on uniqeness of the smallest enclosing ball! LP-type problems: more notions • basis for G: inclusion-minimal B G with w(B)=w(G) • dimension d of (H,w): maximum cardinality of a basis • computational primitives (B a given basis) – violation test: value(B{h})>value(B)? – pivoting: compute a basis for B{h} Abstract frameworks Abstract Optimization Problems [Gärtner] – only one parameter: dimension d=|H| (no n) – a linear ordering of 2H – primitive operation: Is G optimal among all sets containing F? If not, give a better G’ – nice randomized algorithm: exp(O(d)) [Gärtner] – allows a (rather) efficient implementation of “primitives” in Kalai/MSW, e.g., for the smallest enclosing ball problem Algorithms in the abstract frameworks • several algorithms (Kalai/MSW = RANDOM FACET; Clarkson) work for AOF’s, same analysis – AUSO given by oracle: returns edge orientations for a given vertex – yields n.exp(O(d)) randomized algorithm – analysis tight in this abstract setting [M.] • for LP-type problems they work too (but…) – O(n) algorithms for fixed d usually immediate – but primitives “depend on d” … may be hard – sometimes Gärtner’s algorithm helps Algorithms in the abstract frameworks RANDOM EDGE • the simplex algorithm that selects an improving edge uniformly at random • for AUSO: random outgoing edge • great expectations: perhaps always quadratic??? [Williamson Hoke 1988] RANDOM EDGE Expected running time – on the d-dimensional simplex: (log d) [Liebling] – on d-dimensional polytopes with d+2 facets: (log2d) [Gärtner et al. 2001] – on the d-dimensional Klee-Minty cube: • O(d2) Williamson Hoke (1988) • (d2/log d) Gärtner, Henk, Ziegler (1995) • (d2) Balogh, Pemantle (2004) RANDOM EDGE can be (mildly) exponential There exists an AUSO of the d-dimensional cube such that RANDOM EDGE, started at a random vertex, makes at least exp(c.d1/3) steps before reaching the sink, with probability at least 1- exp(-c.d1/3). [M., Szabó, FOCS 2004] The Klee-Minty cube reversed KMm-1 KMm KMm-1 A blowup construction Hypersink reorientation A simpler construction Let A be a d-dimensional cube on which RANDOM EDGE is slow (constructed recursively) – take the blowup of A with random KMm‘s whose sink is in the same copy of A, m=d – reorient the hypersink by placing a random copy of A – thus, a step from d to d+d A simpler construction A A A rand A A typical RANDOM EDGE move v • Move in the frame: – RANDOM EDGE move in KMm – stay put in A A • Move within a hypervertex: – RANDOM EDGE move in A – move to a random vertex of KMm on the same level A A rand A Random walk with reshuffles on KMm RANDOM EDGE on A Walk with reshuffles on KMm • Start at a random v(0) of KMm • v(i) is chosen as follows: – with probability pi,step make a step of RANDOM EDGE from v(i-1); – with probability pi,resh randomly permute (reshuffle) the coordinates of v(i-1) to obtain v(i) – with probability 1- pi,step - pi,resh, v(i) = v(i-1). Walk with reshuffles on KMm is slow Proposition. Suppose that min pi ,resh 11 max pi , step m Then with probability at least 1 e the random walk with reshuffles makes m at least e steps (α and β are constants). Reaching the hypersink • • Either we reach the sink by reaching the sink of a copy of A and then perform RANDOM EDGE on KMm. This takes at least T(d) time. Or we reach the hypersink without entering the sink of any copy of A. That is, the random walk with reshuffles reaches the sink of KMm . This takes at least exp(m) T(d) time. The recursion • • • RANDOM EDGE arrives to the hypersink at a random vertex. Then it needs T(d) more steps. So passing from dimension d to d+d the expected running time of RANDOM EDGE doubles. Iterating d - times gives T(2d) 2d T(d). In order to guarantee that reshuffles are frequent enough we need a more complicated construction and that is why we are only able to prove a running time of exp(c.d1/3). Open questions • Obtain any reasonable upper bound on the running time of RANDOM EDGE • Can one modify the construction such that the cube is realizable? (Probably not …) • Or at least it satisfies the Holt-Klee condition? • Or at least each three-dimensional subcube satisfies the Holt-Klee condition? More open questions • Find an algorithm for AOF on the d-cube better than exp(d) • The model of unique sink orientations of cubes (possibly with cycles) include LP on an arbitrary polytope. Find a subexponential algorithm! THE END