# Limits to Parallel Computation

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Limits to Parallel Computation

2

3 Limits to Parallel Computation: P-Completeness Theory RAYMOND GREENLAW University of New Hampshire H. JAMES HOOVER University of Alberta WALTER L. RUZZO University of Washington New York Oxford OXFORD UNIVERSITY PRESS 1995

4

5 This book is dedicated to our families, who already know that life is inherently sequential.

6

7 Preface This book is an introduction to the rapidly growing theory of P- completeness the branch of complexity theory that focuses on identifying the hardest problems in the class P of problems solvable in polynomial time. P-complete problems are of interest because they all appear to lack highly parallel solutions. That is, algorithm designers have failed to find NC algorithms, feasible highly parallel solutions that take time polynomial in the logarithm of the problem size while using only a polynomial number of processors, for them. Consequently, the promise of parallel computation, namely that applying more processors to a problem can greatly speed its solution, appears to be broken by the entire class of P-complete problems. This state of affairs is succinctly expressed as the following question: Does P equal NC? Organization of the Material The book is organized into two parts: an introduction to P- completeness theory, and a catalog of P-complete and open problems. The first part of the book is a thorough introduction to the theory of P-completeness. We begin with an informal introduction. Then we discuss the major parallel models of computation, describe the classes NC and P, and present the notions of reducibility and completeness. We subsequently introduce some fundamental P-complete problems, followed by evidence suggesting why NC does not equal P. Next, we discuss in detail the primary P-complete problem, that of evaluating a Boolean circuit. Following this we examine several sequential paradigms and their parallel versions. We describe a model for classifying algorithms as inherently sequential. We finish Part I with some general conclusions about practical parallel computation.

9 PREFACE ix the best known parallel algorithms for the problem. Please send general comments, corrections, new problems, bibliography entries, and/or copies of the relevant papers to Ray Greenlaw at Corrigenda and additions to this work can by found in the directory pub/hoover/p-complete at ftp.cs.ualberta.ca and via the World Wide Web in Jim Hoover s home page at Research Support The authors gratefully acknowledge financial support from the following organizations: Ray Greenlaw s research was supported in part by the National Science Foundation grant CCR Jim Hoover s research was supported by the Natural Sciences and Engineering Research Council of Canada grant OGP Larry Ruzzo s research was supported in part by NSF grants ECS , CCR , CCR , and by NSF/DARPA grant CCR A portion of this work was performed while visiting the University of Toronto, whose hospitality is also gratefully acknowledged. Acknowledgments An extra special thanks to Martin Tompa who helped keep this project alive when it was close to dying. Martin has provided us with many useful suggestions over the years all of which have helped to make this a better book. A special thanks to Anne Condon and Alex Schäffer for carefully reading drafts of the book. Their suggestions helped to improve specific sections. We wish to thank the following for contributing new problems, pointing us to appropriate literature, and providing us with corrections and suggestions on drafts of the manuscript: Richard Anderson, José Balcázar, David Barrington, Paul Beame, Erik Brisson, Anne Condon, Stephen Cook, Derek Corneil, Pilar de la Torre, Larry Denenberg, Sergio De Agostino, John Ellis, Arvind Gupta, John

10 x PREFACE Hershberger, David Johnson, Marek Karpinski, Tracy Kimbrel, Dexter Kozen, Luc Longpré, Mike Luby, Jon Machta, Andrew Malton, Pierre McKenzie, Satoru Miyano, Christos Papadimitriou, Teresa Przytycka, John Reif, Alex Schäffer, Roger Simons, Jack Snoeyink, Paul Spirakis, Iain Stewart, Larry Stockmeyer, Ashok Subramanian, Eva Tardos, Shang-Hua Teng, Martin Tompa, H. Venkateswaran, Joachim von zur Gathen, and Thomas Zeugmann. We want to thank the reviewers who provided us with general comments about the organization of the book as well as detailed comments. We have tried to incorporate as many of their suggestions as possible although not all of them were feasible for us. We want to thank Don Jackson at Oxford University Press. Don has been very helpful at each step in the production of this book and has been a great person to work with. Finally, we would like to thank Mike Garey and David Johnson whose book Computers and Intractability: A Guide to the Theory of NP-completeness [113] has served as a model for this work. November 1994 Ray Greenlaw Jim Hoover Larry Ruzzo

