UCT Algorithm Circle: Probabilistic Algorithms

Size: px
Start display at page:

Download "UCT Algorithm Circle: Probabilistic Algorithms"

Transcription

1 UCT Algorithm Circle: 24 February 2011

2 Outline 1 2 3

3 Probabilistic algorithm A probabilistic algorithm is one which uses a source of random information The randomness used may result in randomness in the output, or the output may not be affected by it The running time may be good in the expected case, and bad in the worst case We can model such algorithms as probabilistic turing machines

4 Probabilistic algorithm A probabilistic algorithm is one which uses a source of random information The randomness used may result in randomness in the output, or the output may not be affected by it The running time may be good in the expected case, and bad in the worst case We can model such algorithms as probabilistic turing machines

5 Probabilistic algorithm A probabilistic algorithm is one which uses a source of random information The randomness used may result in randomness in the output, or the output may not be affected by it The running time may be good in the expected case, and bad in the worst case We can model such algorithms as probabilistic turing machines

6 Las Vegas algorithm A Las Vegas algorithm is guaranteed to always return the correct result The output may be different if the algorithm is run again (e.g. a non-stable sort may return different, but correct, results) The worst-case running time may be significantly different from the expected time Example: quicksort

7 Las Vegas algorithm A Las Vegas algorithm is guaranteed to always return the correct result The output may be different if the algorithm is run again (e.g. a non-stable sort may return different, but correct, results) The worst-case running time may be significantly different from the expected time Example: quicksort

8 Las Vegas algorithm A Las Vegas algorithm is guaranteed to always return the correct result The output may be different if the algorithm is run again (e.g. a non-stable sort may return different, but correct, results) The worst-case running time may be significantly different from the expected time Example: quicksort

9 Las Vegas algorithm A Las Vegas algorithm is guaranteed to always return the correct result The output may be different if the algorithm is run again (e.g. a non-stable sort may return different, but correct, results) The worst-case running time may be significantly different from the expected time Example: quicksort

10 Monte Carlo method A Monte Carlo method is one in which the results are random; and not necessarily correct The results may be correct some fraction of the time, or they may be a numerical approximation to some quantity Generally a better result can be obtained by running the algorithm for longer, as Monte Carlo methods generally work by random sampling The running time is usually not random Example: Metropolis-Hastings algorithm

11 Monte Carlo method A Monte Carlo method is one in which the results are random; and not necessarily correct The results may be correct some fraction of the time, or they may be a numerical approximation to some quantity Generally a better result can be obtained by running the algorithm for longer, as Monte Carlo methods generally work by random sampling The running time is usually not random Example: Metropolis-Hastings algorithm

12 Monte Carlo method A Monte Carlo method is one in which the results are random; and not necessarily correct The results may be correct some fraction of the time, or they may be a numerical approximation to some quantity Generally a better result can be obtained by running the algorithm for longer, as Monte Carlo methods generally work by random sampling The running time is usually not random Example: Metropolis-Hastings algorithm

13 Monte Carlo method A Monte Carlo method is one in which the results are random; and not necessarily correct The results may be correct some fraction of the time, or they may be a numerical approximation to some quantity Generally a better result can be obtained by running the algorithm for longer, as Monte Carlo methods generally work by random sampling The running time is usually not random Example: Metropolis-Hastings algorithm

14 Monte Carlo method A Monte Carlo method is one in which the results are random; and not necessarily correct The results may be correct some fraction of the time, or they may be a numerical approximation to some quantity Generally a better result can be obtained by running the algorithm for longer, as Monte Carlo methods generally work by random sampling The running time is usually not random Example: Metropolis-Hastings algorithm

15 Outline 1 2 3

16 Building a binary search tree We can quickly build a binary search tree from a list by adding elements one by one, starting at the root In the case of strange input data, this may give an unbalanced tree If items are added in a random order, the expected height will be small regardless of the input ordering

17 Building a binary search tree We can quickly build a binary search tree from a list by adding elements one by one, starting at the root In the case of strange input data, this may give an unbalanced tree If items are added in a random order, the expected height will be small regardless of the input ordering

18 Building a binary search tree We can quickly build a binary search tree from a list by adding elements one by one, starting at the root In the case of strange input data, this may give an unbalanced tree If items are added in a random order, the expected height will be small regardless of the input ordering

19 Polygon triangulation Seidel s algorithm for polygon triangulation requires processing the edges of a polygon sequentially and hence updating a tree The tree will potentially become unbalanced Randomization makes this less likely This results in an algorithm of O(nlog (n)) In this case, similar to with constructing a binary search tree, randomisation is useful because it makes the worst case performance unlikely to occur

