10 Pages

25-lp (1)

Course: CS 473, Fall 2011
School: University of Illinois,...
Rating:
 
 
 
 
 

Word Count: 4205

Document Preview

25: Algorithms Lecture Linear Programming [Fa '10] The greatest flood 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 and of shame, Like east and west, become the same. -- Samuel Butler, Hudibras Part II, Canto I (c. 1670) Extremes meet, and there is no better example...

Register Now

Unformatted Document Excerpt

Coursehero >> Illinois >> University of Illinois, Urbana Champaign >> CS 473

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.
25: Algorithms Lecture Linear Programming [Fa '10] The greatest flood 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 and of shame, Like east and west, become the same. -- Samuel Butler, Hudibras Part II, Canto I (c. 1670) Extremes meet, and there is no better example than the haughtiness of humility. -- Ralph Waldo Emerson, "Greatness", in Letters and Social Aims (1876) 25 Linear Programming The maximum flow/minimum cut problem is a special case of a very general class of problems called linear programming. Many other optimization problems fall into this class, including minimum spanning trees and shortest paths, as well as several common problems in scheduling, logistics, and economics. Linear programming was used implicitly by Fourier in the early 1800s, but it was first formalized and applied to problems in economics in the 1930s by Leonid Kantorovich. Kantorivich's work was hidden behind the Iron Curtain (where it was largely ignored) and therefore unknown in the West. Linear programming was rediscovered and applied to shipping problems in the early 1940s by Tjalling Koopmans. The first complete algorithm to solve linear programming problems, called the simplex method, was published by George Dantzig in 1947. Koopmans first proposed the name "linear programming" in a discussion with Dantzig in 1948. Kantorovich and Koopmans shared the 1975 Nobel Prize in Economics "for their contributions to the theory of optimum allocation of resources". Dantzig did not; his work was apparently too pure. Koopmans wrote to Kantorovich suggesting that they refuse the prize in protest of Dantzig's exclusion, but Kantorovich saw the prize as a vindication of his use of mathematics in economics, which his Soviet colleagues had written off as "a means for apologists of capitalism". A linear programming problem asks for a vector x d that maximizes (or equivalently, minimizes) a given linear function, among all vectors x that satisfy a given set of linear inequalities. The general form of a linear programming problem is the following: d maximize j=1 d cj x j for each i = 1 .. p for each i = p + 1 .. p + q for each i = p + q + 1 .. n subject to j=1 d ai j x j bi ai j x j = bi j=1 d ai j x j bi j=1 Here, the input consists of a matrix A = (ai j ) nd , a column vector b n , and a row vector c d . Each coordinate of the vector x is called a variable. Each of the linear inequalities is called a constraint. c Copyright 2010 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. 1 Algorithms Lecture 25: Linear Programming [Fa '10] The function x c x is called the objective function. I will always use d to denote the number of variables, also known as the dimension of the problem. The number of constraints is usually denoted n. A linear programming problem is said to be in canonical form1 if it has the following structure: d maximize j=1 d cj x j for each i = 1 .. n for each j = 1 .. d subject to j=1 ai j x j bi xj 0 We can express this canonical form more compactly as follows. For two vectors x = (x 1 , x 2 , . . . , x d ) and y = ( y1 , y2 , . . . , yd ), the expression x y means that x i yi for every index i. max c x s.t. Ax b x0 Any linear programming problem can be converted into canonical form as follows: For each variable x j , add the equality constraint x j = x + - x - and the inequalities x + 0 and j j j x - 0. j Replace any equality constraint j ai j x j bi . Replace any upper bound j j ai j x j = bi with two inequality constraints j ai j x j bi and ai j x j bi with the equivalent lower bound j -ai j x j -bi . This conversion potentially double the number of variables and the number of constraints; fortunately, it is rarely necessary in practice. Another useful format for linear programming problems is slack form2 , in which every inequality is of the form x j 0: max c x s.t. Ax = b x0 It's fairly easy to convert any linear programming problem into slack form. Slack form is especially useful in executing the simplex algorithm (which we'll see in the next lecture). 25.1 The Geometry of Linear Programming A point x d is feasible with respect to some linear programming problem if it satisfies all the linear constraints. The set of all feasible points is called the feasible region for that linear program. The feasible region has a particularly nice geometric structure that lends some useful intuition to the linear programming algorithms we'll see later. 1 2 Confusingly, some authors call this standard form. Confusingly, some authors call this standard form. 2 Algorithms Lecture 25: Linear Programming [Fa '10] Any linear equation in d variables defines a hyperplane in d ; think of a line when d = 2, or a plane when d = 3. This hyperplane divides d into two halfspaces; each halfspace is the set of points that satisfy some linear inequality. Thus, the set of feasible points is the intersection of several hyperplanes (one for each equality constraint) and halfspaces (one for each inequality constraint). The intersection of a finite number of hyperplanes and halfspaces is called a polyhedron. It's not hard to verify that any halfspace, and therefore any polyhedron, is convex--if a polyhedron contains two points x and y, then it contains the entire line segment x y. A two-dimensional polyhedron (white) defined by 10 linear inequalities. By rotating d (or choosing a coordinate frame) so that the objective function points downward, we can express any linear programming problem in the following geometric form: Find the lowest point in a given polyhedron. With this geometry in hand, we can easily picture two pathological cases where a given linear programming problem has no solution. The first possibility is that there are no feasible points; in this case the problem is called infeasible. For example, the following LP problem is infeasible: maximize x - y subject to 2x + y 1 x+ y 2 x, y 0 An infeasible linear programming problem; arrows indicate the constraints. The second possibility is that there are feasible points at which the objective function is arbitrarily large; in this case, we call the problem unbounded. The same polyhedron could be unbounded for some objective functions but not others, or it could be unbounded for every objective function. 3 Algorithms Lecture 25: Linear Programming [Fa '10] A two-dimensional polyhedron (white) that is unbounded downward but bounded upward. 25.2 Example 1: Shortest Paths We can compute the length of the shortest path from s to t in a weighted directed graph by solving the following very simple linear programming problem. maximize subject to dt ds = 0 d v - du u v for every edge u v Here, u v is the length of the edge u v. Each variable d v represents a tentative shortest-path distance from s to v. The constraints mirror the requirement that every edge in the graph must be relaxed. These relaxation constraints imply that in any feasible solution, d v is at most the shortest path distance from s to v. Thus, somewhat counterintuitively, we are correctly maximizing the objective function to compute the shortest path! In the optimal solution, the objective function d t is the actual shortest-path distance from s to t, but for any vertex v that is not on the shortest path from s to t, d v may be an underestimate of the true distance from s to v. However, we can obtain the true distances from s to every other vertex by modifying the objective function: maximize subject to v dv ds = 0 u v d v - du for every edge u v There is another formulation of shortest paths as an LP minimization problem using an indicator variable x u v for each edge u v. minimize u v u v xu xs v subject to u xu xu u s - w w =1 = -1 =0 0 for every vertex v = s, t for every edge u v t - w xt xv w w xu u v - w v xu Intuitively, x u v = 1 means u v lies on the shortest path from s to t, and x u v = 0 means u v does not lie on this shortest path. The constraints merely state that the path should start at s, end at t, and either pass through or avoid every other vertex v. Any path from s to t--in particular, the shortest path--clearly implies a feasible point for this linear program. 4 Algorithms Lecture 25: Linear Programming [Fa '10] However, there are other feasible solutions, possibly even optimal solutions, with non-integral values that do not represent paths. Nevertheless, there is always an optimal solution in which every x e is either 0 or 1 and the edges e with x e = 1 comprise the shortest path. (This fact is by no means obvious, but a proof is beyond the scope of these notes.) Moreover, in any optimal solution, even if not every x e is an integer, the objective function gives the shortest path distance! 25.3 Example 2: Maximum Flows and Minimum Cuts Recall that the input to the maximum (s, t)-flow problem consists of a weighted directed graph G = (V, E), two special vertices s and t, and a function assigning a non-negative capacity ce to each edge e. Our task is to choose the flow f e across each edge e, as follows: maximize w fs fv w w - u fu fu u s subject to w - v v v =0 cu 0 v for every vertex v = s, t for every edge u v for every edge u v fu fu Similarly, the minimum cut problem can be formulated using `indicator' variables similarly to the shortest path problem. We have a variable S v for each vertex v, indicating whether v S or v T , and a variable X u v for each edge u v, indicating whether u S and v T , where (S, T ) is some (s, t)-cut.3 minimize u v cu Xu v v Xu v subject to + S v - Su 0 Xu v for every edge u v for every edge u v 0 Ss = 1 St = 0 Like the minimization LP for shortest paths, there can be optimal solutions that assign fractional values to the variables. Nevertheless, the minimum value for the objective function is the cost of the minimum cut, and there is an optimal solution for which every variable is either 0 or 1, representing an actual minimum cut. No, this is not obvious; in particular, my claim is not a proof! 25.4 Linear Programming Duality Each of these pairs of linear programming problems is related by a transformation called duality. For any linear programming problem, there is a corresponding dual linear program that can be obtained by a mechanical translation, essentially by swapping the constraints and the variables. The translation is simplest when the LP is in canonical form: Primal () max c x s.t. Ax b x0 3 Dual ( ) min y b s.t. yA c y0 These two linear programs are not quite syntactic duals; I've added two redundant variables Ss and S t to the min-cut program to increase readability. 5 Algorithms Lecture 25: Linear Programming [Fa '10] We can also write the dual linear program in exactly the same canonical form as the primal, by swapping the coefficient vector c and the objective vector b, negating both vectors, and replacing the constraint matrix A with its negative transpose.4 Primal () max c x s.t. Ax b x 0 Dual ( ) max -b y s.t. -A y -c y 0 Written in this form, it should be immediately clear that duality is an involution: The dual of the dual linear program is identical to the primal linear program . The choice of which LP to call the `primal' and which to call the `dual' is totally arbitrary.5 The Fundamental Theorem of Linear Programming. A linear program has an optimal solution x if and only if the dual linear program has an optimal solution y such that c x = y Ax = y b. The weak form of this theorem is trivial to prove. Weak Duality Theorem. If x is a feasible solution for a canonical linear program and y is a feasible solution for its dual , then c x yAx y b. Proof: Because x is feasible , for we have Ax b. Since y is positive, we can multiply both sides of the inequality to obtain yAx y b. Conversely, y is feasible for and x is positive, so yAx c x. It immediately follows that if c x = y b, then x and y are optimal solutions to their respective linear programs. This is in fact a fairly common way to prove that we have the optimal value for a linear program. 25.5 Duality Example Before I prove the stronger duality theorem, let me first provide some intuition about where this duality thing comes from in the first place.6 Consider the following linear programming problem: maximize subject to 4x 1 + x 2 + 3x 3 x 1 + 4x 2 2 3x 1 - x 2 + x 3 4 x1, x2, x3 0 Let denote the optimum objective value for this LP The feasible solution x = (1, 0, 0) gives us a lower . bound 4. A different feasible solution x = (0, 0, 3) gives us a better lower bound 9. We could play this game all day, finding different feasible solutions and getting ever larger lower bounds. How do we know when we're done? Is there a way to prove an upper bound on ? For the notational purists: In these formulations, x and b are column vectors, and y and c are row vectors. This is a somewhat nonstandard choice. Yes, that means the dot in c x is redundant. Sue me. 5 For historical reasons, maximization LPs tend to be called `primal' and minimization LPs tend to be called `dual'. This is a pointless religious tradition, nothing more. Duality is a relationship between LP problems, not a type of LP problem. 6 This example is taken from Robert Vanderbei's excellent textbook Linear Programming: Foundations and Extensions [Springer, 2001], but the idea appears earlier in Jens Clausen's 1997 paper `Teaching Duality in Linear Programming: The Multiplier Approach'. 4 6 Algorithms Lecture 25: Linear Programming [Fa '10] In fact, there is. Let's multiply each of the constraints in our LP by a new non-negative scalar value yi : maximize subject to 4x 1 + x 2 + 3x 3 ) 2 y1 y1 ( x 1 + 4x 2 y2 (3x 1 - x 2 + x 3 ) 4 y2 x1, x2, x3 0 Because each yi is non-negative, we do not reverse any of the inequalities. Any feasible solution (x 1 , x 2 , x 3 ) must satisfy both of these inequalities, so it must also satisfy their sum: ( y1 + 3 y2 )x 1 + (4 y1 - y2 )x 2 + y2 x 3 2 y1 + 4 y2 . Now suppose that each yi is larger than the ith coefficient of the objective function: y1 + 3 y2 4, 4 y1 - y2 1, y2 3. This assumption lets us derive an upper bound on the objective value of any feasible solution: 4x 1 + x 2 + 3x 3 ( y1 + 3 y2 )x 1 + (4 y1 - y2 )x 2 + y2 x 3 2 y1 + 4 y2 . () In particular, by plugging in the optimal solution (x 1 , x 2 , x 3 ) for the original LP we obtain the following , upper bound on : = 4x 1 + x 2 + 3x 3 2 y1 + 4 y2 . Now it's natural to ask how tight we can make this upper bound. How small can we make the expression 2 y1 + 4 y2 without violating any of the inequalities we used to prove the upper bound? This is just another linear programming problem. minimize subject to 2 y1 + 4 y2 y1 + 3 y2 4 4 y1 - y2 1 y2 3 y1 , y2 0 In fact, this is precisely the dual of our original linear program! Moreover, inequality () is just an instantiation of the Weak Duality Theorem. 25.6 Strong Duality The Fundamental Theorem can be rephrased in the following form: Strong Duality Theorem. If x is an optimal solution for a canonical linear program , then there is an optimal solution y for its dual , such that c x = y Ax = y b. Proof (sketch): I'll prove the theorem only for non-degenerate linear programs, in which (a) the optimal solution (if one exists) is a unique vertex of the feasible region, and (b) at most d constraint hyperplanes pass through any point. These non-degeneracy assumptions are relatively easy to enforce in practice and can be removed from the proof at the expense of some technical detail. I will also prove the theorem only for the case n d; the argument for under-constrained LPs is similar (if not simpler). 7 Algorithms Lecture 25: Linear Programming [Fa '10] To develop some intuition, let's first consider the very special case where x = (0, 0, . . . , 0). Let ei denote the ith standard basis vector, whose ith coordinate is 1 and all other coordinates are 0. Because x i = 0 for all i, our non-degeneracy assumption implies the strict inequality ai x < bi for all i. Thus, any sufficiently small ball around the origin does not intersect any other constraint hyperplane ai x = bi . Thus, for all i, and for any sufficiently small > 0, the vector ei is feasible. Because x is the unique optimum, we must have ci = c (ei ) < c x = 0. We conclude that ci < 0 for all i. Now let y = (0, 0, . . . , 0) as well. We immediately observe that yA c and y 0; in other words, y is a feasible solution for the dual linear program . But y b = 0 = c x , so the weak duality theorem implies that y is an optimal solution to , and the proof is complete for this very special case. Now let us consider the more general case. Let x be the optimal solution for the linear program ; our non-degeneracy assumption implies that this solution is unique, and that exactly d of the n linear constraints are satisfied with equality. Without loss of generality (by permuting the constraints and possibly changing coordinates), we can assume that these are the first d constraints. Thus, we have ai x = bi ai x < bi for all i d, for all i d + 1, where ai denotes the ith row of A. Let A denote the d d matrix containing the first d rows of A. Our non-degeneracy assumption implies that A has full rank, and thus has a well-defined inverse V = A-1 . Now define a vector y n by setting y j := c v j y j := 0 for all j d, for all j d + 1, where v j denotes the jth column of V = A-1 . Note that ai v j = 0 if i = j, and ai v j = 1 if i = j. To simplify notation, let y = ( y1 , y2 , . . . , yd ) and let b = (b1 , b2 , . . . , bd ) = A x . Because yi = 0 for all i d + 1, we immediately have y b = y b = cV b = cA-1 b = c x and yA = y A = cVA = cA-1 A = c. The point x lies on exactly d constraint hyperplanes; moreover, any sufficiently small ball around x ~ intersects only those d constraint hyperplanes. Consider the point x = x - v j , for some index ~ 1 j d and some sufficiently small > 0. We have ai x = ai x - (ai v j ) = bi for all i = j, and ~ ~ a j x = a j x - (a j v j ) = b j - < b j . Thus, x is a feasible point for . Because x is the unique ~ optimum for , we must have c x = c x - (c v j ) < c x . We conclude that y j = c v j > 0 for all j. We have shown that yA c and y 0, so y is a feasible solution for the dual linear program . We have also shown that y b = c x , so by the Weak Duality Theorem, y is also an optimal solution for , and the proof is complete! We can also give a useful geometric interpretation to the vector y d . Each linear equation ai x = bi defines a hyperplane in d with normal vector ai . The normal vectors a1 , . . . , ad are linearly independent (by non-degeneracy) and therefore describe a coordinate frame for the vector space d . d The definition of y implies that c = y A = i=1 yi ai . In other words, y lists the coefficients of the objective vector c in the coordinate frame a1 , . . . , ad . 8 Algorithms Lecture 25: Linear Programming [Fa '10] 25.7 Complementary Slackness Complementary Slackness Theorem. Let x be an optimal solution to a canonical linear program , and let y be an optimal solution to its dual . Then for every index i, we have yi > 0 if and only if ai x = bi . Symmetrically, for every index j, we have x > 0 if and only if y a j = c j . j To be written Exercises 1. (a) Describe how to transform any linear program written in general form into an equivalent linear program written in slack form. d maximize j=1 d cj x j ai j x j bi j=1 d j=1 d subject to for each i = 1 .. p = for each i = p + 1 .. p + q for each i = p + q + 1 .. n ai j x j = bi ai j x j bi max c x s.t. Ax = b x0 j=1 (b) Describe precisely how to dualize a linear program written in slack form. (c) Describe precisely how to dualize a linear program written in general form: In all cases, keep the number of variables in the resulting linear program as small as possible. 2. A matrix A = (ai j ) is skew-symmetric if and only if a ji = -ai j for all indices i = j; in particular, every skew-symmetric matrix is square. A canonical linear program max{c x | Ax b; x 0} is self-dual if the matrix A is skew-symmetric and the objective vector c is equal to the constraint vector b. (a) Prove that any self-dual linear program is syntactically equivalent to its dual program . (b) Show that any linear program with d variables and n constraints can be transformed into a self-dual linear program with n + d variables and n + d constraints. The optimal solution to the self-dual program should include both the optimal solution for (in d of the variables) and the optimal solution for the dual program (in the other n variables). 3. (a) Give a linear-programming formulation of the maximum-cardinality bipartite matching problem. The input is a bipartite graph G = (U V ; E), where E U V ; the output is the largest matching in G. Your linear program should have one variable for each edge. (b) Now dualize the linear program from part (a). What do the dual variables represent? What does the objective function represent? What problem is this!? 4. Give a linear-programming formulation of the minimum-cost feasible circulation problem. Here you are given a flow network whose edges have both capacities and costs, and your goal is to find a feasible circulation (flow with value 0) whose cost is as small as possible. 9 Algorithms Lecture 25: Linear Programming [Fa '10] 5. An integer program is a linear program with the additional constraint that the variables must take only integer values. (a) Prove that deciding whether an integer program has a feasible solution is NP-complete. (b) Prove that finding the optimal feasible solution to an integer program is NP-hard. [Hint: Almost any NP-hard decision problem can be formulated as an integer program. Pick your favorite.] 6. Helly's theorem states that for any collection of convex bodies in d , if every d + 1 of them intersect, then there is a point lying in the intersection of all of them. Prove Helly's theorem for the special case where the convex bodies are halfspaces. Equivalently, show that if a system of linear inequalities Ax b does not have a solution, then we can select d + 1 of the inequalities such that the resulting subsystem also does not have a solution. [Hint: Construct a dual LP from the system by choosing a 0 cost vector.] 7. Given points (x 1 , y1 ), (x 2 , y2 ), . . . , (x n , yn ) in the plane, the linear regression problem asks for real numbers a and b such that the line y = a x + b fits the points as closely as possible, according to some criterion. The most common fit criterion is minimizing the L2 error, defined as follows:7 n 2 (a, b) = i=1 ( yi - a x i - b)2 . But there are several other fit criteria, some of which can be optimized via linear programming. (a) The L1 error (or total absolute deviation) of the line y = a x + b is defined as follows: n 1 (a, b) = i=1 yi - a x i - b . Describe a linear program whose solution (a, b) describes the line with minimum L1 error. (b) The L error (or maximum absolute deviation) of the line y = a x + b is defined as follows: (a, b) = max yi - a x i - b . i=1 n Describe a linear program whose solution (a, b) describes the line with minimum L error. 7 This measure is also known as sum of squared residuals, and the algorithm to compute the best fit is normally called (ordinary/linear) least squares fitting. c Copyright 2010 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. 10
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:

University of Illinois, Urbana Champaign - CS - 473
AlgorithmsLecture 25: Linear Programming [Fa '10]The greatest flood 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
University of Illinois, Urbana Champaign - CS - 473
AlgorithmsLecture 26: Linear Programming Algorithms [Fa'10]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 si
University of Illinois, Urbana Champaign - CS - 473
AlgorithmsLecture 27: Lower Bounds [Sp'10]It was a Game called Yes and No, where Scrooge's nephew had to think of something, and the rest must find out what; he only answering to their questions yes or no, as the case was. The brisk fire of questioning
University of Illinois, Urbana Champaign - CS - 473
AlgorithmsLecture 28: Adversary Arguments [Sp'10]An 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 yo
University of Illinois, Urbana Champaign - CS - 473
AlgorithmsLecture 29: NP-Hard Problems [Fa'10]The 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,
University of Illinois, Urbana Champaign - CS - 473
AlgorithmsLecture 30: Approximation Algorithms [Fa'10]Le mieux est l'ennemi 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 mor
University of Illinois, Urbana Champaign - CS - 473
Appendix I: Proof by Induction [Fa10]AlgorithmsJeder Genieende meint, dem Baume habe es an der Frucht gelegen;aber ihm lag am Samen.[Everyone who enjoys thinks that the fundamental thing about trees is the fruit,but in fact it is the seed.] Friedric
University of Illinois, Urbana Champaign - CS - 473
Appendix II: Solving Recurrences [Fa10]AlgorithmsChange is certain. Peace is followed by disturbances; departure of evil men by theirreturn. Such recurrences should not constitute occasions for sadness but realities forawareness, so that one may be ha
University of Illinois, Urbana Champaign - CS - 473
AlgorithmsDepartment of Computer ScienceUniversity 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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
CS 473G: Combinatorial Algorithms, Fall 2005Homework 0Due Thursday, September 1, 2005, at the beginning of class (12:30pm CDT)Name:Net ID:Alias:I understand the Homework Instructions and FAQ. Neatly print your full name, your NetID, and an alias of
University of Illinois, Urbana Champaign - CS - 473
CS 473U: Undergraduate Algorithms, Fall 2006Homework 0Due Friday, September 1, 2006 at noon in 3229 Siebel CenterName:Net ID:Alias:I understand the Homework Instructions and FAQ. Neatly print your full name, your NetID, and an alias of your choice
University of Illinois, Urbana Champaign - CS - 473
CS 573: Graduate Algorithms, Fall 2008Homework 0Due in class at 12:30pm, Wednesday, September 3, 2008Name:Net ID:Alias:I understand the course policies. Each student must submit their own solutions for this homework. For all future homeworks,group
University of Illinois, Urbana Champaign - CS - 473
CS 573Homework 0 (due September 1, 2010)Fall 2010CS 573: Graduate Algorithms, Fall 2010Homework 0Due Wednesday, September 1, 2010 in class This homework tests your familiarity with prerequisite material (http:/www.cs.uiuc.edu/class/fa10/cs573/stuff
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
CS473ugHead Banging Session #39/19/06 - 9/21/061. Championship Showdown What excitement! The Champaign Spinners and the Urbana Dreamweavers have advanced to meet each other in the World Series of Basketweaving! The World Champions will be decided by a
University of Illinois, Urbana Champaign - CS - 473
CS473ugHead Banging Session #510/03/06 - 10/05/061. Simulating Queues with Stacks A queue is a rst-in-rst-out data structure. It supports two operations push and pop. Push adds a new item to the back of the queue, while pop removes the rst item from th
University of Illinois, Urbana Champaign - CS - 473
CS473ugHead Banging Session #810/24/06 - 10/26/061. Alien Abduction Mulder and Scully have computed, for every road in the United States, the exact probability that someone driving on that road wont be abducted by aliens. Agent Mulder needs to drive fr
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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-
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
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
University of Illinois, Urbana Champaign - CS - 473
CS 373U: Combinatorial Algorithms, Spring 2004Homework 0Due January 28, 2004 at noonName:Net ID:Alias:I understand the Homework Instructions and FAQ. Neatly print your full name, your NetID, and an alias of your choice in the boxes above.Grades wi
University of Illinois, Urbana Champaign - CS - 473
CS 473G: Graduate Algorithms, Spring 2007Homework 0Due in class at 11:00am, Tuesday, January 30, 2007Name:Net ID:Alias:I understand the Course Policies. Neatly print your full name, your NetID, and an alias of your choice in the boxes above, andst
University of Illinois, Urbana Champaign - CS - 473
CS 473Homework 0 (due January 27, 2009)Spring 2009CS 473: Undergraduate Algorithms, Spring 2009Homework 0Due in class at 11:00am, Tuesday, January 27, 2009 This homework tests your familiarity with prerequisite materialbig-Oh notation, elementaryal
University of Illinois, Urbana Champaign - CS - 473
CS 473Homework 0 (due January 26, 2009)Spring 2010CS 473: Undergraduate Algorithms, Spring 2010Homework 0Due Tuesday, January 26, 2009 in class This homework tests your familiarity with prerequisite materialbig-Oh notation, elementaryalgorithms and
University of Illinois, Urbana Champaign - CS - 473
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
Tulane - GEOL - 212
2 Component Phase DiagramsEENS 2110MineralogyTulane UniversityProf. Stephen A. NelsonTWO COMPONENT (BINARY) PHASE DIAGRAMSThis document last updated on 07-Feb-2011Experimental Determination of 2-Component Phase DiagramsAs an example, we're going t
Tulane - GEOL - 212
Contact MetamorphismEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityContact MetamorphismThis document last updated on 30-Mar-2011As discussed previously, contact metamorphism occurs as a result of a high geothermalgradient produced local
Tulane - GEOL - 212
General Classification of Igneous RocksEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityGeneral Classification of Igneous RocksThis document last updated on 11-Jan-2011Classification of igneous rocks is one of the most confusing aspects of
Tulane - GEOL - 212
Magmatic DifferentiationEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityMagmatic DifferentiationThis document last updated on 23-Jan-2011Chemical Variation in Rock SuitesSoon after geologists began doing chemical analyses of igneous rock
Tulane - GEOL - 212
Metamorphic Mineral AssemblagesEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityMetamorphic Mineral AssemblagesThis document last updated on 21-Mar-2011The mineral assemblages that occur in metamorphic rocks depend on four factors:The bul
Tulane - GEOL - 212
Metamorphic ReactionsEENS 212PetrologyProf. Stephen A. NelsonTulane UniversityMetamorphic Reactions, Isograds, and Reaction MechanismsThis document last updated on 22-Mar-2011Types of Metamorphic ReactionsChemical reactions that take place during
Tulane - GEOL - 212
Metamorphic TexturesEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityMetamorphic Rock TexturesThis document last updated on 10-Mar-2011Metamorphic rocks exhibit a variety of textures. These can range from textures similar to theoriginal p
Tulane - GEOL - 212
Regional MetamorphismEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityRegional MetamorphismThis document last updated on 31-Mar-2011Regional metamorphism is metamorphism that occurs over broad areas of the crust. Mostregionally metamorpho
Tulane - GEOL - 212
Textures of Igneous RocksEENS 212 Prof. Stephen A. NelsonPetrology Tulane UniversityTextures of Igneous RocksThis document last updated on 12-Feb-2004Introduction to Igneous Rocks An igneous rock is any crystalline or glassy rock that forms from cool
Tulane - GEOL - 212
Thermodynamics and MetamorphismEENS 212Prof. Stephen A. NelsonThermodynamics and MetamorphismPetrologyTulane UniversityThis document last updated on 18-Mar-2010Equilibrium and ThermodynamicsAlthough the stability relationships between various phas
Tulane - GEOL - 212
Triangular Plots in Metamorphic PetrologyEENS 212Prof. Stephen A. NelsonTriangular Plots in Metamorphic PetrologyPetrologyTulane UniversityThis document last updated on 15-Mar-2010Like igneous rocks, most metamorphic rocks are composed of 9 or more
Tulane - EENS - 212
Igneous Rocks of Contintental LithosphereEENS 2120PetrologyProf. Stephen A. NelsonIgneous Rocks of the Continental LithosphereThis document last updated on 15-Feb-2011IntroductionA wide variety of igneous rocks occur in the continental lithosphere,
Tulane - EENS - 212
Convergent MarginsEENS 2120Prof. Stephen A. NelsonPetrologyTulane UniversityIgneous Rocks of the Convergent MarginsThis document last updated on 08-Feb-2011The convergent plate margins are the most intense areas of active magmatism above sea level
Tulane - EENS - 212
Earth's Interior &amp; Formation of MagmasEENS 2120PetrologyTulane UniversityProf. Stephen A. NelsonStructure of the Earth and the Origin of MagmasThis document last updated on 17-Jan-2012Magmas do not form everywhere beneath the surface of the Earth.
Tulane - EENS - 212
Introduction &amp; Textures &amp; Structures of Igneous RocksEENS 2120PetrologyProf. Stephen A. NelsonIntroduction &amp; Textures &amp; Structures of Igneous RocksThis document last updated on 10-Jan-2011Petrology &amp; PetrographyPetrology - The branch of geology dea
Tulane - EENS - 212
Ocean BasinsEENS 2120PetrologyProf. Stephen A. NelsonIgneous Rocks of the Ocean BasinsThis document last updated on 03-Feb-2011The Ocean BasinsThe ocean basins cover the largest area of the Earth's surface. Because of plate tectonics,however, most
Tulane - EENS - 212
Radiometric DatingEENS 2120Tulane UniversityPetrologyProf. Stephen A. NelsonRadiometric DatingThis document last updated on 12-Apr-2011Prior to 1905 the best and most accepted age of the Earth was that proposed by Lord Kelvinbased on the amount of
Tulane - EENS - 212
Ternary Phase DiagramsEENS 2120Tulane UniversityPetrologyProf. Stephen A. NelsonTernary Phase DiagramsThis document last updated on 12-Jan-2011Crystallization in Ternary SystemsI. Equilibrium Crystallization Where all 2 Component Systems are Binar
Tulane - EENS - 212
Thermodynamics and MetamorphismEENS 2120Prof. Stephen A. NelsonThermodynamics and MetamorphismPetrologyTulane UniversityThis document last updated on 22-Mar-2011Equilibrium and ThermodynamicsAlthough the stability relationships between various pha
Tulane - EENS - 212
Triangular Plots in Metamorphic PetrologyEENS 2120Prof. Stephen A. NelsonTriangular Plots in Metamorphic PetrologyPetrologyTulane UniversityThis document last updated on 10-Mar-2011Like igneous rocks, most metamorphic rocks are composed of 9 or mor
Tulane - EENS - 212
Types of MetamorphismEENS 2120PetrologyTypes of MetamorphismProf. Stephen A. NelsonThis document last updated on 16-Feb-2011Metamorphism is defined as follows:The mineralogical and structural adjustment of solid rocks to physical andchemical condi
University of Illinois, Urbana Champaign - CS - 598
Computational Topology (Jeff Erickson)Cell Complexes: DenitionsOne who does not realize his own value is condemned to utter failure.(Every kind of complex, superiority or inferiority, is harmful to man). Al ibn Ab Talib, Nahj al-Balagha [Peak of Eloqu