12

13 Contents Preface vii Part I: Background and Theory 1 1 Introduction Bandersnatch Design Informal Background Feasible, Highly Parallel, and Inherently Sequential Problems Why is P-Completeness Important? Some History Related Works Overview of This Book 17 2 Parallel Models of Computation Introduction The PRAM Model The Boolean Circuit Model Uniform Circuit Families Circuits and PRAMs 33 3 Complexity Search and Decision Problems Complexity Classes P, NC, FP, and FNC The Classes NC k and FNC k Random NC Reducibility Many-one Reducibility 47

14 xiv CONTENTS Turing Reducibility Other NC Compatible Reducibilities NC k Turing Reducibility Logarithmic Space Reducibility Completeness 54 4 Two Basic P -Complete Problems The Generic P-Complete Problem The Circuit Value Problem 59 5 Evidence That NC Does Not Equal P Introduction General Simulations Are Not Fast Fast Simulations Are Not General Natural Approaches Provably Fail Summary 69 6 The Circuit Value Problem The Circuit Value Problem Is P-Complete Restricted Versions of Circuit Value 75 7 Greedy Algorithms Lexicographic Greedy Algorithms Generic Greedy Algorithms 90 8 P -Complete Algorithms Introduction Inherently Sequential Algorithms Applications of the Model 98 9 Two Other Notions of P -Completeness Strong P-Completeness Strict P-Completeness Approximating P -Complete Problems Introduction Approximating LFMIS Is Hard Approximation Schemes Closing Remarks 114

15 CONTENTS xv Part II: A Compendium of Problems 117 A P -Complete Problems 119 A.1 Circuit Complexity 121 A.2 Graph Theory 128 A.3 Searching Graphs 144 A.4 Combinatorial Optimization 150 A.5 Local Optimality 158 A.6 Logic 167 A.7 Formal Languages 176 A.8 Algebra 185 A.9 Geometry 201 A.10 Real Analysis 206 A.11 Games 208 A.12 Miscellaneous 215 B Open Problems 221 B.1 Graph Theory 223 B.2 Combinatorial Optimization 226 B.3 Logic 227 B.4 Formal Languages 227 B.5 Algebra 229 B.6 Geometry 232 B.7 Real Analysis 234 B.8 CC 235 B.9 RNC 239 C Notation 244 D Complexity Classes 247 D.1 Definitions 247 D.2 Relationships Among Complexity Classes 254 Bibliography 255 Problem List 285 Index 291

16

17 Part I: Background and Theory

18

19 Chapter 1 Introduction 1.1 Bandersnatch Design The subject of this book is best illustrated by the following scenario. Suppose that you are employed in the halls of industry. More than a decade ago your company entered the highly competitive bandersnatch 1 market. While other companies thought that bandersnatch design was an intractable problem, and spent millions on supercomputers to search for possible designs, your company had the foresight to employ a few theoretical computer scientists. They discovered that there was a feasible algorithm for designing a bandersnatch directly from its specification. Your company can take an n-word specification of a bandersnatch and, in about n 3 steps, can test if the specification is reasonable and design an optimal bandersnatch that meets it. With your algorithm, a typical 15,000 word bandersnatch specification takes about one month to design. Construction only takes a week, so design dominates the bandersnatch building process. Your competitors, on the other hand, do not have a fast algorithm for producing optimal bandersnatch designs. The best that they can do is an exhaustive search through the approximately 2 n/150 possible different designs that meet the specification looking for the best one. Since this exhaustive search for the typical size of specification would take a while (say, years, assuming one design per microsecond) 1 bandersnatch. A fleet, furious, fuming, fabulous creature, of dangerous propensities, immune to bribery and too fast to flee from; later, used vaguely to suggest any creature with such qualities. Lewis Carroll, Through the Looking Glass, 1871.