20 Polygon triangulation Seidel s algorithm for polygon triangulation requires processing the edges of a polygon sequentially and hence updating a tree The tree will potentially become unbalanced Randomization makes this less likely This results in an algorithm of O(nlog (n)) In this case, similar to with constructing a binary search tree, randomisation is useful because it makes the worst case performance unlikely to occur

21 Polygon triangulation Seidel s algorithm for polygon triangulation requires processing the edges of a polygon sequentially and hence updating a tree The tree will potentially become unbalanced Randomization makes this less likely This results in an algorithm of O(nlog (n)) In this case, similar to with constructing a binary search tree, randomisation is useful because it makes the worst case performance unlikely to occur

22 Probabilistic primality testing A number of efficient algorithms for checking primality of numbers are in co RP. For Miller-Rabin, for example, when the algorithm indicates compositeness, it is guaranteed, and the probability of the test incorrectly identifying a composite as prime can be made exponentially smaller by linearly increasing the running time. This can be used to make the algorithm effectively never fail, by using a few tens of iterations.

23 Probabilistic primality testing A number of efficient algorithms for checking primality of numbers are in co RP. For Miller-Rabin, for example, when the algorithm indicates compositeness, it is guaranteed, and the probability of the test incorrectly identifying a composite as prime can be made exponentially smaller by linearly increasing the running time. This can be used to make the algorithm effectively never fail, by using a few tens of iterations.

24 Probabilistic primality testing A number of efficient algorithms for checking primality of numbers are in co RP. For Miller-Rabin, for example, when the algorithm indicates compositeness, it is guaranteed, and the probability of the test incorrectly identifying a composite as prime can be made exponentially smaller by linearly increasing the running time. This can be used to make the algorithm effectively never fail, by using a few tens of iterations.

25 Genetic algorithms Suppose that we want to maximise some function over some parameter space, but we don t know anything about the function other than that it is (somewhat) continuous. We can choose random points in the space, and select the best one. We can also make use of the fact that the function is continuous to search for better solutions near good solutions. This leads to algorithms such as genetic algorithms and simulated annealing.

26 Genetic algorithms Suppose that we want to maximise some function over some parameter space, but we don t know anything about the function other than that it is (somewhat) continuous. We can choose random points in the space, and select the best one. We can also make use of the fact that the function is continuous to search for better solutions near good solutions. This leads to algorithms such as genetic algorithms and simulated annealing.

27 Genetic algorithms Suppose that we want to maximise some function over some parameter space, but we don t know anything about the function other than that it is (somewhat) continuous. We can choose random points in the space, and select the best one. We can also make use of the fact that the function is continuous to search for better solutions near good solutions. This leads to algorithms such as genetic algorithms and simulated annealing.

28 Rabin s nearest neighbor algorithm Suppose we have a set of points on the plane, and we want to find the two points which have the least distance from each other There exist deterministic algorithms which are O(nlog(n)) to solve this However, there is a probabilistic algorithm which is O(n) expected time, which works by selecting a random subset of points of size n, and hence finding an upper bound d on the minimum distance

29 Rabin s nearest neighbor algorithm Suppose we have a set of points on the plane, and we want to find the two points which have the least distance from each other There exist deterministic algorithms which are O(nlog(n)) to solve this However, there is a probabilistic algorithm which is O(n) expected time, which works by selecting a random subset of points of size n, and hence finding an upper bound d on the minimum distance

30 Outline 1 2 3

31 Probabilistic Turing machine Similar to a non-deterministic turing machine, but the state transition function assigns probabilities to each future state From these probabilities, we can find the probability that the accepting and rejecting states are reached

32 Complexity classes The following are defined with respect to probabilistic turing machines, and refer to decision problems ZPP: Zero-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time. BPP: Bounded-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time with a probability of error of at most 1/3. RP: Randomized Polynomial time The class of decision problems for which False is always returned if the answer is False, and True is returned in at least 1/2 of cases if the answer is True. The polynomial time is expected value. co RP: Similar to RP, with True and False switched. QBP: Uses quantum stuff, otherwise similar to BPP.

33 Complexity classes The following are defined with respect to probabilistic turing machines, and refer to decision problems ZPP: Zero-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time. BPP: Bounded-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time with a probability of error of at most 1/3. RP: Randomized Polynomial time The class of decision problems for which False is always returned if the answer is False, and True is returned in at least 1/2 of cases if the answer is True. The polynomial time is expected value. co RP: Similar to RP, with True and False switched. QBP: Uses quantum stuff, otherwise similar to BPP.

34 Complexity classes The following are defined with respect to probabilistic turing machines, and refer to decision problems ZPP: Zero-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time. BPP: Bounded-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time with a probability of error of at most 1/3. RP: Randomized Polynomial time The class of decision problems for which False is always returned if the answer is False, and True is returned in at least 1/2 of cases if the answer is True. The polynomial time is expected value. co RP: Similar to RP, with True and False switched. QBP: Uses quantum stuff, otherwise similar to BPP.

