# Two General Methods to Reduce Delay and Change of Enumeration Algorithms

Save this PDF as:

Size: px
Start display at page:

Download "Two General Methods to Reduce Delay and Change of Enumeration Algorithms"

## Transcription

1 ISSN NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII E Apr.2003

2 Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki UNO National Institute of Informatics, Hitotsubashi, Chiyoda-ku, Tokyo , JAPAN, Abstract: Enumeration and generation algorithms are for outputting all the elements of a given set just once for each. There have been numerous studies on developing algorithms for various problems. One goal of this research is to derive exact constant time algorithms, i.e., where the computation time between any two consecutive outputs is constant. Although are many amortized constant time algorithms, there are only few exact constant time algorithms in the literature. In this paper, we give simple ways to improve these algorithms so that they become exact constant time algorithms. Keywords : enumeration, generation, algorithm, speeding up, delay, change 1 Introduction Enumeration and generation pose several problems in the area of discrete algorithms. The problems are to output all the combinatorial objects, such as binary trees, permutations, strings, spanning trees, and matchings, and all these objects included in a given graph, strings, and set families. In other words, enumeration and generation are the problem of outputting all the elements in the given set just once for each. Algorithms for solving these problems are called enumeration algorithms. As almost all enumeration algorithms in the literature are linear time for the number of outputs, basically, the speed of enumeration algorithms are measured by amortized computation time per output. Thus, many studies have been done on deriving amortized constant time algorithms whose amortized time complexities per output are constant. For example, constant time enumeration algorithms have been proposed for permutations [13], strings with some constraints [8, 9], binary trees [16], and spanning trees of a graph [5, 15]. In the other hand, delay and change are often considered as ways to measure the speed. Delay is the maximum computation time between two consecutive outputs, and change is the maximum size of symmetric difference between two consecutive outputs. An enumeration algorithm is said to be polynomial delay if its delay is polynomial in the input size, and exact constant time if its delay is constant. The amortized time complexity per output is often called amortized delay. An enumeration algorithm is said to be constant change if the change is constant. Usually, the number of outputs of an enumeration problem is exponential in the input size. Thus, an amortized constant time algorithm can take exponential time to output the next solution, while polynomial delay algorithms never do so. For solving several problems, we sometimes stop execution of enumeration algorithms if we obtain sufficiently many solutions. In these cases, polynomial delay algorithms have an advantage. Enumeration algorithms are often used as subroutines of another main algorithm, and the outputs are passed to the main algorithms for calculation. If the symmetric difference between two consecutive outputs is small, then the result of the previous calculation can be reused for the next calculation. It is an advantage to reduce the computation time of the main algorithm. 1

3 Even if we have an amortized constant time enumeration algorithm for a particular problem, it is not easy to obtain an exact constant time enumeration algorithm for it. Consider the problem of enumerating all n dimensional 0-1 vectors. These vectors can be considered as n bit numbers ranging from 0 to 2 n 1, hence it is very easy to construct an amortized constant time enumeration algorithm, which generates all n bit numbers in the increasing order. However, the change and the delay are not O(1) but O(n). We have to spend O(n) time to generate following Thus, the change is also O(n). An exact constant time algorithm requires sophisticated techniques. Almost all enumeration algorithms in the literature are based on back tracking, binary partition, and reverse search. The recursive structures of these algorithms are basically tree shaped, and called tree traversal. Even if a tree traversal algorithm outputs a solution in each iteration, the delay and the change depend on the depth of the recursion tree. Hence, the scheme in the literatures for constructing constant delay and constant change algorithms use path traversal approaches: they traverse a path connecting all solutions to be output. To construct this type of algorithms is not easy, hence path traversal algorithms have been proposed for only primitive combinatorial objects, such as multi-set permutations, combinations of n elements chosen from r elements, and parenthesis strings [10, 6, 12, 13]. Therefore, there are numerous amortized constant time enumeration algorithms but only a few exact constant time enumeration algorithms in the literature. If we have a scheme for reducing delay and change of tree traversal algorithms such as back tracking, we may easily construct exact constant delay and constant change algorithms easily for various enumeration problems. In this paper, we propose two methods to reduce the delay and the change of enumeration algorithms. These can be applied to tree traverse algorithms. Alternative Output Method For a tree traversal enumeration algorithm, this method reduces its delay to the time complexity to generate a recursive call, and reduces its change to the size of the update of the current solution to generate a recursive call. Output Queue Method For a tree traversal enumeration algorithm, this method reduces its delay to the amortized delay with the use of preprocessing time and extra memory. To apply these methods, enumeration algorithms have to satisfy several conditions, however, the conditions do not lose the generality so much. Roughly speaking, if an amortized constant time enumeration algorithm does a constant number of operations for the current solution when it generates a recursive call, we can obtain an exact constant time algorithm by using these two methods. Applying these methods to amortized constant time algorithms, we can construct many exact constant time algorithms which have not been proposed in the literature. At the end of the paper, we will show some of those improved algorithms, which are for enumerating floor plans, permutations with forbidden places, spanning trees, triangulations, directed spanning trees, maximal independent vectors, and connected induced subgraphs. 2 Alternative Output Method This section explains alternative output method. For an enumeration algorithm, we call the objects to be output solutions. For a tree traversal enumeration algorithm and an input, we define the enumeration tree by the rooted tree representing the recursive structure of the 2