23 1.1. BANDERSNATCH DESIGN 7 Algorithm Processors Time Sequential Sort 1 O(n log n) Naive Divide p(n) = O(1) O(n log n) and p(n) log n O(n(log n)/p(n)) Conquer Sort p(n) > log n O(n) Parallel Ranking p(n) = n 2 O(log n) Table 1.1: Summary of Bandersnatch Sort Subroutines. nomial numbers of processors, and they are highly parallel in the sense that their running times are polynomial in log n (polylogarithmic for short). You also notice that all of the problems have polynomial time sequential algorithms; that is, they all have feasible sequential solutions. You formulate the following question. Does every problem with a feasible sequential solution also have a feasible highly parallel solution? With confidence gained from your initial successes at developing good parallel algorithms, you begin work on the core of the bandersnatch design problem. After a few weeks, your office filled with crumpled paper, you have yet to develop a fast parallel algorithm for bandersnatch design. It appears that the design problem contains an inherently sequential component that defeats your, by now, rather sophisticated algorithmic tricks for obtaining highly parallel computations. You are faced with the prospect of announcing failure to your boss. Discussing your troubles with a colleague at lunch, she observes that what you need is a theory for parallel computation similar to the theory of NPcompleteness for sequential computation. With that theory, showing that a problem is NP-complete is evidence that an always fast and exact sequential algorithm is probably not possible. You would like a similar method to show that a fast parallel algorithm is probably not possible. Fortunately, your colleague has just read this book. What you need, she says, is to show that bandersnatch design is P-complete. By doing so, you will be showing that it is probably inherently sequential; thus, a fast parallel solution to every instance of the prob-

24 8 CHAPTER 1. INTRODUCTION lem is probably not possible. With this evidence, you can go to your boss and suggest that the design problem be relaxed somewhat in the interest of speed, and that it makes sense to continue your employment. 1.2 Informal Background When this book s distinguished ancestor Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson [113] was published in 1979, complexity theory was not often a part of the algorithm designer s toolkit. Today every graduating computer scientist is at least aware that problems whose worst case time complexity is in the class P have feasible solutions, and that problems that are NP-complete are probably difficult to solve in general. Accordingly, we have relegated many standard definitions to Appendix C and concentrate our formal definitions on the basic notions relevant to parallel computation. Before embarking on such a detailed treatment, however, we will introduce the material in an informal way Feasible, Highly Parallel, and Inherently Sequential Problems As a general rule we want our algorithms to be feasible. By feasible we mean the ability to solve the desired instances of a problem within our available resources. In practice, feasibility is very dependent on context and is not particularly portable between different problems and situations. But one common principle holds throughout almost all situations: an exponential growth rate in consumption of some resource required for a computation limits application of the method to all but the smallest of instances. Thus, feasibility has come to mean that the growth rate for the resource is bounded by a polynomial in the input size. This gives us the common notion that a problem has a feasible sequential solution only if we have a polynomial time algorithm, that is, only if any size n instance of the problem can be solved in time n O(1). Although widely acknowledged as being very simplistic, the dichotomy between polynomial and nonpolynomial time algorithms has proved to be a powerful discriminator between those computations that are feasible in practice and those that are not.

25 1.2. INFORMAL BACKGROUND 9 The same broad notion applies to parallel computations, except that processors are also considered as a resource. So we consider a parallel algorithm to be feasible only if we can find solutions to size n problem instances in time n O(1) using n O(1) processors. However, this definition of feasibility is not universally accepted, primarily because hardware appears to be a qualitatively different resource from time. But if we are not allowed to use a polynomial numbers of processors, how many should we be allowed to use? The most compelling justification for using this polynomial notion of processor feasibility comes from considering what is involved in trading processors for speed. Parallel computation provides the potential of achieving a qualitative change in the time required to solve a problem by reducing polynomial sequential time to subpolynomial parallel time. So the goal of parallel computation is to develop algorithms that use only a reasonable number of processors and are extremely fast. Regardless of the number of processors available, this goal is fundamentally limited by the speedup equation: (best sequential time)/(number of processors) (parallel time). The obvious consequence of this is that to achieve any subpolynomial time algorithm, a polynomial number of processors must be used. Thus, using the term highly parallel as we do does not even make sense unless we are willing to invest (at least conceptually) in a number of processors roughly equal to the best sequential time for the algorithm. Still, what constitutes a reasonable number of processors and what is very fast remain debatable issues. We tend to think of time as an easily obtainable resource in the sense that any machine is capable of using arbitrary amounts of time if we are willing to wait. To handle a bigger problem we simply let the algorithm run longer. Clearly this is not the case for processors. Any given machine is finite, and to add more processors means at the very least that we have to acquire them and integrate them into the interconnection network of the machine. Thus, at first glance, it seems unreasonable to entertain a model in which the number of processors is not fixed. On closer inspection, however, this viewpoint is instructive. There is a useful analogy to memory requirements in sequential complexity theory. In reality, computers have memories of some fixed, finite size. Virtual memory may stretch that bound a bit in

