UCT Algorithm Circle: Probabilistic Algorithms
|
|
- Phillip Pope
- 5 years ago
- Views:
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) An Introduction to Randomized Algorithms Guoqiang Li School of Software, Shanghai Jiao Tong University Randomized Algorithms algorithms which employ a degree of
More information6.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 informationGreat 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 informationRandomized 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 information31.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 informationLecture 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 informationReview 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 informationOutline 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 informationStochastic 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 informationThe 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 informationCOT 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 informationIntroduction 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 informationProbabilistic (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 informationRandomized 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 informationRandom 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 informationAlgorithms 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 informationComputational 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 informationTheory 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 informationComputational 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 informationRecitation 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 informationIntroduction 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 informationRandomized 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 informationComparison 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 informationSorting 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 informationRandomized 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 informationChapter 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 informationLecture 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 informationComputational 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 informationParallel 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 informationCOMP 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 informationCOMP 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 informationThomas 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 informationMonte 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 informationComputational 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 informationApproximate (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 informationLecture 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 informationData 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 informationRSA (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 informationAlgorithms 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 information1 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 information15-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 informationCombinatorial 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 informationIntroduction 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 informationMultiple-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 informationExact 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 informationParameterized 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 informationDepartment 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 informationComparison 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 informationEXAM 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 informationThe 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 informationAlgorithms 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 informationQuiz 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 informationGeometric 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 informationCOMP 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 informationAdaptive 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 informationImplicit 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 informationSubset 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 information1. 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 informationCopyright 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 informationPresentation 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 informationUniversity 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 informationSorting. 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 informationAlgorithms 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 informationWe 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 informationSAMPLE 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 informationVariational 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 informationTHEORY 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.
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 information1. [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 informationlecture 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 informationDIVIDE 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 informationTheory 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 informationGreedy 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 information2SAT 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 informationPrelim 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 informationRSA (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 informationSublinear 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 informationNondeterministic 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 information6th 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 informationLecture 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 informationCS 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 informationPoint 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 informationLower 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 informationQuick-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 informationECE 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 informationCombinatorial 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 information26 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 informationPrimality 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 informationWarm-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 informationElementary 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 informationMonte 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 informationHot 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 informationOutline 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 informationCS 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 informationParallel 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 information6. 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 informationFinal 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 informationComputational 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 informationCSE100. 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.
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