4 a b k c g l m n d h o p e f i j W= a b c d e d f d c b g h i h j h g b a k l k m k n o n p n k a Figure 1: Illustration of W. Internal iterations are indicated by circles, and leaves are drawn by squares. Gray iterations are marked iterations. x y Figure 2: Consider computation time for ancestors of y, which are in the banana-shaped configuration. T (P ) is the maximum of this over all leaves. Iterations in the dotted polygon are the descendants of x. Consider (the computation time of descendants of x) / ( the number of output by descendants of x). T (P ) is the maximum among this over all iterations. execution. We define the parent, children, descendants, and ancestors of an iteration of the enumeration tree in the usual way. Suppose that an algorithm inputs problem P and enumerates all solutions. Let W be the sequence of iterations sorted in the order that the algorithm executed (see Fig. 2). Note that an iteration appears in W k times if it has k 1 children. The execution of the algorithm can be considered as a trace of W. During this trace of W, if a solution is output at an iteration of W, then we put a mark it there (see Figure 2). Note that an iteration may appear several times but just one of these is marked. Let T (P ) be the maximum computation time for passing through an iteration during a trace. In the other words, T (P ) is the maximum of (1) computation time before the first recursive call, (2) computation time from the end of a recursive call to the beginning of the next recursive call, and (3) computation time after the last recursive call over all iterations. Let T (P ) be the maximum of ( computation time of descendants of an iteration) / ( the number of outputs by the descendants ) over all iterations. The worst computation time for all the ancestors of a leaf is denoted by T (P ) (see Figure 2). We call an algorithm internal output if each iteration of the algorithm outputs a solution. For an internal output algorithm inputting problem P, let C(P ) be the 3

5 a case 1 case 2 case 3 b k a a b c g l m n b b c g d h o p c g e f i j Figure 3: Three consecutive iterations are classified into 3 cases maximum difference between the outputs of an iteration and its child. Suppose that an internal output algorithm can be described as follows. Internal Output Algorithm (P : problem) (1) Find a solution x of P (2) Output x (3) Generate recursive calls for subproblems P 1,..., P k Then, the algorithm modified by alternative output method is described as follows. Modified Internal Output Algorithm (P : problem) (1) Find a solution x of P (2) If the depth of the iteration is odd then output x (3) Generate recursive calls for subproblems P 1,..., P k (4) If the depth of the iteration is even then output x Theorem 1 For an internal output algorithm, the delay and the change of the modified algorithm are T (P ) and C(P ), respectively. Proof : Let v 1,v 2 and v 3 be arbitrary three consecutive iterations of W. We will prove that at least one of them is always marked. If one of them is a leaf, then the vertex is marked. Thus, let us consider where none of them is a leaf. Based on this assumption, we only have three cases (see Fig. 2). (Case 1) v 1 is the parent of v 2, and v 2 is the parent of v 3 (Case 2) v 3 is the parent of v 2, and v 2 is the parent of v 1 (Case 3) v 2 is the parent of both v 2 and v 3 In Case 1, moving from v 1 to v 2 (resp., from v 2 to v 3 ) corresponds to the recursive call of v 2 by v 1 (resp., of v 3 by v 2 ). Thus, v 2 and v 3 correspond to the execution from the beginning of iterations to the first recursive calls. Since the depth of either v 2 or v 3 is odd, one of them is marked. Similarly, in Case 2, at least one of v 1 and v 2 is marked. In Case 3, v 1 corresponds to the execution after the last recursive call, and v 3 corresponds to the execution before the first recursive call. Hence, v 3 is marked if the depth of v 1 and v 3 is odd, and v 1 is marked otherwise. From the theorem, if an internal output algorithm satisfies that each iteration takes constant time for generating a recursive call, and the difference between outputs of an iteration 4