35 Complexity classes The following are defined with respect to probabilistic turing machines, and refer to decision problems ZPP: Zero-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time. BPP: Bounded-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time with a probability of error of at most 1/3. RP: Randomized Polynomial time The class of decision problems for which False is always returned if the answer is False, and True is returned in at least 1/2 of cases if the answer is True. The polynomial time is expected value. co RP: Similar to RP, with True and False switched. QBP: Uses quantum stuff, otherwise similar to BPP.

36 Complexity classes The following are defined with respect to probabilistic turing machines, and refer to decision problems ZPP: Zero-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time. BPP: Bounded-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time with a probability of error of at most 1/3. RP: Randomized Polynomial time The class of decision problems for which False is always returned if the answer is False, and True is returned in at least 1/2 of cases if the answer is True. The polynomial time is expected value. co RP: Similar to RP, with True and False switched. QBP: Uses quantum stuff, otherwise similar to BPP.

37 Complexity classes The following are defined with respect to probabilistic turing machines, and refer to decision problems ZPP: Zero-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time. BPP: Bounded-error Probabilistic Polynomial time. The class of problems which can be solved in expected polynomial time with a probability of error of at most 1/3. RP: Randomized Polynomial time The class of decision problems for which False is always returned if the answer is False, and True is returned in at least 1/2 of cases if the answer is True. The polynomial time is expected value. co RP: Similar to RP, with True and False switched. QBP: Uses quantum stuff, otherwise similar to BPP.

Design and Analysis of Algorithms (VII)

Design and Analysis of Algorithms (VII) Design and Analysis of Algorithms (VII) An Introduction to Randomized Algorithms Guoqiang Li School of Software, Shanghai Jiao Tong University Randomized Algorithms algorithms which employ a degree of

More information

6.856 Randomized Algorithms

6.856 Randomized Algorithms 6.856 Randomized Algorithms David Karger Handout #4, September 21, 2002 Homework 1 Solutions Problem 1 MR 1.8. (a) The min-cut algorithm given in class works because at each step it is very unlikely (probability

More information

Great Theoretical Ideas in Computer Science

Great Theoretical Ideas in Computer Science 15-251 Great Theoretical Ideas in Computer Science Lecture 20: Randomized Algorithms November 5th, 2015 So far Formalization of computation/algorithm Computability / Uncomputability Computational complexity

More information

Randomized algorithms have several advantages over deterministic ones. We discuss them here:

Randomized algorithms have several advantages over deterministic ones. We discuss them here: CS787: Advanced Algorithms Lecture 6: Randomized Algorithms In this lecture we introduce randomized algorithms. We will begin by motivating the use of randomized algorithms through a few examples. Then

More information

31.6 Powers of an element

31.6 Powers of an element 31.6 Powers of an element Just as we often consider the multiples of a given element, modulo, we consider the sequence of powers of, modulo, where :,,,,. modulo Indexing from 0, the 0th value in this sequence

More information

Lecture 1 August 31, 2017

Lecture 1 August 31, 2017 CS 388R: Randomized Algorithms Fall 017 Lecture 1 August 31, 017 Prof. Eric Price Scribe: Garrett Goble, Daniel Brown NOTE: THESE NOTES HAVE NOT BEEN EDITED OR CHECKED FOR CORRECTNESS 1 Randomized Algorithms

More information

Review of course COMP-251B winter 2010

Review of course COMP-251B winter 2010 Review of course COMP-251B winter 2010 Lecture 1. Book Section 15.2 : Chained matrix product Matrix product is associative Computing all possible ways of parenthesizing Recursive solution Worst-case running-time

More information

Outline Purpose How to analyze algorithms Examples. Algorithm Analysis. Seth Long. January 15, 2010

Outline Purpose How to analyze algorithms Examples. Algorithm Analysis. Seth Long. January 15, 2010 January 15, 2010 Intuitive Definitions Common Runtimes Final Notes Compare space and time requirements for algorithms Understand how an algorithm scales with larger datasets Intuitive Definitions Outline

More information

Stochastic Algorithms

Stochastic Algorithms Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations Monte Carlo Las Vegas We have already encountered some

More information

The complement of PATH is in NL

The complement of PATH is in NL 340 The complement of PATH is in NL Let c be the number of nodes in graph G that are reachable from s We assume that c is provided as an input to M Given G, s, t, and c the machine M operates as follows:

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174

More information

Introduction to Randomized Algorithms

Introduction to Randomized Algorithms Introduction to Randomized Algorithms Gopinath Mishra Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Organization 1 Introduction 2 Some basic ideas from