26 10 CHAPTER 1. INTRODUCTION practice, and (budget permitting) more memory chips can be bought and installed, but fundamentally memory is a fixed resource whose quantity is not subject to algorithmic control. This hard reality not withstanding, it has proved very fruitful to study the space complexity of algorithms as if space s(n), like time t(n), were an arbitrarily flexible commodity. This patently unrealistic assumption does not make the theory either wrong or irrelevant; it just means that the application of the theory is slightly indirect. If the space consumption s(n) of some algorithm for a given problem exceeds available memory, it usually does not mean that we should jog to the corner hardware store to buy more. Rather, it means that we must scale back the problem size we expect to solve, or find a better (more space efficient) algorithm. Similarly, it has been fruitful to view the processor requirements p(n) of parallel algorithms as growing functions of n not because the machines are flexible, but because the viewpoint allows us to focus on important intrinsic issues, like parallel decomposition of problems, and yet still be able to translate those insights into answers to pragmatic questions, like how big a problem can I solve in this amount of time with this number of processors. The debate over appropriate models will undoubtedly continue. Further opinions on these and related issues can be found in Sanz [315]. Fortunately, in this work, we can ignore most of this debate since we are concerned with problems that apparently have no subpolynomial time feasible parallel algorithms at all. In other words, rather than being highly parallel, these problems appear to be inherently sequential in any reasonable model of parallel computation. Thus, without creating much controversy, we can adopt the following informal definitions. A problem is feasible if it can be solved by a parallel algorithm with worst case time and processor complexity n O(1). A problem is feasible highly parallel if it can be solved by an algorithm with worst case time complexity (log n) O(1) and processor complexity n O(1). A problem is inherently sequential if it is feasible but has no feasible highly parallel algorithm for its solution. Note that the class of feasible parallel problems is synonymous with the class P, and we will use the two terms interchangeably.

27 1.2. INFORMAL BACKGROUND Why is P -Completeness Important? What can we do when faced with a problem that appears to be inherently sequential? One is to demonstrate at least a single instance of the problem whose solution by a parallel algorithm requires more than (log n) O(1) time. This bad instance would then provide a lower bound for the worst case time complexity of the problem. Unfortunately, nontrivial lower bounds are notoriously difficult to establish. In fact, we know of no provably inherently sequential problem. An alternative approach to understanding the difficulty of a problem is based on our usual experience with problem solving. Rarely do we solve a problem from scratch. Instead, we usually attempt to break the problem into subproblems that we already know how to solve, and whose answers when suitably combined give us a solution to the original problem. That is, we reduce the original problem to simpler ones that we know how to solve. For example, in the introductory scenario we reduced the problem of sorting a set of items to the problem of computing the rank of each item in the set. Even in the absence of an absolute lower bound, we can exploit this idea of reduction, using it counter to its normal problem solving role, to establish relative lower bounds. Suppose that many others have worked on highly parallel algorithms for solving some problem B and all have failed. The general, but unproven, consensus is that problem B is inherently sequential. Further, suppose that we begin working on a new problem, B, that we know to be feasible and for which we seek a fast parallel algorithm. After a small amount of work, we fail to show that B has a highly parallel solution, and we begin to suspect that it also is inherently sequential. Unfortunately, our small efforts on B are hardly convincing evidence for the difficulty of B perhaps we are just too slow at seeing good parallel solutions. But suppose we also observe that the hard problem B can be reduced to B. Now our case for the inherent sequentiality of B is as follows: B must be difficult because if we could solve B, then we could solve B, and B has resisted numerous attempts by many experts. How strongly does this argue the difficulty of B? If B was actually provably inherently sequential, would the reduction of B to B be irrefutable proof that B was also inherently sequential? The answer depends on how the reduction was performed. Usually we describe the reduction of B to B in terms of an algorithm that makes calls to a procedure for solving B. The complexity of the reduction