6 Algorithm insert Queue insert insert insert output insert output output output insert Figure 4: Illustration of output queue method. Algorithm inserts solutions into queue, and when the queue is full, output starts. A solution is output every 2 steps and when the solutions overflow the queue. and its child is constant, then C(P ) and T (P ) are constant, and the algorithm modified by alternative output method is exact constant time and constant change. An enumeration algorithm has to be internal output to apply alternative output method. This is not a hard condition, since many algorithms in the literature are internal output, or can be easily modified to be internal output. If an iteration may output several solutions, then partition the iteration such that each of these outputs just one solution. If only the leaves of the enumeration tree output no solution, then we can merge each leaf and its parent into one iteration. Many reverse search algorithms, such as those for enumerating triangulations, matchings, matroid bases, connected induced subgraphs, vertices of polytopes, floor plans, and directed spanning trees in a directed graph [1, 3, 7, 14], are internal output. Usually binary partition and back tracking algorithms are not internal output; however, if they can be described as follows, they will be internal output. Binary Partition ( P : problem, X: solution of P ) 1. If P has no solution not equal to X then return 2. Find a solution X X of P, and output X 3. Divide P into P 1 and P 2 such that X is a solution of P 1 and X is a solution of P 2 4. Call Binary Partition ( P 1,X ) 5. Call Binary Partition ( P 2,X ) For example, enumeration algorithms for bipartite matchings, spanning trees, and maximal independent vectors satisfy the assumption [3, 15]. Moreover, fundarmental enumeration algorithms for trees, paths, connected subgraphs, matchings, permutations, and strings are internal output. 5

7 x Figure 5: Iterations inside the outer polygon are S, and iterations inside the inner polygon are R 3 Output Queue Method y This section explains output queue method. method is described as follows. For a given enumeration algorithm, the Output Queue Method (P : problem ) (1) Allocate a queue Q of length 2T (P )/ T (P ) + 1 for storing output solutions. (2) During execution of the enumeration algorithm, insert output solutions to the end of Q instead of outputting it directly. If Q is full, then extract the top of Q and output it. (3) After Q is full, extract and output the top of Q at every T (P ) time. (4) After the termination of the enumeration algorithm, output all the solutions in Q from the top. This method does not increase the time complexity of the enumeration algorithm. The space complexity increases as much as the size of Q. Theorem 2 For an enumeration algorithm and a problem P, the delay of the algorithm modified by output queue method is T (P ) with the use of O(T (P )+ T (P )) preprocessing time and O(CT (P )/ T (P )) extra memory space where C is the space required for storing a solution. Proof : We first state the following lemma. Lemma 1 During the execution of an algorithm modified by output queue method, at least (t t 2T (P ))/ T (P ) solutions are inserted into Q from time t to time t. Proof : Let x be the iteration executed at time t, and y be the iteration executed at time t. Let S be the set of iterations executed from t to t, and R be the set of iterations included in the path connecting x and y in the enumeration tree. The computation time taken by the iterations of R is at most 2T (P ). The iterations of S \ R are composed of several groups each of which is the set of all descendants of a child of an iteration in R (see Figure 3). Since the computation time for iterations of S \ R is at least t t 2T (P ), the number of output iterations of S \ R is at least (t t 2T (P ))/ T (P ). From this lemma, we derive the following lemmas. 6

8 Lemma 2 The computation time from the beginning of the algorithm to the time when Q is first full is O(T (P )+ T (P )). Proof : Let t be the time when the algorithm has output 2T (P )/ T (P ) + 1 solutions. From lemma 2, (t 0 2T (P ))/ T (P ) 2T (P )/ T (P ) +1, hence we have t 4T (P )+2 T (P ). Lemma 3 After once Q is full, Q will never be empty. Proof : For any time t during which the algorithm is executed, let t<t be the time that Q was last full. From lemma 2, at least (t t 2T (P ))/ T (P ) solutions are output from t through t, hence Q has at least solutions. 2T (P )/ T (P ) +1 (t t)/ T (P )+(t t 2T (P ))/ T (P ) 1 From Lemma 2, the algorithm modified by output queue method takes O(T (P )+ T (P )) time to output the first solution, and from Lemma 3, it outputs the following solutions in O( T (P )) per one solution. The space required for Q is O(CT (P )/ T (P )). Therefore, the theorem holds. For any enumeration algorithm, T (P ) is not greater than twice the delay. Moreover, it is usually in the order of amortized delay. This is because general amortized analysis of enumeration algorithms are done by passing the computation time of an iteration to its descendants. Hence, output queue method reduces the delay to the amortized delay for quite many enumeration algorithms. 4 Applications to Existing Enumeration Algorithms In this section, we discuss several results obtained by applying our two methods to the enumeration algorithms in the literature. 4.1 Floor Plans Problem: Enumerate all possible rectangular floor plans composed of at most n rectangular rooms. An algorithm is proposed for this problem in [7]. The delay and change of the algorithm are O(n). The algorithm is based on family tree method, which outputs a solution at each iteration, thus the algorithm is internal output. Any iteration takes O(1) time to generate a recursive call, and pre/post-processing, hence T (P ) =O(1) and C(P ) =O(1). Thus, applying alternative output method to the algorithm, we obtain the following corollary. Corollary 1 There exists an exact constant time and constant change algorithm for enumerating all possible rectangular floor plans composed of at most n rectanglar rooms. 7