More information

Probabilistic (Randomized) algorithms

Probabilistic (Randomized) algorithms Probabilistic (Randomized) algorithms Idea: Build algorithms using a random element so as gain improved performance. For some cases, improved performance is very dramatic, moving from intractable to tractable.

More information

Randomized algorithms. Inge Li Gørtz

Randomized algorithms. Inge Li Gørtz Randomized algorithms Inge Li Gørtz 1 Randomized algorithms Today What are randomized algorithms? Properties of randomized algorithms Three examples: Median/Select. Quick-sort Closest pair of points 2

More information

Random and Parallel Algorithms a journey from Monte Carlo to Las Vegas

Random and Parallel Algorithms a journey from Monte Carlo to Las Vegas Random and Parallel Algorithms a journey from Monte Carlo to Las Vegas Google Maps couldn t help! Bogdán Zaválnij Institute of Mathematics and Informatics University of Pecs Ljubljana, 2014 Bogdán Zaválnij

More information

Algorithms and Data Structures for Mathematicians

Algorithms and Data Structures for Mathematicians Algorithms and Data Structures for Mathematicians Lecture 5: Sorting Peter Kostolányi kostolanyi at fmph and so on Room M-258 26 October 2017 Sorting Algorithms Covered So Far Worst-case time complexity

More information

Computational Methods of Feature Selection

Computational Methods of Feature Selection Computational Methods of Feature Selection CRC PRESS Boca Raton London New York Washington, D.C. Contents I Some Part 9 1 Randomized Feature Selection 11 David J. Stracuzzi Arizona State University 1.1

More information

Theory of Computations Spring 2016 Practice Final Exam Solutions

Theory of Computations Spring 2016 Practice Final Exam Solutions 1 of 8 Theory of Computations Spring 2016 Practice Final Exam Solutions Name: Directions: Answer the questions as well as you can. Partial credit will be given, so show your work where appropriate. Try

More information

Computational Geometry

Computational Geometry Planar point location Point location Introduction Planar point location Strip-based structure Point location problem: Preprocess a planar subdivision such that for any query point q, the face of the subdivision

More information

Recitation 4: Elimination algorithm, reconstituted graph, triangulation

Recitation 4: Elimination algorithm, reconstituted graph, triangulation Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Recitation 4: Elimination algorithm, reconstituted graph, triangulation

More information

Introduction to Algorithms May 14, 2003 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser.

Introduction to Algorithms May 14, 2003 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser. Introduction to Algorithms May 14, 2003 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Practice Final Practice Final Do not open this exam booklet until

More information

Randomized Algorithms Week 4: Decision Problems

Randomized Algorithms Week 4: Decision Problems Randomized Algorithms Week 4: Decision Problems Rao Kosaraju 4.1 Decision Problems Definition 1. Decision Problem: For a language L over an alphabet, given any x, is x L. Definition 2. Las Vegas Algorithm:

More information

Comparison Sorts. Chapter 9.4, 12.1, 12.2

Comparison Sorts. Chapter 9.4, 12.1, 12.2 Comparison Sorts Chapter 9.4, 12.1, 12.2 Sorting We have seen the advantage of sorted data representations for a number of applications Sparse vectors Maps Dictionaries Here we consider the problem of

More information

Sorting and Selection

Sorting and Selection Sorting and Selection Introduction Divide and Conquer Merge-Sort Quick-Sort Radix-Sort Bucket-Sort 10-1 Introduction Assuming we have a sequence S storing a list of keyelement entries. The key of the element

More information

Randomized Algorithms

Randomized Algorithms Randomized Algorithms Textbook: Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan. 1 Randomized Algorithms A Randomized Algorithm uses a random number generator. its behavior is determined

More information

Chapter 1. Introduction

Chapter 1. Introduction Chapter 1 Introduction A Monte Carlo method is a compuational method that uses random numbers to compute (estimate) some quantity of interest. Very often the quantity we want to compute is the mean of

More information

Lecture 1 Aug. 26, 2015

Lecture 1 Aug. 26, 2015 CS 388R: Randomized Algorithms Fall 015 Prof. Eric Price Lecture 1 Aug. 6, 015 Scribe: Ashish Bora, Jessica Hoffmann 1 Overview In this lecture, we get a first taste of randomized algorithms, from definition

More information

Computational Geometry

Computational Geometry Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess

More information

Parallel and Sequential Data Structures and Algorithms Lecture (Spring 2012) Lecture 16 Treaps; Augmented BSTs

Parallel and Sequential Data Structures and Algorithms Lecture (Spring 2012) Lecture 16 Treaps; Augmented BSTs Lecture 16 Treaps; Augmented BSTs Parallel and Sequential Data Structures and Algorithms, 15-210 (Spring 2012) Lectured by Margaret Reid-Miller 8 March 2012 Today: - More on Treaps - Ordered Sets and Tables

