8 Pages

18j-simplex

Course: 942 cs, Spring 2009
School: UIllinois
Rating:
 
 
 
 
 

Word Count: 3449

Document Preview

J: Algorithms Non-Lecture Linear Programming Algorithms Simplicibus itaque verbis gaudet Mathematica Veritas, cum etiam per se simplex sit Veritatis oratio. [And thus Mathematical Truth prefers simple words, because the language of Truth is itself simple.] Tycho Brahe (quoting Seneca (quoting Euripides)) Epistolarum astronomicarum liber primus (1596) When a jar is broken, the space that was inside Merges into...

Register Now

Unformatted Document Excerpt

Coursehero >> Illinois >> UIllinois >> 942 cs

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
J: Algorithms Non-Lecture Linear Programming Algorithms Simplicibus itaque verbis gaudet Mathematica Veritas, cum etiam per se simplex sit Veritatis oratio. [And thus Mathematical Truth prefers simple words, because the language of Truth is itself simple.] Tycho Brahe (quoting Seneca (quoting Euripides)) Epistolarum astronomicarum liber primus (1596) When a jar is broken, the space that was inside Merges into the space outside. In the same way, my mind has merged in God; To me, there appears no duality. Sankara, Viveka-Chudamani (c. 700), translator unknown J Linear Programming Algorithms In this lecture, well see a few algorithms for actually solving linear programming problems. The most famous of these, the simplex method, was proposed by George Dantzig in 1947. Although most variants of the simplex algorithm performs well in practice, no simplex variant is known to run in sub-exponential time in the worst case. However, if the dimension of the problem is considered a constant, there are several linear programming algorithms that run in linear time. Ill describe a particularly simple randomized algorithm due to Raimund Seidel. My approach to describing these algorithms will rely much more heavily on geometric intuition than the usual linear-algebraic formalism. This works better for me, but your mileage may vary. For a more traditional description of the simplex algorithm, see Robert Vanderbeis excellent textbook Linear Programming: Foundations and Extensions [Springer, 2001], which can be freely downloaded (but not legally printed) from the authors website. J.1 Bases, Feasibility, and Local Optimality Consider the canonical linear program max{c x | Ax b, x 0}, where A is an n d constraint matrix, b is an n-dimensional coefcient vector, and c is a d -dimensional objective vector. We will interpret this linear program geometrically as looking for the lowest point in a convex polyhedron in IRd , described as the intersection of n + d halfspaces. As in the last lecture, we will consider only non-degenerate linear programs: Every subset of d constraint hyperplanes intersects in a single point; at most d constraint hyperplanes pass through any point; and objective vector is linearly independent from any d 1 constraint vectors. A basis is a subset of d constraints, which by our non-degeneracy assumption must be linearly independent. The location of a basis is the unique point x that satises all d constraints with equality; geometrically, x is the unique intersection point of the d hyperplanes. The value of a basis is c x , n+d where x is the location of the basis. There are precisely d bases. Geometrically, the set of constraint hyperplanes denes a decomposition of IRd into convex polyhedra; this cell decomposition is called the arrangement of the hyperplanes. Every subset of d hyperplanes (that is, every basis) denes a vertex of this arrangement (the location of the basis). I will use the words vertex and basis interchangeably. A basis is feasible if its location x satises all the linear constraints, or geometrically, if the point x is a vertex of the polyhedron. If there are no feasible bases, the linear program is infeasible. A basis is locally optimal if its location x is the optimal solution to the linear program with the same objective function and only the constraints in the basis. Geometrically, a basis is locally optimal if its location x is the lowest point in the intersection of those d halfspaces. A careful reading of the proof of the Strong Duality Theorem reveals that local optimality is the dual equivalent of feasibility; a basis is locally feasible for a linear program if and only if the same basis is feasible for the dual linear 1 Algorithms Non-Lecture J: Linear Programming Algorithms program . For this reason, locally optimal bases are sometimes also called dual feasible. If there are no locally optimal bases, the linear program is unbounded.1 Two bases are neighbors if they have d 1 constraints in common. Equivalently, in geometric terms, two vertices are neighbors if they lie on a line determined by some d 1 constraint hyperplanes. Every basis is a neighbor of exactly d n other bases; to change a basis into one of its neighbors, there are d choices for which constraint to remove and n choices for which constraint to add. The graph of vertices and edges on the boundary of the feasible polyhedron is a subgraph of the basis graph. The Weak Duality Theorem implies that the value of every feasible basis is less than or equal to the value of every locally optimal basis; equivalently, every feasible vertex is higher than every locally optimal vertex. The Strong Duality Theorem implies that (under our non-degeneracy assumption), if a linear program has an optimal solution, it is the unique vertex that is both feasible and locally optimal. Moreover, the optimal solution is both the lowest feasible vertex and the highest locally optimal vertex. J.2 The Primal Simplex Algorithm: Falling Marbles From a geometric standpoint, Dantzigs simplex algorithm is very simple. The input is a set H of halfspaces; we want the lowest vertex in the intersection of these halfspaces. SIMPLEX1(H ): if H = return INFEASIBLE x any feasible vertex while x is not locally optimal pivot downward, maintaining feasibility if every feasible neighbor of x is higher than x return UNBOUNDED else x any feasible neighbor of x that is lower than x return x Lets ignore the rst three lines for the moment. The algorithm maintains a feasible vertex x . At each so-called pivot operation, the algorithm moves to a lower vertex, so the algorithm never visits the same n+d vertex more than once. Thus, the algorithm must halt after at most d pivots. When the algorithm halts, either the feasible vertex x is locally optimal, and therefore the optimum vertex, or the feasible vertex x is not locally optimal but has no lower feasible neighbor, in which case the feasible region must be unbounded. Notice that we have not specied which neighbor to choose at each pivot. Several different pivoting rules have been proposed, but for almost every known pivot rule, there is an input polyhedron that requires an exponential number of pivots under that rule. No pivoting rule is known that guarantees a polynomial number of pivots in the worst case.2 J.3 The Dual Simplex Algorithm: Rising Bubbles We can also geometrically interpret the execution of the simplex algorithm on the dual linear program . Again, the input is a set H of halfspaces, and we want the lowest vertex in the intersection of these For non-degenerate linear programs, the feasible region is unbounded in the objective direction if and only if no basis is locally optimal. However, there are degenerate linear programs with no locally optimal basis that are infeasible. 2 In 1957, Hirsch conjectured that for any linear programming instance with d variables and n + d constraints, starting at any feasible basis, there is a sequence of at most n pivots that leads to the optimal basis. Hirschs conjecture is still open 50 years later; no counterexamples have ever been found, but no proof is known except in a few special cases. Truly our ignorance is unbounded (or at least dual infeasible). 1 2 Algorithms Non-Lecture J: Linear Programming Algorithms halfspaces. By the Strong Duality Theorem, this is the same as the highest locally-optimal vertex in the hyperplane arrangement. SIMPLEX2(H ): if there is no locally optimal vertex return UNBOUNDED x any locally optimal vertex while x is not feasbile pivot upward, maintaining local optimality if every locally optimal neighbor of x is lower than x return INFEASIBLE else x any locally-optimal neighbor of x that is higher than x return x Lets ignore the rst three lines for the moment. The algorithm maintains a locally optimal vertex x . At each pivot operation, it moves to a higher vertex, so the algorithm never visits the same vertex more n+d than once. Thus, the algorithm must halt after at most d pivots. When the algorithm halts, either the locally optimal vertex x is feasible, and therefore the optimum vertex, or the locally optimal vertex x is not feasible but has no higher locally optimal neighbor, in which case the problem must be infeasible. The primal simplex (falling marble) algorithm in action. The dual simplex (rising bubble) algorithm in action. From the standpoint of linear algebra, there is absolutely no difference between running SIMPLEX1 on any linear program and running SIMPLEX2 on the dual linear program . The actual code is identical. The only difference between the two algorithms is how we interpret the linear algebra geometrically. J.4 Computing the Initial Basis To complete our description of the simplex algorithm, we need to describe how to nd the initial vertex x . Our algorithm relies on the following simple observations. First, the feasibility of a vertex does not depend at all on the choice of objective vector; a vertex is either feasible for every objective function or for none. No matter how we rotate the polyhedron, every feasible vertex stays feasible. Conversely (or by duality, equivalently), the local optimality of a vertex does not depend on the exact location of the d hyperplanes, but only on their normal directions and the objective function. No matter how we translate the hyperplanes, every locally optimal vertex stays 3 Algorithms Non-Lecture J: Linear Programming Algorithms locally optimal. In terms of the original matrix formulation, feasibility depends on A and b but not c , and local optimality depends on A and c but not b. The second important observation is that every basis is locally optimal for some objective function. Specically, it sufces to choose any vector that has a positive inner product with each of the normal vectors of the d chosen hyperplanes. Equivalently, can we make any basis feasible by translating the hyperplanes appropriately. Specically, it sufces to translate the chosen d hyperplanes so that they pass through the origin, and then translate all the other halfspaces so that they strictly contain the origin. Our strategy for nding our initial feasible vertex is to choose any vertex, choose a new objective function that makes that vertex locally optimal, and then nd the optimal vertex for that objective function by running the (dual) simplex algorithm. This vertex must be feasible, even after we restore the original objective function! (a) (b) (c) (a) Choose any basis. (b) Rotate objective to make it locally optimal, and pivot upward to nd a feasible basis. (c) Pivot downward to the optimum basis for the original objective. Equivalently, to nd an initial locally optimal vertex, we choose any vertex, translate the hyperplanes so that that vertex becomes feasible, and then nd the optimal vertex for those translated constraints using the (primal) simplex algorithm. This vertex must be locally optimal, even after we restore the hyperplanes to their original locations! (a) (b) (c) (a) Choose any basis. (b) Translate constraints to make it feasible, and pivot downward to nd a locally optimal basis. (c) Pivot upward to the optimum basis for the original constraints. 4 Algorithms Non-Lecture J: Linear Programming Algorithms Here are more complete descriptions of the simplex algorithm with this initialization rule, in both primal and dual forms. As usual, the input is a set H of halfspaces, and the algorithms either return the lowest vertex in the intersection of these halfspaces or report that no such vertex exists. SIMPLEX1(H ): x any vertex H any rotation of H that makes x locally optimal while x is not feasible if every locally optimal neighbor of x is lower (wrt H ) than x return INFEASIBLE else x any locally optimal neighbor of x that is higher (wrt H ) than x while x is not locally optimal if every feasible neighbor of x is higher than x return UNBOUNDED else x any feasible neighbor of x that is lower than x return x SIMPLEX2(H ): x any vertex H any translation of H that makes x feasible while x is not locally optimal if every feasible neighbor of x is higher (wrt H ) than x return UNBOUNDED else x any feasible neighbor of x that is lower (wrt H ) than x while x is not feasible if every locally optimal neighbor of x is lower than x return INFEASIBLE else x any locally-optimal neighbor of x that is higher than x return x J.5 Linear Expected Time for Fixed Dimensions In most geometric applications of linear programming, the number of variables is a small constant, but the number of constraints may still be very large. The input to the following algorithm is a set H of n halfspaces and a set B of b hyperplanes. (B stands for basis.) The algorithm returns the lowest point in the intersection of the halfspaces in H and the hyperplanes B . At the top level of recursion, B is empty. I will implicitly assume that the linear program is both feasible and bounded. (If necessary, we can guarantee boundedness by adding a single halfspace to H , and we can guarantee feasibility by adding a dimension.) A point x violates a constraint h if it is not contained in the corresponding halfspace. 5 Algorithms SEIDELLP(H , B ) : if |B | = d return B Non-Lecture J: Linear Programming Algorithms if |H B | = d return (H B ) h random element of H x SEIDELLP(H \ h, B ) () if x violates h return SEIDELLP(H \ h, B h) else return x The point x recursively computed in line () is the optimal solution if and only if the random halfspace h is not one of the d halfspaces that dene the optimal solution. In other words, the probability of calling SEIDELLP(H , B h) is exactly (d b)/n. Thus, we have the following recurrence for the expected number of recursive calls for this algorithm: if b = d or n + b = d 1 T ( n, b ) = db T (n 1, b + 1) otherwise T (n 1, b) + n The recurrence is somewhat simpler if we write = d b: if = 0 or n = 1 T ( n, ) = T (n 1, ) + T (n 1, 1) otherwise n Its easy to prove by induction that T (n, ) = O(! n): T (n, ) = T (n 1, ) + ! ( n 1) + n n T (n 1, 1) [induction hypothesis] ( 1)! (n 1) n1 n = ! ( n 1) + ! ! n At the top level of recursion, we perform one violation test in O(d ) time. In each of the base cases, we spend O(d 3 ) time computing the intersection point of d hyperplanes, and in the rst base case, we spend O(d n) additional time testing for violations. More careful analysis implies that the algorithm runs in O (d ! n ) expected time. Exercises 1. Fix a non-degenerate linear program in canonical form with d variables and n + d constraints. (a) Prove that every feasible basis has exactly d feasible neighbors. (b) Prove that every locally optimal basis has exactly n locally optimal neighbors. 6 Algorithms Non-Lecture J: Linear Programming Algorithms 2. Suppose you have a subroutine that can solve linear programs in polynomial time, but only if they are both feasible and bounded. Describe an algorithm that solves arbitrary linear programs in polynomial time. Your algorithm should return an optimal solution if one exists; if no optimum exists, your algorithm should report that the input instance is UNBOUNDED or INFEASIBLE, whichever is appropriate. [Hint: Add one variable and one constraint.] 3. (a) Give an example of a non-empty polyhedron Ax b that is unbounded for every objective vector c . (b) Give an example of an infeasible linear program whose dual is also infeasible. In both cases, your linear program will be degenerate. 4. Describe and analyze an algorithm that solves the following problem in O(n) time: Given n red points and n blue points in the plane, either nd a line that separates every red point from every blue point, or prove that no such line exists. 5. The single-source shortest path problem can be formulated as a linear programming problem, with one variable d v for each vertex v = s in the input graph, as follows: maximize subject to v dv dv s v u v for every edge s v for every edge u v with u = s for every vertex v = s d v du dv 0 This problem asks you to describe the behavior of the simplex algorithm on this linear program in terms of distances. Assume that the edge weights u v are all non-negative and that there is a unique shortest path between any two vertices in the graph. (a) What is a basis for this linear program? What is a feasible basis? What is a locally optimal basis? (b) Show that in the optimal basis, every variable d v is equal to the shortest-path distance from s to v . (c) Describe the primal simplex algorithm for the shortest-path linear program directly in terms of vertex distances. In particular, what does it mean to pivot from a feasible basis to a neighboring feasible basis, and how can we execute such a pivot quickly? (d) Describe the dual simplex algorithm for the shortest-path linear program directly in terms of vertex distances. In particular, what does it mean to pivot from a locally optimal basis to a neighboring locally optimal basis, and how can we execute such a pivot quickly? (e) Is Dijkstras algorithm an instance of the simplex method? Justify your answer. (f) Is Shimbels algorithm an instance of the simplex method? Justify your answer. 6. The maximum (s, t )-ow problem can be formulated as a linear programming problem, with one 7 Algorithms Non-Lecture J: Linear Programming Algorithms variable fu v for each edge u v in the input graph: maximize w f sw u fus fu v = 0 u subject to w f v w for every vertex v = s, t fu v cu v for every edge u v fu v 0 for every edge u v This problem asks you to describe the behavior of the simplex algorithm on this linear program in terms of ows. (a) What is a basis for this linear program? What is a feasible basis? What is a locally optimal basis? (b) Show that the optimal basis represents a maximum ow. (c) Describe the primal simplex algorithm for the ow linear program directly in terms of ows. In particular, what does it mean to pivot from a feasible basis to a neighboring feasible basis, and how can we execute such a pivot quickly? (d) Describe the dual simplex algorithm for the ow linear program directly in terms of ows. In particular, what does it mean to pivot from a locally optimal basis to a neighboring locally optimal basis, and how can we execute such a pivot quickly? (e) Is the Ford-Fulkerson augmenting path algorithm an instance of the simplex method? Justify your answer. [Hint: There is a one-line argument.] 7. (a) Formulate the minimum spanning tree problem as an instance of linear programming. Try to minimize the number of variables and constraints. (b) In your MST linear program, what is a basis? What is a feasible basis? What is a locally optimal basis? (c) Describe the primal simplex algorithm for your MST linear program directly in terms of the input graph. In particular, what does it mean to pivot from a feasible basis to a neighboring feasible basis, and how can we execute such a pivot quickly? (d) Describe the dual simplex algorithm for your MST linear program directly in terms of the input graph. In particular, what does it mean to pivot from a locally optimal basis to a neighboring locally optimal basis, and how can we execute such a pivot quickly? (e) Which of the classical MST algorithms (Boruvka, Jarnk, Kruskal, reverse greedy), if any, are instances of the simplex method? Justify your answer. c Copyright 2009 Jeff Erickson. Released under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License (http://creativecommons.org/licenses/by-nc-sa/3.0/). Free distribution is strongly encouraged; commercial distribution is expressly forbidden. See http://www.cs.uiuc.edu/~jeffe/teaching/algorithms for the most recent revision. 8
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

UIllinois - 942 - cs
AlgorithmsLecture 20: Adversary ArgumentsAn adversary means opposition and competition, but not having an adversary means grief and loneliness. Zhuangzi (Chuang-tsu) c. 300 BC It is possible that the operator could be hit by an asteroid and your $20 cou
UIllinois - 942 - cs
AlgorithmsLecture 21: NP-Hard ProblemsThe wonderful thing about standards is that there are so many of them to choose from. Real Admiral Grace Murray Hopper If a problem has no solution, it may not be a problem, but a fact not to be solved, but to be co
UIllinois - 942 - cs
AlgorithmsNon-Lecture K: Approximation AlgorithmsLe mieux est lennemi du bien. [The best is the enemy of the good.] Voltaire, La Bgueule (1772) Who shall forbid a wise skepticism, seeing that there is no practical question on which any thing more than a
UIllinois - 942 - cs
AlgorithmsNon-Lecture M: Number-Theoretic AlgorithmsAnd its one, two, three, What are we ghting for? Dont tell me, I dont give a damn, Next stop is Vietnam; [or: This time well kill Saddam] And its ve, six, seven, Open up the pearly gates, Well there ai
UIllinois - 942 - cs
AlgorithmsNon-Lecture N: Convex HullsNN.1Convex HullsDenitionsWe are given a set P of n points in the plane. We want to compute something called the convex hull of P . Intuitively, the convex hull is what you get by driving a nail into the plane at
UIllinois - 942 - cs
AlgorithmsAppendix: Solving Recurrences. . . O Zarathustra, who you are and must become behold you are the teacher of the eternal recurrence that is your destiny! That you as the rst must teach this doctrine how could this great destiny not be your grea
UIllinois - 942 - cs
CS 373Homework 1 (due 2/9/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/~cs373 Homework 1 (due February 9, 1999 by noon)Name: Net ID:Alias:Everyone must do the problems marked . Problems marked are for 1-u
UIllinois - 942 - cs
CS 373Homework 2 (due 2/18/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/~cs373 Homework 2 (due Thu. Feb. 18, 1999 by noon)Name: Net ID:Alias:Everyone must do the problems marked . Problems marked are for
UIllinois - 942 - cs
CS 373Homework 3 (due 3/11/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/~cs373 Homework 3 (due Thu. Mar. 11, 1999 by noon)Name: Net ID:Alias:Everyone must do the problems marked . Problems marked are for
UIllinois - 942 - cs
CS 373Homework 0 (due 1/26/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/ cs373 Homework 0 (due January 26, 1999 by the beginning of class)Name: Net ID:Alias:Neatly print your name (rst name rst, with no c
UIllinois - 942 - cs
AlgorithmsNon-Lecture L: Fibonacci HeapsA little and a little, collected together, become a great deal; the heap in the barn consists of single grains, and drop and drop makes an inundation. Saadi (11841291) The trees that are slow to grow bear the best
UIllinois - 942 - cs
AlgorithmsNon-Lecture O: Line Segment IntersectionSpengler: Theres something very important I forgot to tell you. Venkman: What? Spengler: Dont cross the streams. Venkman: Why? Spengler: It would be bad. Venkman: Im fuzzy on the whole good/bad thing. Wh
UIllinois - 942 - cs
AlgorithmsNon-Lecture P: Polygon TriangulationIf triangles had a god, they would give him three sides. Charles Louis de Secondat Montesquie (1721) Down with Euclid! Death to triangles! Jean Dieudonn (1959)PP .1Polygon TriangulationIntroductionRecal
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 0, due August 31, 2000 at the beginning of className: Net ID:Alias:Neatly print your name (rst name rst, with no comma), your network ID, and a short alias into the boxes above. Do not sign your name
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 1999Final Exam (May 7, 1999)Name: Net ID:Alias:This is a closed-book, closed-notes exam!If you brought anything with you besides writing instruments and your two 8 1 11 cheat sheets, please leave it at the fro
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 0, due August 31, 2000 at the beginning of className: Net ID:Alias:Neatly print your name (rst name rst, with no comma), your network ID, and a short alias into the boxes above. Do not sign your name
UIllinois - 942 - cs
CS 373Homework 5 (due 4/22/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/~cs373 Homework 5 (due Thu. Apr. 22, 1999 by noon)Name: Net ID:Alias:Everyone must do the problems marked . Problems marked are for
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 1999Midterm 1 (February 23, 1999)Name: Net ID:Alias:This is a closed-book, closed-notes exam!If you brought anything with you besides writing instruments and your 8 1 11 cheat sheet, please leave it at the fro
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 1999Midterm 2 (April 6, 1999)Name: Net ID:Alias:This is a closed-book, closed-notes exam!If you brought anything with you besides writing instruments and your 8 1 11 cheat sheet, please leave it at the front o
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 1 (due September 12, 2000 at midnight)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up to three peop
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 4 (due October 26, 2000 at midnight)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Homeworks may be done in teams of up to three people. Each team turns in just
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 1 (due November 16, 2000 at midnight)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up to three peopl
UIllinois - 942 - cs
CS 373 1. True, False, or MaybeFinal Exam (December 15, 2000)Fall 2000Indicate whether each of the following statments is always true, sometimes true, always false, or unknown. Some of these questions are deliberately tricky, so read them carefully. Ea
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001Homework 0, due January 23, 2001 at the beginning of className: Net ID:Alias:Neatly print your name (rst name rst, with no comma), your network ID, and a short alias into the boxes above. Do not sign your n
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001Homework 1 (due Thursday, February 1, 2001 at 11:59:59 p.m.)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of u
UIllinois - 942 - cs
CS 373Midterm 2 (October 31, 2000)Fall 20001. Using any method you like, compute the following subgraphs for the weighted graph below. Each subproblem is worth 3 points. Each incorrect edge costs you 1 point, but you cannot get a negative score for any
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001http:/www-courses.cs.uiuc.edu/~cs373 Homework 6 (due Tue. May 1, 2001 at 11:59.99 p.m.)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homework
UIllinois - 942 - cs
CS 373Midterm 1 Questions (February 20, 2001)Spring 2001Write your answers in the separate answer booklet.1. Multiple Choice: Each question below has one of the following answers. (a) (1) (b) (log n) (c) (n) (d) (n log n) (e) (n2 )For each question,
UIllinois - 942 - cs
CS 373Final Exam Questions (May 7, 2001)Spring 2001You must turn in this question sheet with your answers.1. Dj` vu ea Prove that any positive integer can be written as the sum of distinct nonconsecutive Fibonacci numbersif Fn appears in the sum, then
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2002Homework 0, due September 5, 2002 at the beginning of className: Net ID:Alias:UGNeatly print your name (rst name rst, with no comma), your network ID, and an alias of your choice into the boxes above. Circle
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001Homework 2 (due Thu. Feb. 15, 2001 at 11:59 PM)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up to three pe
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001Homework 3 (due Thursday, March 8, 2001 at 11:59.99 p.m.)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up t
UIllinois - 942 - cs
C D 25 4 3 1 ( ( % # ! 6"2)0)'&$" j4dD#| jjp|D'&D|jv' 4V vid4j|Ddj|)')vj|4&) v'dDY h%' vs| '4D6 )4'Dj a Dv# Dv6 vv % @v
UIllinois - 942 - cs
0 Q( PI8 F D B @H GE CA78 @97 # #5 642 30 1( )& '$ %" #! u7%C u"u QY7% % uuuIx&qgyt u u yuu %Yu%tW Yuvqu%Cu"uW % uCEEuC&tux tx&0ux& y0t% t%uCuCC
UIllinois - 942 - cs
DH#Dr) i(&s|Drssq!)'4&#ris '% | qq#4srur'$# t qD qrsDs #r w q h 'er s sqw D&tDQr #4 D tR #!H g Xhx) ss#
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2002http:/www-courses.cs.uiuc.edu/cs373 Homework 6 (Do not hand in!)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Neatly print your name(s), NetID(s), and the alias(es) you
UIllinois - 942 - cs
CS 373Midterm 1 Questions (October 1, 2002)Fall 2002Write your answers in the separate answer booklet.1. Multiple Choice: Each question below has one of the following answers. A: (1) B: (log n) C: (n) D: (n log n) E: (n2 ) X: I dont know.For each que
UIllinois - 942 - cs
CS 373Midterm 2 Questions (November 5, 2002)Fall 2002Write your answers in the separate answer booklet. This is a 90-minute exam. The clock started when you got the questions.1. Professor Quasimodo has built a device that automatically rings the bells
Cornell - FDSC - 2000
Food Carbohydrates: Part 2Simple carbohydrates Complex carbohydrates (polysaccharides Digestible (the starches) Non-digestible ( dietary fiber )Hydrogen bonding between adjacent (linear) amylose molecules in the formation of a starch gelStarches consis
UIllinois - 942 - cs
AlgorithmsDepartment of Computer Science University of Illinois at Urbana-ChampaignInstructor: Jeff EricksonTeaching Assistants: Spring 1999: Mitch Harris and Shripad Thite Summer 1999 (IMCS): Mitch Harris Summer 2000 (IMCS): Mitch Harris Fall 2000: C
UIllinois - 942 - cs
AlgorithmsNon-Lecture A: Fast Fourier TransformsCalvin: Heres another math problem I cant gure out. Whats 9+4? Hobbes: Ooh, thats a tricky one. You have to use calculus and imaginary numbers for this. Calvin: IMAGINARY NUMBERS?! Hobbes: You know, eleven
UIllinois - 942 - cs
AlgorithmsTis a lesson you should heed, Try, try again; If at rst you dont succeed, Try, try again; Then your courage should appear, For, if you will persevere, You will conquer, never fear; Try, try again.Lecture 2: Backtracking Thomas H. Palmer, The
UIllinois - 942 - cs
AlgorithmsLecture 3: Dynamic ProgrammingThose who cannot remember the past are doomed to repeat it. George Santayana, The Life of Reason, Book I: Introduction and Reason in Common Sense (1905) The 1950s were not good years for mathematical research. We
UIllinois - 942 - cs
AlgorithmsNon-Lecture D: MatroidsThe problem is that we attempt to solve the simplest questions cleverly, thereby rendering them unusually complex. One should seek the simple solution. Anton Pavlovich Chekhov (c. 1890) I love deadlines. I like the whoos
UIllinois - 942 - cs
AlgorithmsLecture 4: Greedy AlgorithmsThe point is, ladies and gentleman, greed is good. Greed works, greed is right. Greed claries, cuts through, and captures the essence of the evolutionary spirit. Greed in all its forms, greed for life, money, love,
UIllinois - 942 - cs
AlgorithmsLecture 7: Hash TablesCalvin: There! I nished our secret code! Hobbes: Lets see. Calvin: I assigned each letter a totally random number, so the code will be hard to crack. For letter A, you write 3,004,572,688. B is 28,731,569 1 2 . / Hobbes:
UIllinois - 942 - cs
AlgorithmsLecture 8: Amortized AnalysisThe goode workes that men don whil they ben in good lif al amortised by synne folwyng. Geoffrey Chaucer, The Persones [Parsons] Tale (c.1400) I will gladly pay you Tuesday for a hamburger today. J. Wellington Wimpy
UIllinois - 942 - cs
AlgorithmsLecture 12: Minimum Spanning TreesWe must all hang together, gentlemen, or else we shall most assuredly hang separately. Benjamin Franklin, at the signing of the Declaration of Independence (July 4, 1776) It is a very sad thing that nowadays t
UIllinois - 942 - cs
AlgorithmsNon-Lecture I: Linear ProgrammingThe greatest ood has the soonest ebb; the sorest tempest the most sudden calm; the hottest love the coldest end; and from the deepest desire oftentimes ensues the deadliest hate. Socrates Th extremes of glory a
UIllinois - 942 - cs
CS 373Homework 0 (due 1/26/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/ cs373 Homework 0 (due January 26, 1999 by the beginning of class)Name: Net ID:Alias:Neatly print your name (rst name rst, with no c
UIllinois - 942 - cs
AlgorithmsNon-Lecture Q: ReductionsReduce big troubles to small ones, and small ones to nothing. Chinese proverb I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated. Po
UIllinois - 942 - cs
CS 373Homework 4 (due 4/1/99)Spring 1999CS 373: Combinatorial Algorithms, Spring 1999http:/www-courses.cs.uiuc.edu/~cs373 Homework 4 (due Thu. Apr. 1, 1999 by noon)Name: Net ID:Alias:Everyone must do the problems marked . Problems marked are for 1-
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 2 (due September 28, 2000 at midnight)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up to three peop
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 3 (due October 17, 2000 at midnight)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up to three people
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Homework 6 (due December 7, 2000 at midnight)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Starting with Homework 1, homeworks may be done in teams of up to three people
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2000Midterm 1 October 3, 2000Name: Net ID:Alias:This is a closed-book, closed-notes exam!U 3/4 1If you brought anything with you besides writing instruments and your 8 1 11 cheat sheet, please leave it at the f
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001http:/www-courses.cs.uiuc.edu/~cs373 Homework 4 (due Thu. March 29, 2001 at 11:59:59 pm)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Homeworks may be done in teams of
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001Homework 0, due January 23, 2001 at the beginning of className: Net ID:Alias:Neatly print your name (rst name rst, with no comma), your network ID, and a short alias into the boxes above. Do not sign your n
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Spring 2001http:/www-courses.cs.uiuc.edu/~cs373 Homework 5 (due Tue. Apr. 17, 2001 at 11:59 pm)Name: Net ID: Name: Net ID: Name: Net ID:Alias:U 3/4 1Alias:U 3/4 1Alias:U 3/4 1Neatly print your name(s), NetID(s),
UIllinois - 942 - cs
CS 373Midterm 2 (April 3, 2001)Spring 20011. Using any method you like, compute the following subgraphs for the weighted graph below. Each subproblem is worth 3 points. Each incorrect edge costs you 1 point, but you cannot get a negative score for any
UIllinois - 942 - cs
CS 373: Combinatorial Algorithms, Fall 2002Homework 0, due September 5, 2002 at the beginning of className: Net ID:Alias:UGNeatly print your name (rst name rst, with no comma), your network ID, and an alias of your choice into the boxes above. Circle