9 4.2 Permutations with Forbidden Places Problem: For given sets of forbidden places for all indices, enumerate all permutations π any whose index is not placed at its constant size forbidden places. This problem is an extension of the problem for which the existence of exact constant delay and constant change algorithm was open in [12]. A problem of enumerating permutations can be considered as a problem of enumerating perfect matchings of a bipartite graph. To solve the problem, an internal output algorithm is proposed in [3]. In an iteration, the algorithm locates an alternating cycle to find a solution and to generate two subproblems, and this takes O( E ) time. However, if the size of forbidden places is bounded by a constant for any index, we can always find an alternating cycle with constant length, hence the time complexity of an iteration is reduced to a constant order. Thus, we have T (P ) =O(1) and C(P ) =O(1). We apply alternative output method to the algorithm and obtain the following corollary. Corollary 2 There exists an exact constant time and constant change algorithm for enumerating all permutations any whose index is not placed at its constant size forbidden places. 4.3 Spanning Trees Problem: For a given undirected graph G =(V,E), enumerate all spanning trees included in G. For this problem, an algorithm based on binary partition is proposed [15]. Each iteration of the algorithm outputs a solution, and the difference between the output solutions of an iteration and its child is at most two edges, hence we have C(P ) =O(1). Although an iteration takes O( E ) time, the amortized delay is a constant. It is proved by amortized analysis with passing computation time of each iteration to its descendants. Thus, T (P ) =O(1) The depth of recursion is O( E ), hence the delay and the change is O( E ) and O( V ) respectively, and T (P ) =O( E 2 ). We apply alternative output method and output queue method to the algorithm, and obtain the following corollary. Corollary 3 There exists an exact constant time algorithm for enumerating all the spanning trees of a given undirected graph with O( E 2 ) preprocessing time and O( E 2 ) memory. 4.4 Triangulations of Points in Plane Problem: For given n points in the plane, enumerate all triangulation of the points. An internal output algorithm is proposed in [11] for this problem. It takes O(log log n) time to generate a recursive call and to pre/post process on an iteration, and the difference between outputs of an iteration and its child is constant. The depth of the recursion is O(n), hence the delay and the change are O(n). We apply alternative output method to the algorithm, and obtain the following corollary. Corollary 4 There exists a constant change and O(log log n) delay algorithm for enumerating all triangulations of given n points. 8

10 4.5 Directed Spanning Trees Problem: For a given directed graph G =(V,E) and a vertex r, enumerate all the directed spanning trees of G rooted at r. For the problem, a reverse search algorithm is proposed [15]. Each iteration of the algorithm outputs a solution, and the difference between output solutions of an iteration and its child is at most two edges. The time complexity of an iteration is O( E M( V )), where M( V ) is the computation time to maintain the minimum spanning tree in a graph with V vertices. Recently, it is proved that M( V ) is polylogarithmic in V [4]. By passing the computation time of an iteration to its descendant, the amortized delay is bounded by O(M( V )), thus T (P ) =O(M( V )). Since the depth of the recursion is O( E ), the delay, the change and T (P ) are O( E M( V )), O( V ), and O( E 2 M( V )), respectively. Hence, we can apply alternative output method and the output queue method to the algorithm, and obtain the following corollary. Corollary 5 There exists a constant change and O(M( V )) delay algorithm for enumerating all the directed spanning trees of a graph with O( E 2 M( V )) preprocessing time and O( E 2 ) memory. 4.6 Maximal Independent Vectors Problem: For given n dimensional m vectors, enumerate all the maximal sets of independent vectors. This problem can be solved by a reverse search algorithm [15]. Since the algorithm outputs a solution in each iteration, it is an internal output algorithm. As the time complexity of an iteration is O(nm 2 ) and the depth of recursion is O(m), T(P ) =O(n 2 m). The size of difference between outputs of an iteration and its child is constant. The amortized delay is bounded by O(n) by passing the computation time taken by each iteration to its descendants. We apply alternative output method and output queue method to the algorithm, and obtain the following corollary. Corollary 6 There exists a constant change and O(n) delay algorithm for enumerating all the maximal sets of independent vectors for given n dimensional m vectors. 4.7 Connected Induced Subgraphs Problem: For a given graph, enumerate all vertex subsets of the graph which induce connected subgraphs. This problem can be solved by a reverse search algorithm [1]. As the algorithm outputs a solution in each iteration, it is an internal output algorithm. The size of difference between outputs of an iteration and its child is constant. We apply alternative output method to the algorithm and obtain the following corollary. Corollary 7 There exists a constant change algorithm for enumerating all vertex subsets of a given graph which induces connected subgraphs. 9