More information

COMP 352 FALL Tutorial 10

COMP 352 FALL Tutorial 10 1 COMP 352 FALL 2016 Tutorial 10 SESSION OUTLINE Divide-and-Conquer Method Sort Algorithm Properties Quick Overview on Sorting Algorithms Merge Sort Quick Sort Bucket Sort Radix Sort Problem Solving 2

More information

COMP Data Structures

COMP Data Structures COMP 2140 - Data Structures Shahin Kamali Topic 5 - Sorting University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 55 Overview Review: Insertion Sort Merge Sort Quicksort

More information

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6

More information

Monte Carlo Methods; Combinatorial Search

Monte Carlo Methods; Combinatorial Search Monte Carlo Methods; Combinatorial Search Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico November 22, 2012 CPD (DEI / IST) Parallel and

More information

Computational Geometry

Computational Geometry Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess

More information

Approximate (Monte Carlo) Inference in Bayes Nets. Monte Carlo (continued)

Approximate (Monte Carlo) Inference in Bayes Nets. Monte Carlo (continued) Approximate (Monte Carlo) Inference in Bayes Nets Basic idea: Let s repeatedly sample according to the distribution represented by the Bayes Net. If in 400/1000 draws, the variable X is true, then we estimate

More information

Lecture 19 Sorting Goodrich, Tamassia

Lecture 19 Sorting Goodrich, Tamassia Lecture 19 Sorting 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 2004 Goodrich, Tamassia Outline Review 3 simple sorting algorithms: 1. selection Sort (in previous course) 2. insertion Sort (in previous

More information

Data Structures. Sorting. Haim Kaplan & Uri Zwick December 2013

Data Structures. Sorting. Haim Kaplan & Uri Zwick December 2013 Data Structures Sorting Haim Kaplan & Uri Zwick December 2013 1 Comparison based sorting key a 1 a 2 a n info Input: An array containing n items Keys belong to a totally ordered domain Two keys can be

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

1 Minimum Cut Problem

1 Minimum Cut Problem CS 6 Lecture 6 Min Cut and Karger s Algorithm Scribes: Peng Hui How, Virginia Williams (05) Date: November 7, 07 Anthony Kim (06), Mary Wootters (07) Adapted from Virginia Williams lecture notes Minimum

More information

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many

More information

Combinatorial Search; Monte Carlo Methods

Combinatorial Search; Monte Carlo Methods Combinatorial Search; Monte Carlo Methods Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico May 02, 2016 CPD (DEI / IST) Parallel and Distributed

More information

Introduction to the Analysis of Algorithms. Algorithm

Introduction to the Analysis of Algorithms. Algorithm Introduction to the Analysis of Algorithms Based on the notes from David Fernandez-Baca Bryn Mawr College CS206 Intro to Data Structures Algorithm An algorithm is a strategy (well-defined computational

More information

Multiple-choice (35 pt.)

Multiple-choice (35 pt.) CS 161 Practice Midterm I Summer 2018 Released: 7/21/18 Multiple-choice (35 pt.) 1. (2 pt.) Which of the following asymptotic bounds describe the function f(n) = n 3? The bounds do not necessarily need

More information

Exact Sampling for Hardy- Weinberg Equilibrium

Exact Sampling for Hardy- Weinberg Equilibrium Exact Sampling for Hardy- Weinberg Equilibrium Mark Huber Dept. of Mathematics and Institute of Statistics and Decision Sciences Duke University mhuber@math.duke.edu www.math.duke.edu/~mhuber Joint work

More information

Parameterized Complexity - an Overview

Parameterized Complexity - an Overview Parameterized Complexity - an Overview 1 / 30 Parameterized Complexity - an Overview Ue Flarup 1 flarup@imada.sdu.dk 1 Department of Mathematics and Computer Science University of Southern Denmark, Odense,

More information

Department of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I

Department of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I MCA 312: Design and Analysis of Algorithms [Part I : Medium Answer Type Questions] UNIT I 1) What is an Algorithm? What is the need to study Algorithms? 2) Define: a) Time Efficiency b) Space Efficiency

More information

Comparison Based Sorting Algorithms. Algorithms and Data Structures: Lower Bounds for Sorting. Comparison Based Sorting Algorithms

Comparison Based Sorting Algorithms. Algorithms and Data Structures: Lower Bounds for Sorting. Comparison Based Sorting Algorithms Comparison Based Sorting Algorithms Algorithms and Data Structures: Lower Bounds for Sorting Definition 1 A sorting algorithm is comparison based if comparisons A[i] < A[j], A[i] A[j], A[i] = A[j], A[i]

More information

EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D

EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D SOLUTIONS EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D This exam consists of 6 questions, worth 10 points in total, and a bonus question for 1 more point. Using

More information

The Algorithm Design Manual

The Algorithm Design Manual Steven S. Skiena The Algorithm Design Manual With 72 Figures Includes CD-ROM THE ELECTRONIC LIBRARY OF SCIENCE Contents Preface vii I TECHNIQUES 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 2 2.1 2.2 2.3

More information

Algorithms and Data Structures: Lower Bounds for Sorting. ADS: lect 7 slide 1

Algorithms and Data Structures: Lower Bounds for Sorting. ADS: lect 7 slide 1 Algorithms and Data Structures: Lower Bounds for Sorting ADS: lect 7 slide 1 ADS: lect 7 slide 2 Comparison Based Sorting Algorithms Definition 1 A sorting algorithm is comparison based if comparisons

More information

Quiz 1 Solutions. (a) f(n) = n g(n) = log n Circle all that apply: f = O(g) f = Θ(g) f = Ω(g)

Quiz 1 Solutions. (a) f(n) = n g(n) = log n Circle all that apply: f = O(g) f = Θ(g) f = Ω(g) Introduction to Algorithms March 11, 2009 Massachusetts Institute of Technology 6.006 Spring 2009 Professors Sivan Toledo and Alan Edelman Quiz 1 Solutions Problem 1. Quiz 1 Solutions Asymptotic orders

More information

Geometric Data Structures Multi-dimensional queries Nearest neighbour problem References. Notes on Computational Geometry and Data Structures

Geometric Data Structures Multi-dimensional queries Nearest neighbour problem References. Notes on Computational Geometry and Data Structures Notes on Computational Geometry and Data Structures 2008 Geometric Data Structures and CGAL Geometric Data Structures and CGAL Data Structure Interval Tree Priority Search Tree Segment Tree Range tree

More information

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS) COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small

More information

Adaptive Large Neighborhood Search

Adaptive Large Neighborhood Search Adaptive Large Neighborhood Search Heuristic algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) VLSN and LNS By Very Large Scale Neighborhood (VLSN) local search, we

More information

Implicit Computation: An Output- Polynomial Algorithm for Evaluating Straight-Line Programs

Implicit Computation: An Output- Polynomial Algorithm for Evaluating Straight-Line Programs Implicit Computation: An Output- Polynomial Algorithm for Evaluating Straight-Line Programs Troy A. Shahoumian Software Technology Laboratory HP Laboratories Palo Alto HPL-1999-25 February, 1999 E-mail:

More information

Subset sum problem and dynamic programming

Subset sum problem and dynamic programming Lecture Notes: Dynamic programming We will discuss the subset sum problem (introduced last time), and introduce the main idea of dynamic programming. We illustrate it further using a variant of the so-called

More information

1. Practice the use of the C ++ repetition constructs of for, while, and do-while. 2. Use computer-generated random numbers.

1. Practice the use of the C ++ repetition constructs of for, while, and do-while. 2. Use computer-generated random numbers. 1 Purpose This lab illustrates the use of looping structures by introducing a class of programming problems called numerical algorithms. 1. Practice the use of the C ++ repetition constructs of for, while,

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Merge Sort & Quick Sort

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Merge Sort & Quick Sort Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Merge Sort & Quick Sort 1 Divide-and-Conquer Divide-and conquer is a general algorithm

More information

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016 University of Nevada, Las Vegas Computer Science 456/656 Fall 2016 The entire examination is 925 points. The real final will be much shorter. Name: No books, notes, scratch paper, or calculators. Use pen

More information

Sorting. Hsuan-Tien Lin. June 9, Dept. of CSIE, NTU. H.-T. Lin (NTU CSIE) Sorting 06/09, / 13

Sorting. Hsuan-Tien Lin. June 9, Dept. of CSIE, NTU. H.-T. Lin (NTU CSIE) Sorting 06/09, / 13 Sorting Hsuan-Tien Lin Dept. of CSIE, NTU June 9, 2014 H.-T. Lin (NTU CSIE) Sorting 06/09, 2014 0 / 13 Selection Sort: Review and Refinements idea: linearly select the minimum one from unsorted part; put

More information

Algorithms and Applications

Algorithms and Applications Algorithms and Applications 1 Areas done in textbook: Sorting Algorithms Numerical Algorithms Image Processing Searching and Optimization 2 Chapter 10 Sorting Algorithms - rearranging a list of numbers

More information

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m

More information

SAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 6. Sorting Algorithms

SAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 6. Sorting Algorithms SAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 6 6.0 Introduction Sorting algorithms used in computer science are often classified by: Computational complexity (worst, average and best behavior) of element

More information

Variational Methods for Graphical Models