### The Classes P and NP

The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

### Offline 1-Minesweeper is NP-complete

Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.

### The LCA Problem Revisited

The LA Problem Revisited Michael A. Bender Martín Farach-olton SUNY Stony Brook Rutgers University May 16, 2000 Abstract We present a very simple algorithm for the Least ommon Ancestor problem. We thus

### NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

### Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

### IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS

Volume 2, No. 3, March 2011 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE

### PRACTICE BOOK COMPUTER SCIENCE TEST. Graduate Record Examinations. This practice book contains. Become familiar with. Visit GRE Online at www.gre.

This book is provided FREE with test registration by the Graduate Record Examinations Board. Graduate Record Examinations This practice book contains one actual full-length GRE Computer Science Test test-taking

### Lecture 2: The Complexity of Some Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 2: The Complexity of Some Problems David Mix Barrington and Alexis Maciel July 18, 2000

### Introduction to computer science

Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.

### Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

### Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY 11794 4400

Lecture 19: Introduction to NP-Completeness Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Reporting to the Boss Suppose

### WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

### Compact Representations and Approximations for Compuation in Games

Compact Representations and Approximations for Compuation in Games Kevin Swersky April 23, 2008 Abstract Compact representations have recently been developed as a way of both encoding the strategic interactions

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### Lecture 2: Universality

CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal

### Chapter 1. NP Completeness I. 1.1. Introduction. By Sariel Har-Peled, December 30, 2014 1 Version: 1.05

Chapter 1 NP Completeness I By Sariel Har-Peled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.

### Introduction Number Systems and Conversion

UNIT 1 Introduction Number Systems and Conversion Objectives 1. Introduction The first part of this unit introduces the material to be studied later. In addition to getting an overview of the material

### What Is School Mathematics?

What Is School Mathematics? Lisbon, Portugal January 30, 2010 H. Wu *I am grateful to Alexandra Alves-Rodrigues for her many contributions that helped shape this document. The German conductor Herbert

### SIMS 255 Foundations of Software Design. Complexity and NP-completeness

SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity

### Simulation-Based Security with Inexhaustible Interactive Turing Machines

Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany kuesters@ti.informatik.uni-kiel.de

### On the Relationship between Classes P and NP

Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,

### 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

### 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

### P versus NP, and More

1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify

### 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

### Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

### The Trip Scheduling Problem

The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

### Making Sense of the Mayhem: Machine Learning and March Madness

Making Sense of the Mayhem: Machine Learning and March Madness Alex Tran and Adam Ginzberg Stanford University atran3@stanford.edu ginzberg@stanford.edu I. Introduction III. Model The goal of our research

### 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

### Algebraic Computation Models. Algebraic Computation Models

Algebraic Computation Models Ζυγομήτρος Ευάγγελος ΜΠΛΑ 201118 Φεβρουάριος, 2013 Reasons for using algebraic models of computation The Turing machine model captures computations on bits. Many algorithms

### ANALYTIC HIERARCHY PROCESS (AHP) TUTORIAL

Kardi Teknomo ANALYTIC HIERARCHY PROCESS (AHP) TUTORIAL Revoledu.com Table of Contents Analytic Hierarchy Process (AHP) Tutorial... 1 Multi Criteria Decision Making... 1 Cross Tabulation... 2 Evaluation

### 1 Uncertainty and Preferences

In this chapter, we present the theory of consumer preferences on risky outcomes. The theory is then applied to study the demand for insurance. Consider the following story. John wants to mail a package

### 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

### The Scientific Data Mining Process

Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In

### (Refer Slide Time: 01:52)

Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

### Cloud Computing is NP-Complete

Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,

### An Eective Load Balancing Policy for

An Eective Load Balancing Policy for Geometric Decaying Algorithms Joseph Gil y Dept. of Computer Science The Technion, Israel Technion City, Haifa 32000 ISRAEL Yossi Matias z AT&T Bell Laboratories 600

### 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,

### 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

### CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] File Structures A file is a collection of data stored on mass storage (e.g., disk or tape) Why on mass storage? too big to fit

### CAD Algorithms. P and NP

CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using

### [Refer Slide Time: 05:10]

Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture

### Classical Information and Bits

p. 1/24 Classical Information and Bits The simplest variable that can carry information is the bit, which can take only two values, 0 or 1. Any ensemble, description, or set of discrete values can be quantified

### Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year.

This document is designed to help North Carolina educators teach the Common Core (Standard Course of Study). NCDPI staff are continually updating and improving these tools to better serve teachers. Algebra

### Introduction to time series analysis

Introduction to time series analysis Margherita Gerolimetto November 3, 2010 1 What is a time series? A time series is a collection of observations ordered following a parameter that for us is time. Examples

### ! 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

### Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP.

Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP. Explication: In his paper, The Singularity: A philosophical analysis, David Chalmers defines an extendible

### max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

### You know from calculus that functions play a fundamental role in mathematics.

CHPTER 12 Functions You know from calculus that functions play a fundamental role in mathematics. You likely view a function as a kind of formula that describes a relationship between two (or more) quantities.

### COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

### FUNCTION ANALYSIS SYSTEMS TECHNIQUE THE BASICS

FUNCTION ANALYSIS SYSTEMS TECHNIQUE THE BASICS FOREWORD Some twenty years ago, J. Jerry Kaufman gave a presentation at the SAVE international conference describing the primary features of FAST and establishing

### CS231: Computer Architecture I

CS231: Computer Architecture I Spring 2003 January 22, 2003 2000-2003 Howard Huang 1 What is computer architecture about? Computer architecture is the study of building entire computer systems. Processor

### 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

### IS YOUR DATA WAREHOUSE SUCCESSFUL? Developing a Data Warehouse Process that responds to the needs of the Enterprise.

IS YOUR DATA WAREHOUSE SUCCESSFUL? Developing a Data Warehouse Process that responds to the needs of the Enterprise. Peter R. Welbrock Smith-Hanley Consulting Group Philadelphia, PA ABSTRACT Developing

### Faster deterministic integer factorisation

David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers

### : ASYNCHRONOUS FINITE STATE MACHINE DESIGN: A LOST ART?

2006-672: ASYNCHRONOUS FINITE STATE MACHINE DESIGN: A LOST ART? Christopher Carroll, University of Minnesota-Duluth Christopher R. Carroll earned his academic degrees from Georgia Tech and from Caltech.

### 1. R In this and the next section we are going to study the properties of sequences of real numbers.

+a 1. R In this and the next section we are going to study the properties of sequences of real numbers. Definition 1.1. (Sequence) A sequence is a function with domain N. Example 1.2. A sequence of real

### GMP implementation on CUDA - A Backward Compatible Design With Performance Tuning

1 GMP implementation on CUDA - A Backward Compatible Design With Performance Tuning Hao Jun Liu, Chu Tong Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto haojun.liu@utoronto.ca,

### The van Hoeij Algorithm for Factoring Polynomials

The van Hoeij Algorithm for Factoring Polynomials Jürgen Klüners Abstract In this survey we report about a new algorithm for factoring polynomials due to Mark van Hoeij. The main idea is that the combinatorial

### Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

### 1 Limiting distribution for a Markov chain

Copyright c 2009 by Karl Sigman Limiting distribution for a Markov chain In these Lecture Notes, we shall study the limiting behavior of Markov chains as time n In particular, under suitable easy-to-check

### Compiling Scheme to a Micro 2 computer

Massachusetts Institute of Technology Course Notes 7 6.844, Spring 03: Computability Theory of and with Scheme April 22 Prof. Albert Meyer revised April 22, 2003, 1115 minutes Compiling Scheme to a Micro

### Practical Time Series Analysis Using SAS

Practical Time Series Analysis Using SAS Anders Milhøj Contents Preface... vii Part 1: Time Series as a Subject for Analysis... 1 Chapter 1 Time Series Data... 3 1.1 Time Series Questions... 3 1.2 Types

### NODAL ANALYSIS. Circuits Nodal Analysis 1 M H Miller

NODAL ANALYSIS A branch of an electric circuit is a connection between two points in the circuit. In general a simple wire connection, i.e., a 'short-circuit', is not considered a branch since it is known

### 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].

### A Working Knowledge of Computational Complexity for an Optimizer

A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational

### Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