11 5 Concluding and Remarks We proposed two methods for reducing the change and the delay of enumeration algorithms. The first, alternative output method reduces the delay to the time complexity to generate a recursive call and reduces the change to the maximum difference between outputs of an iteration and its child, if any iteration outputs a solution. For an algorithm whose amortized time complexity per output is T (P ) for any descendants of iteration, the second method output queue method reduces the delay to T (P ) with the use of O( T (P )+T (P )) memory, where T (P ) is the worst case computation time taken by all ancestors of a leaf. Using these methods, constant change and exact constant delay algorithms can be constructed for the problems of enumerating the following combinatorial objects: permutations with forbidden places, floor plans, spanning trees of a graph, directed spanning trees of a directed graph, triangulations of given points in plane, maximal independent vectors, and connected induced subgraphs of a graph. These methods will enable many enumeration algorithms to be improved in the future. References [1] D. Avis and K. Fukuda, Reverse Search for Enumeration, Discrete Appl. Math. 65, pp (1996). [2] D. Avis and K. Fukuda, A Pivoting Algorithm for Convex Hulls and Vertex Enumeration of Arrangements and Polyhedra, Discrete Comp. Geom. 8, pp , (1992). [3] K. Fukuda and T. Matsui, Finding All the Perfect Matchings in Bipartite Graphs, Appl. Math. Lett. 7, pp (1994). [4] J. Holm, K. de Lichtenberg and M. Thorup, Poly-logarithmic deterministic fullydynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity, Proceedings of the thirtieth annual ACM symposium on theory of computing, pp (1998). [5] S. Kapoor and H. Ramesh, Algorithms for Enumerating All Spanning Trees of Undirected and Weighted Graphs, SIAM J. Comp. 24, pp (1995). [6] A. Nijenhuis and H.S. Wilf, Combinatorial Mathematics, Academic Press (1975). [7] S. Nakano, Enuemerating Floorplans with n Rooms, Lec. Note in Comp. Sci. 1350, Springer-Verlag, pp (2001). [8] F. Ruskey and J. Sawada, Generating necklaces and strings with forbidden substrings, SIAM J. Comp. 29, pp (1999). [9] J. Sawada, Generating Bracelets in Constant Amortized Time Generating, SIAM J. Comp. 31, pp (2001). [10] C. Savage, A Survey of Combinatorial Gray Codes, SIAM Review 39, pp (1997). [11] Sergei Bespamyatnikh, An efficient algorithm for enumeration of triangulations, Computational Geometry: Theory and Applications, 23, No.3, pp (2002). [12] T. Takaoka, O(1) Time Algorithms for Combinatorial Generation by Tree Traversal, Computer Journal 42, No. 5, pp (1999). [13] T. Takaoka, An O(1) Time Algorithm for Generating Multiset Permutations, Lect. Note in Comp. Sci (1999). [14] T. Uno, An Algorithm for Enumerating All Directed Spanning Trees in a Directed Graph, Lect. Notes in Comp. Sci. 1178, Springer-Verlag, Algorithms and Computation, pp (1996). 10

12 [15] T. Uno, A New Approach for Speeding Up Enumeration Algorithms and Its Application for Matroid Bases, Lec. Note in Comp. Sci. 1627, Springer-Verlag, pp (1999). [16] D. Zerling, Generating Binary Trees by Rotations, JACM 32, pp (1985). 11

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### The Orthogonal Art Gallery Theorem with Constrained Guards

The Orthogonal Art Gallery Theorem with Constrained Guards T. S. Michael 1 Mathematics Department United States Naval Academy Annapolis, MD, U.S.A. Val Pinciu 2 Department of Mathematics Southern Connecticut

### Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

### Polytope Examples (PolyComp Fukuda) Matching Polytope 1

Polytope Examples (PolyComp Fukuda) Matching Polytope 1 Matching Polytope Let G = (V,E) be a graph. A matching in G is a subset of edges M E such that every vertex meets at most one member of M. A matching