Variational Methods for Graphical Models Chapter 2 Variational Methods for Graphical Models 2.1 Introduction The problem of probabb1istic inference in graphical models is the problem of computing a conditional probability distribution over the

More information

THEORY OF COMPUTATION

THEORY OF COMPUTATION Chapter Eleven THEORY OF COMPUTATION Chapter Summary This chapter introduces the subjects of computability as well as problem classification according to (time) complexity. It begins by presenting the

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.

More information

1. [5 points each] True or False. If the question is currently open, write O or Open.

1. [5 points each] True or False. If the question is currently open, write O or Open. University of Nevada, Las Vegas Computer Science 456/656 Spring 2018 Practice for the Final on May 9, 2018 The entire examination is 775 points. The real final will be much shorter. Name: No books, notes,

More information

lecture notes September 2, How to sort?

lecture notes September 2, How to sort? .30 lecture notes September 2, 203 How to sort? Lecturer: Michel Goemans The task of sorting. Setup Suppose we have n objects that we need to sort according to some ordering. These could be integers or

More information

DIVIDE AND CONQUER ALGORITHMS ANALYSIS WITH RECURRENCE EQUATIONS

DIVIDE AND CONQUER ALGORITHMS ANALYSIS WITH RECURRENCE EQUATIONS CHAPTER 11 SORTING ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 2004) AND SLIDES FROM NANCY M. AMATO AND

More information

Theory and Frontiers of Computer Science. Fall 2013 Carola Wenk

Theory and Frontiers of Computer Science. Fall 2013 Carola Wenk Theory and Frontiers of Computer Science Fall 2013 Carola Wenk We have seen so far Computer Architecture and Digital Logic (Von Neumann Architecture, binary numbers, circuits) Introduction to Python (if,

More information

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}. Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

2SAT Andreas Klappenecker

2SAT Andreas Klappenecker 2SAT Andreas Klappenecker The Problem Can we make the following boolean formula true? ( x y) ( y z) (z y)! Terminology A boolean variable is a variable that can be assigned the values true (T) or false

More information

Prelim 2. CS 2110, November 20, 2014, 7:30 PM Extra Total Question True/False Short Answer

Prelim 2. CS 2110, November 20, 2014, 7:30 PM Extra Total Question True/False Short Answer Prelim 2 CS 2110, November 20, 2014, 7:30 PM 1 2 3 4 5 Extra Total Question True/False Short Answer Complexity Induction Trees Graphs Extra Credit Max 20 10 15 25 30 5 100 Score Grader The exam is closed

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

Sublinear Geometric Algorithms

Sublinear Geometric Algorithms Sublinear Geometric Algorithms B. Chazelle, D. Liu, A. Magen Princeton University / University of Toronto STOC 2003 CS 468 Geometric Algorithms Seminar Winter 2005/2006 Overview What is this paper about?

More information

Nondeterministic Query Algorithms