### 2) Write in detail the issues in the design of code generator.

COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

### Steven Skiena. skiena

Lecture 3: Recurrence Relations (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Argue the solution to T(n) =

### Discuss the size of the instance for the minimum spanning tree problem.

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

### The PRAM Model and Algorithms. Advanced Topics Spring 2008 Prof. Robert van Engelen

The PRAM Model and Algorithms Advanced Topics Spring 2008 Prof. Robert van Engelen Overview The PRAM model of parallel computation Simulations between PRAM models Work-time presentation framework of parallel

### MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,

### Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Michael Bauer, Srinivasan Ravichandran University of Wisconsin-Madison Department of Computer Sciences {bauer, srini}@cs.wisc.edu

### Coverability for Parallel Programs

2015 http://excel.fit.vutbr.cz Coverability for Parallel Programs Lenka Turoňová* Abstract We improve existing method for the automatic verification of systems with parallel running processes. The technique

### 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

### CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

### Systolic Computing. Fundamentals

Systolic Computing Fundamentals Motivations for Systolic Processing PARALLEL ALGORITHMS WHICH MODEL OF COMPUTATION IS THE BETTER TO USE? HOW MUCH TIME WE EXPECT TO SAVE USING A PARALLEL ALGORITHM? HOW

### 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

### Berkeley CS191x: Quantum Mechanics and Quantum Computation Optional Class Project

Berkeley CS191x: Quantum Mechanics and Quantum Computation Optional Class Project This document describes the optional class project for the Fall 2013 offering of CS191x. The project will not be graded.

### Computational complexity theory

Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision

### ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

### U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

### A Brief Introduction to Property Testing

A Brief Introduction to Property Testing Oded Goldreich Abstract. This short article provides a brief description of the main issues that underly the study of property testing. It is meant to serve as

### Parallel Scalable Algorithms- Performance Parameters

www.bsc.es Parallel Scalable Algorithms- Performance Parameters Vassil Alexandrov, ICREA - Barcelona Supercomputing Center, Spain Overview Sources of Overhead in Parallel Programs Performance Metrics for

### (Refer Slide Time 6:09)

Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture 3 Combinational Logic Basics We defined digital signal as a signal which

### Online and Offline Selling in Limit Order Markets

Online and Offline Selling in Limit Order Markets Kevin L. Chang 1 and Aaron Johnson 2 1 Yahoo Inc. klchang@yahoo-inc.com 2 Yale University ajohnson@cs.yale.edu Abstract. Completely automated electronic

### 2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

### The Basics of Graphical Models

The Basics of Graphical Models David M. Blei Columbia University October 3, 2015 Introduction These notes follow Chapter 2 of An Introduction to Probabilistic Graphical Models by Michael Jordan. Many figures

Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

### Factoring & Primality

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

### Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 rkennedy@ix.netcom.

Some Polynomial Theorems by John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 rkennedy@ix.netcom.com This paper contains a collection of 31 theorems, lemmas,

### Theoretical Computer Science (Bridging Course) Complexity

Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the

### Students in their first advanced mathematics classes are often surprised

CHAPTER 8 Proofs Involving Sets Students in their first advanced mathematics classes are often surprised by the extensive role that sets play and by the fact that most of the proofs they encounter are

### WRITING A RESEARCH PAPER FOR A GRADUATE SEMINAR IN POLITICAL SCIENCE Ashley Leeds Rice University

WRITING A RESEARCH PAPER FOR A GRADUATE SEMINAR IN POLITICAL SCIENCE Ashley Leeds Rice University Here are some basic tips to help you in writing your research paper. The guide is divided into six sections

### CHAPTER - 5 CONCLUSIONS / IMP. FINDINGS

CHAPTER - 5 CONCLUSIONS / IMP. FINDINGS In today's scenario data warehouse plays a crucial role in order to perform important operations. Different indexing techniques has been used and analyzed using

### Chapter 2: Number Systems

Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This two-valued number system is called binary. As presented earlier, there are many

### South Carolina College- and Career-Ready (SCCCR) Algebra 1

South Carolina College- and Career-Ready (SCCCR) Algebra 1 South Carolina College- and Career-Ready Mathematical Process Standards The South Carolina College- and Career-Ready (SCCCR) Mathematical Process