### On the k-path cover problem for cacti

On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

### A Note on Maximum Independent Sets in Rectangle Intersection Graphs

A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada tmchan@uwaterloo.ca September 12,

### GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

### Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Sorting revisited How did we use a binary search tree to sort an array of elements? Tree Sort Algorithm Given: An array of elements to sort 1. Build a binary search tree out of the elements 2. Traverse

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

### Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

### Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

7 Catalan Numbers Thomas A. Dowling, Department of Mathematics, Ohio State Uni- Author: versity. Prerequisites: The prerequisites for this chapter are recursive definitions, basic counting principles,

### COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

### Every tree contains a large induced subgraph with all degrees odd

Every tree contains a large induced subgraph with all degrees odd A.J. Radcliffe Carnegie Mellon University, Pittsburgh, PA A.D. Scott Department of Pure Mathematics and Mathematical Statistics University

### Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the

### Data Structures Fibonacci Heaps, Amortized Analysis

Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

### Solutions to Homework 6

Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

### arxiv:1203.1525v1 [math.co] 7 Mar 2012

Constructing subset partition graphs with strong adjacency and end-point count properties Nicolai Hähnle haehnle@math.tu-berlin.de arxiv:1203.1525v1 [math.co] 7 Mar 2012 March 8, 2012 Abstract Kim defined

### Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4

Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 I. Algorithm Design and Divide-and-Conquer There are various strategies we

### Disjoint Compatible Geometric Matchings

Disjoint Compatible Geometric Matchings Mashhood Ishaque Diane L. Souvaine Csaba D. Tóth Abstract We prove that for every even set of n pairwise disjoint line segments in the plane in general position,

### Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

### Institut für Informatik Lehrstuhl Theoretische Informatik I / Komplexitätstheorie. An Iterative Compression Algorithm for Vertex Cover

Friedrich-Schiller-Universität Jena Institut für Informatik Lehrstuhl Theoretische Informatik I / Komplexitätstheorie Studienarbeit An Iterative Compression Algorithm for Vertex Cover von Thomas Peiselt

### Dynamic 3-sided Planar Range Queries with Expected Doubly Logarithmic Time

Dynamic 3-sided Planar Range Queries with Expected Doubly Logarithmic Time Gerth Stølting Brodal 1, Alexis C. Kaporis 2, Spyros Sioutas 3, Konstantinos Tsakalidis 1, Kostas Tsichlas 4 1 MADALGO, Department

### Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge.

Divide-and-Conquer Three main steps : 1. divide; 2. conquer; 3. merge. 1 Let I denote the (sub)problem instance and S be its solution. The divide-and-conquer strategy can be described as follows. Procedure

### Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

### Finding and counting given length cycles

Finding and counting given length cycles Noga Alon Raphael Yuster Uri Zwick Abstract We present an assortment of methods for finding and counting simple cycles of a given length in directed and undirected

### JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

### Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

### Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

### MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

### Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

### Shortest Inspection-Path. Queries in Simple Polygons

Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote B 05-05 April 2005 Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,

### Computational Geometry. Lecture 1: Introduction and Convex Hulls

Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

### Product irregularity strength of certain graphs

Also available at http://amc.imfm.si ISSN 1855-3966 (printed edn.), ISSN 1855-3974 (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 7 (014) 3 9 Product irregularity strength of certain graphs Marcin Anholcer

### arxiv: v2 [math.co] 30 Nov 2015

PLANAR GRAPH IS ON FIRE PRZEMYSŁAW GORDINOWICZ arxiv:1311.1158v [math.co] 30 Nov 015 Abstract. Let G be any connected graph on n vertices, n. Let k be any positive integer. Suppose that a fire breaks out

### A 2-factor in which each cycle has long length in claw-free graphs

A -factor in which each cycle has long length in claw-free graphs Roman Čada Shuya Chiba Kiyoshi Yoshimoto 3 Department of Mathematics University of West Bohemia and Institute of Theoretical Computer Science

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

### 1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:

### Converting a Number from Decimal to Binary

Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive

### Social Media Mining. Graph Essentials

Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

### Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser Quiz 1.

Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Quiz 1 Quiz 1 Do not open this quiz booklet until you are directed

### Lecture 17 : Equivalence and Order Relations DRAFT

CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

### All trees contain a large induced subgraph having all degrees 1 (mod k)

All trees contain a large induced subgraph having all degrees 1 (mod k) David M. Berman, A.J. Radcliffe, A.D. Scott, Hong Wang, and Larry Wargo *Department of Mathematics University of New Orleans New

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation

MATHEMATICAL ENGINEERING TECHNICAL REPORTS The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation Shinji IMAHORI, Mutsunori YAGIURA METR 2007 53 September 2007 DEPARTMENT

### Algorithms and Data Structures

Algorithm Analysis Page 1 BFH-TI: Softwareschule Schweiz Algorithm Analysis Dr. CAS SD01 Algorithm Analysis Page 2 Outline Course and Textbook Overview Analysis of Algorithm Pseudo-Code and Primitive Operations

### On the representability of the bi-uniform matroid

On the representability of the bi-uniform matroid Simeon Ball, Carles Padró, Zsuzsa Weiner and Chaoping Xing August 3, 2012 Abstract Every bi-uniform matroid is representable over all sufficiently large

### Midterm Practice Problems

6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

### Definition 11.1. Given a graph G on n vertices, we define the following quantities:

Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

### Exam study sheet for CS2711. List of topics

Exam study sheet for CS2711 Here is the list of topics you need to know for the final exam. For each data structure listed below, make sure you can do the following: 1. Give an example of this data structure

### Balanced Binary Search Tree

AVL Trees / Slide 1 Balanced Binary Search Tree Worst case height of binary search tree: N-1 Insertion, deletion can be O(N) in the worst case We want a tree with small height Height of a binary tree with

### Mathematics for Algorithm and System Analysis

Mathematics for Algorithm and System Analysis for students of computer and computational science Edward A. Bender S. Gill Williamson c Edward A. Bender & S. Gill Williamson 2005. All rights reserved. Preface

### COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS

COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS Alexander Burstein Department of Mathematics Howard University Washington, DC 259, USA aburstein@howard.edu Sergey Kitaev Mathematics

### Cycles in a Graph Whose Lengths Differ by One or Two

Cycles in a Graph Whose Lengths Differ by One or Two J. A. Bondy 1 and A. Vince 2 1 LABORATOIRE DE MATHÉMATIQUES DISCRÉTES UNIVERSITÉ CLAUDE-BERNARD LYON 1 69622 VILLEURBANNE, FRANCE 2 DEPARTMENT OF MATHEMATICS

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### Fast Edge Splitting and Edmonds Arborescence Construction for Unweighted Graphs

Fast Edge Splitting and Edmonds Arborescence Construction for Unweighted Graphs Anand Bhalgat Ramesh Hariharan Telikepalli Kavitha Debmalya Panigrahi Abstract Given an unweighted undirected or directed

### Discrete Applied Mathematics. The firefighter problem with more than one firefighter on trees

Discrete Applied Mathematics 161 (2013) 899 908 Contents lists available at SciVerse ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam The firefighter problem with

### Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Tutorial#1 Q 1:- Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2:- What is a Data Type? Differentiate

### Fast approximation of the maximum area convex. subset for star-shaped polygons

Fast approximation of the maximum area convex subset for star-shaped polygons D. Coeurjolly 1 and J.-M. Chassery 2 1 Laboratoire LIRIS, CNRS FRE 2672 Université Claude Bernard Lyon 1, 43, Bd du 11 novembre

### 3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

### Cycle transversals in bounded degree graphs

Electronic Notes in Discrete Mathematics 35 (2009) 189 195 www.elsevier.com/locate/endm Cycle transversals in bounded degree graphs M. Groshaus a,2,3 P. Hell b,3 S. Klein c,1,3 L. T. Nogueira d,1,3 F.

### Codes for Network Switches

Codes for Network Switches Zhiying Wang, Omer Shaked, Yuval Cassuto, and Jehoshua Bruck Electrical Engineering Department, California Institute of Technology, Pasadena, CA 91125, USA Electrical Engineering

### CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are

### Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

### CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected

### 1 Definitions. Supplementary Material for: Digraphs. Concept graphs

Supplementary Material for: van Rooij, I., Evans, P., Müller, M., Gedge, J. & Wareham, T. (2008). Identifying Sources of Intractability in Cognitive Models: An Illustration using Analogical Structure Mapping.

### On line construction of suffix trees 1

(To appear in ALGORITHMICA) On line construction of suffix trees 1 Esko Ukkonen Department of Computer Science, University of Helsinki, P. O. Box 26 (Teollisuuskatu 23), FIN 00014 University of Helsinki,

### Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li. Advised by: Dave Mount. May 22, 2014

Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li Advised by: Dave Mount May 22, 2014 1 INTRODUCTION In this report we consider the implementation of an efficient

### Generalized Induced Factor Problems

Egerváry Research Group on Combinatorial Optimization Technical reports TR-2002-07. Published by the Egrerváry Research Group, Pázmány P. sétány 1/C, H 1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