Nondeterministic Query Algorithms Journal of Universal Computer Science, vol. 17, no. 6 (2011), 859-873 submitted: 30/7/10, accepted: 17/2/11, appeared: 28/3/11 J.UCS Nondeterministic Query Algorithms Alina Vasilieva (Faculty of Computing,

More information

6th Bay Area Mathematical Olympiad

6th Bay Area Mathematical Olympiad 6th Bay Area Mathematical Olympiad February 4, 004 Problems and Solutions 1 A tiling of the plane with polygons consists of placing the polygons in the plane so that interiors of polygons do not overlap,

More information

Lecture 5. Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs

Lecture 5. Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs Lecture 5 Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs Reading: Randomized Search Trees by Aragon & Seidel, Algorithmica 1996, http://sims.berkeley.edu/~aragon/pubs/rst96.pdf;

More information

CS 171: Introduction to Computer Science II. Quicksort

CS 171: Introduction to Computer Science II. Quicksort CS 171: Introduction to Computer Science II Quicksort Roadmap MergeSort Recursive Algorithm (top-down) Practical Improvements Non-recursive algorithm (bottom-up) Analysis QuickSort Algorithm Analysis Practical

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

Lower Bound on Comparison-based Sorting

Lower Bound on Comparison-based Sorting Lower Bound on Comparison-based Sorting Different sorting algorithms may have different time complexity, how to know whether the running time of an algorithm is best possible? We know of several sorting

More information

Quick-Sort. Quick-Sort 1

Quick-Sort. Quick-Sort 1 Quick-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 Quick-Sort 1 Outline and Reading Quick-sort ( 4.3) Algorithm Partition step Quick-sort tree Execution example Analysis of quick-sort (4.3.1) In-place

More information

ECE 2574: Data Structures and Algorithms - Big-O Notation. C. L. Wyatt

ECE 2574: Data Structures and Algorithms - Big-O Notation. C. L. Wyatt ECE 2574: Data Structures and Algorithms - Big-O Notation C. L. Wyatt Today we will look at a common way algorithms are described, as an upper-bound on their growth rate functions. These are used to categorize

More information

Combinatorial Optimization - Lecture 14 - TSP EPFL

Combinatorial Optimization - Lecture 14 - TSP EPFL Combinatorial Optimization - Lecture 14 - TSP EPFL 2012 Plan Simple heuristics Alternative approaches Best heuristics: local search Lower bounds from LP Moats Simple Heuristics Nearest Neighbor (NN) Greedy

More information

26 How Many Times Must a White Dove Sail...

26 How Many Times Must a White Dove Sail... Lecture 26 c 2005 Felleisen, Proulx, et. al. 26 How Many Times Must a White Dove Sail... From Here to Eternity According to an old legend the priests in the Temple of Brahma got the task of measuring the

More information

Primality Testing. Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers

Primality Testing. Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers Primality Testing Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers Exponential in p (number of bits to represent p) Improvement:

More information

Warm-up as you walk in

Warm-up as you walk in arm-up as you walk in Given these N=10 observations of the world: hat is the approximate value for P c a, +b? A. 1/10 B. 5/10. 1/4 D. 1/5 E. I m not sure a, b, +c +a, b, +c a, b, +c a, +b, +c +a, b, +c

More information

Elementary maths for GMT. Algorithm analysis Part II

Elementary maths for GMT. Algorithm analysis Part II Elementary maths for GMT Algorithm analysis Part II Algorithms, Big-Oh and Big-Omega An algorithm has a O( ) and Ω( ) running time By default, we mean the worst case running time A worst case O running

More information

Monte Carlo Methods. CS1538: Introduction to Simulations

Monte Carlo Methods. CS1538: Introduction to Simulations Monte Carlo Methods CS1538: Introduction to Simulations Monte Carlo Simulation We ve primarily focused on simulation models that are stochastic and dynamic Today, we start talking about static models,

More information

Hot topics and Open problems in Computational Geometry. My (limited) perspective. Class lecture for CSE 546,

Hot topics and Open problems in Computational Geometry. My (limited) perspective. Class lecture for CSE 546, Hot topics and Open problems in Computational Geometry. My (limited) perspective Class lecture for CSE 546, 2-13-07 Some slides from this talk are from Jack Snoeyink and L. Kavrakis Key trends on Computational

More information

Outline Purpose Disjoint Sets Maze Generation. Disjoint Sets. Seth Long. March 24, 2010

Outline Purpose Disjoint Sets Maze Generation. Disjoint Sets. Seth Long. March 24, 2010 March 24, 2010 Equivalence Classes Some Applications Forming Equivalence Classes Equivalence Classes Some Applications Forming Equivalence Classes Equivalence Classes The class of all things equivelant

More information

CS 231: Algorithmic Problem Solving

CS 231: Algorithmic Problem Solving CS 231: Algorithmic Problem Solving Naomi Nishimura Module 7 Date of this version: January 28, 2019 WARNING: Drafts of slides are made available prior to lecture for your convenience. After lecture, slides

More information

Parallel Monte Carlo Trials

Parallel Monte Carlo Trials Syracuse University SURFACE Electrical Engineering and Computer Science Technical Reports College of Engineering and Computer Science 6-1992 Parallel Monte Carlo Trials Per Brinch Hansen Syracuse University,

More information

6. Advanced Topics in Computability

6. Advanced Topics in Computability 227 6. Advanced Topics in Computability The Church-Turing thesis gives a universally acceptable definition of algorithm Another fundamental concept in computer science is information No equally comprehensive

More information

Final Exam. Introduction to Artificial Intelligence. CS 188 Spring 2010 INSTRUCTIONS. You have 3 hours.

Final Exam. Introduction to Artificial Intelligence. CS 188 Spring 2010 INSTRUCTIONS. You have 3 hours. CS 188 Spring 2010 Introduction to Artificial Intelligence Final Exam INSTRUCTIONS You have 3 hours. The exam is closed book, closed notes except a two-page crib sheet. Please use non-programmable calculators

More information

Computational Geometry

Computational Geometry Range trees Range queries Database queries salary G. Ometer born: Aug 16, 1954 salary: $3,500 A database query may ask for all employees with age between a 1 and a 2, and salary between s 1 and s 2 19,500,000

More information

CSE100. Advanced Data Structures. Lecture 8. (Based on Paul Kube course materials)

CSE100. Advanced Data Structures. Lecture 8. (Based on Paul Kube course materials) CSE100 Advanced Data Structures Lecture 8 (Based on Paul Kube course materials) CSE 100 Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic

More information