### POWER SETS AND RELATIONS

POWER SETS AND RELATIONS L. MARIZZA A. BAILEY 1. The Power Set Now that we have defined sets as best we can, we can consider a sets of sets. If we were to assume nothing, except the existence of the empty

### [2], [3], which realize a time bound of O(n. e(c + 1)).

SIAM J. COMPUT. Vol. 4, No. 1, March 1975 FINDING ALL THE ELEMENTARY CIRCUITS OF A DIRECTED GRAPH* DONALD B. JOHNSON Abstract. An algorithm is presented which finds all the elementary circuits-of a directed

### Tree-representation of set families and applications to combinatorial decompositions

Tree-representation of set families and applications to combinatorial decompositions Binh-Minh Bui-Xuan a, Michel Habib b Michaël Rao c a Department of Informatics, University of Bergen, Norway. buixuan@ii.uib.no

### Connectivity and cuts

Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every

### Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Yong Zhang 1.2, Francis Y.L. Chin 2, and Hing-Fung Ting 2 1 College of Mathematics and Computer Science, Hebei University,

### An Approximation Algorithm for Bounded Degree Deletion

An Approximation Algorithm for Bounded Degree Deletion Tomáš Ebenlendr Petr Kolman Jiří Sgall Abstract Bounded Degree Deletion is the following generalization of Vertex Cover. Given an undirected graph

### Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs Kousha Etessami U. of Edinburgh, UK Kousha Etessami (U. of Edinburgh, UK) Discrete Mathematics (Chapter 6) 1 / 13 Overview Graphs and Graph

### (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

### Topology-based network security

Topology-based network security Tiit Pikma Supervised by Vitaly Skachek Research Seminar in Cryptography University of Tartu, Spring 2013 1 Introduction In both wired and wireless networks, there is the

### 15-750 Graduate Algorithms Spring 2010

15-750 Graduate Algorithms Spring 2010 1 Cheap Cut (25 pts.) Suppose we are given a directed network G = (V, E) with a root node r and a set of terminal nodes T V. We would like to remove the fewest number

### Internet Packet Filter Management and Rectangle Geometry

Internet Packet Filter Management and Rectangle Geometry David Eppstein S. Muthukrishnan Abstract We consider rule sets for internet packet routing and filtering, where each rule consists of a range of

### A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy David P. Williamson Anke van Zuylen School of Operations Research and Industrial Engineering, Cornell University,

### Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal ABSTACT Mohit Singh Tepper School of Business Carnegie Mellon University Pittsburgh, PA USA mohits@andrew.cmu.edu In the MINIMUM

### 2-partition-transitive tournaments

-partition-transitive tournaments Barry Guiduli András Gyárfás Stéphan Thomassé Peter Weidl Abstract Given a tournament score sequence s 1 s s n, we prove that there exists a tournament T on vertex set

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

### 1 2-3 Trees: The Basics

CS10: Data Structures and Object-Oriented Design (Fall 2013) November 1, 2013: 2-3 Trees: Inserting and Deleting Scribes: CS 10 Teaching Team Lecture Summary In this class, we investigated 2-3 Trees in

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### Exact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem

xact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem Kanak Chandra Bora Department of Computer Science & ngineering Royal School of ngineering & Technology, Betkuchi, Guwahati-7810,

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### Tilings of the sphere with right triangles III: the asymptotically obtuse families

Tilings of the sphere with right triangles III: the asymptotically obtuse families Robert J. MacG. Dawson Department of Mathematics and Computing Science Saint Mary s University Halifax, Nova Scotia, Canada

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### CMPS 102 Solutions to Homework 1

CMPS 0 Solutions to Homework Lindsay Brown, lbrown@soe.ucsc.edu September 9, 005 Problem..- p. 3 For inputs of size n insertion sort runs in 8n steps, while merge sort runs in 64n lg n steps. For which

### A Graph-Theoretic Network Security Game. Marios Mavronicolas, Vicky G. Papadopoulou, Anna Philippou and Paul G. Spirakis

Int. J. Autonomous and Adaptive Communications Systems, Vol. x, No. x, xx 1 A Graph-Theoretic Network Security Game Marios Mavronicolas, Vicky G. Papadopoulou, Anna Philippou and Paul G. Spirakis Department

### Single machine parallel batch scheduling with unbounded capacity

Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

### Max-Min Representation of Piecewise Linear Functions

Beiträge zur Algebra und Geometrie Contributions to Algebra and Geometry Volume 43 (2002), No. 1, 297-302. Max-Min Representation of Piecewise Linear Functions Sergei Ovchinnikov Mathematics Department,