New Tools for Large-Scale Combinatorial Optimization Problems

Total Page:16

File Type:pdf, Size:1020Kb

New Tools for Large-Scale Combinatorial Optimization Problems NEW TOOLS FOR LARGE-SCALE COMBINATORIAL OPTIMIZATION PROBLEMS By OLEG V. SHYLO A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2009 1 °c 2009 Oleg V. Shylo 2 Dedicated to my family 3 ACKNOWLEDGMENTS I would like to thank my adviser, Dr. Panos M. Pardalos, for all of his encouragement and support. His knowledge, experience and sense of humor were crucial for this work. Also, I would like to acknowledge collaborators Clayton Commander, Valeriy Ryabchenko, Alkis Vazacopoulos, Oleg Prokopyev, Ashwin Aruselvan, Ilias Kotsireas and Timothy Middelkoop, who have been a pleasure to work with. I am grateful to my friends, my family and my girlfriend Erika for their love, moral support and all the fun we had together. 4 TABLE OF CONTENTS page ACKNOWLEDGMENTS ................................. 4 LIST OF TABLES ..................................... 7 LIST OF FIGURES .................................... 8 ABSTRACT ........................................ 9 CHAPTER 1 RESTART STRATEGIES IN OPTIMIZATION: PARALLEL AND SERIAL CASES ........................................ 10 1.1 Introduction ................................... 10 1.2 Motivation .................................... 11 1.3 Literature Overview .............................. 12 1.4 Optimal Restart Strategies ........................... 13 1.4.1 Serial Algorithm ............................. 13 1.4.2 Parallel Algorithm ............................ 16 1.5 Algorithm Portfolio and Restart Strategies .................. 20 2 GLOBAL EQUILIBRIUM SEARCH ........................ 25 2.1 Algorithm Description ............................. 25 2.2 Approximation Formula ............................ 29 3 UNCONSTRAINED BINARY QUADRATIC PROBLEM ............ 32 3.1 Introduction ................................... 32 3.2 Description of the Algorithm .......................... 34 3.2.1 Search Procedures ............................ 35 3.2.2 Generation Procedure .......................... 35 3.2.3 Computational Experiments ...................... 35 3.3 Concluding Remarks .............................. 41 4 PERIODIC COMPLEMENTARY BINARY SEQUENCES ............ 42 4.1 Introduction ................................... 42 4.2 PAF and Quadratic Forms ........................... 42 4.3 A Combinatorial Optimization Formalism for PCS .............. 45 4.4 Applications of PCS and Related Sequences ................. 46 4.5 Optimization Algorithm ............................ 47 4.6 Results ...................................... 48 4.6.1 PCS(50, 2) ................................ 48 4.6.2 Consequences .............................. 49 4.7 Conclusion .................................... 49 5 5 WEIGHTED MAX-SAT PROBLEM ........................ 58 5.1 Introduction ................................... 58 5.2 Algorithm for the Weighted MAX-SAT .................... 59 5.2.1 Generation Procedure .......................... 59 5.2.2 Local Search for the Weighted MAX-SAT .............. 59 5.3 Computational Experiments .......................... 61 5.3.1 Benchmarks ............................... 61 5.3.2 Algorithms and Software ........................ 65 5.3.3 Results and Conclusions ........................ 65 6 JOB SHOP SCHEDULING PROBLEM ...................... 67 6.1 Introduction ................................... 67 6.2 Mathematical Model and Notations ...................... 68 6.3 Algorithm Description ............................. 69 6.3.1 Encoding and Generation Procedure .................. 72 6.3.2 Local Search ............................... 74 6.3.3 Acceleration of Move Cost Estimation ................. 76 6.4 Computational Results ............................. 77 6.5 Concluding Remarks .............................. 80 6.6 Benchmark Problems .............................. 82 REFERENCES ....................................... 89 BIOGRAPHICAL SKETCH ................................ 96 6 LIST OF TABLES Table page 3-1 Results for Beasley instances [1] ........................... 39 3-2 Results for Palubeckis’ instances [2] ......................... 40 3-3 Results for the Maximum Independent Set instances arising in coding theory [3] 41 5-1 Results for jnh benchmarks ............................. 64 5-2 Results for rndw1000b benchmarks ......................... 64 5-3 Results for rndw1000c benchmarks ......................... 64 6-1 Computational results by GES for ORB1-ORB10 ................. 82 6-2 Computational results for LA01-LA40 ....................... 83 6-3 Results for TA1-TA80 ................................ 84 6-4 Results for TA1-TA80 (continued) .......................... 85 6-5 Comparison with TSSB ............................... 86 6-6 Comparison with other algorithms ......................... 86 6-7 Results for DMU1-DMU80 .............................. 87 6-8 Results for DMU1-DMU80 (continued) ....................... 88 7 LIST OF FIGURES Figure page 1-1 Tabu algorithm and job shop scheduling problem. Average running time as a function of restart parameter ............................ 11 1-2 The average running time as a function of restart parameter R, ξ has log-normall f(x) distribution with µ = 1 and σ = 2; h(x) = 1−P r{ξ≤x} is hazard rate function ... 15 1-3 The algorithmic speed-up as a function of the number of processors; ξ has log-normal distribution with µ = 1 and σ = 2; the actual speed-up is obtained by comparing the optimal serial restart version to the optimal parallel restart version; the plot for the linear speed-up is for comparison purpposes only. ............. 19 1-4 The efficiency of parallelization (linear speed-up has efficency koefficient equal to 1), ξ has log-normall distribution with µ = 1 and σ = 2; ............ 20 1-5 Example of improved performance when combining two algorithms with log-normally distributed running time. ............................... 21 1-6 Another example of improved performance when combining two algorithms with log-normally distributed running time. ....................... 22 2-1 GES method (general scheme) ............................ 28 3-1 Local Search TABU ................................. 36 3-2 Generation procedure ................................. 37 4-1 Graphical representations of the four symmetric matrices M1,M2,M3,M4 .... 44 5-1 Generation procedure ................................. 60 5-2 Local Search 1-opt .................................. 61 5-3 Local Search k-opt .................................. 62 5-4 Local Search TABU ................................. 63 6-1 GES for JSP ..................................... 70 6-2 Procedure that generates solution ......................... 73 6-3 Improvement procedure ............................... 76 6-4 Estimation procedure ................................ 78 8 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy NEW TOOLS FOR LARGE-SCALE COMBINATORIAL OPTIMIZATION PROBLEMS By Oleg V. Shylo August 2009 Chair: Panos M. Pardalos Major: Industrial and Systems Engineering Many traditional algorithmic techniques used in combinatorial optimization have reached the computational limits of their scope. A relatively low cost and availability of parallel multi-core clusters offer a potential opportunity to shift these limits. Unfortunately, most existing serial algorithms are not easily adaptable to parallel computing systems. The objective of this work is to provide new algorithmic methods that can be easily and effectively scaled to parallel systems with large numbers of processing units. We concentrate on a scalability that comes from running a set of independent algorithms in parallel. We investigate the relationship between the parallel acceleration and properties of serial algorithms. Some of these results revealed that the best serial algorithm is not necessarily the best choice in parallel setting. Additionally, we observed that the combination of different algorithms (some of them may have poor performance characteristics!) can be more beneficial then using any particular algorithm on its own. The limitations of this approach are addressed. In this dissertation, we present the algorithms based on Global Equilibrium Search method and Tabu Search method for classical optimization problems. These algorithm demonstrate the state-of-the-art performance comparing to the latest published work in the field: Unconstrained Binary Quadratic Problem, Weighted MAX-SAT problem and Job Shop Scheduling Problem. 9 CHAPTER 1 RESTART STRATEGIES IN OPTIMIZATION: PARALLEL AND SERIAL CASES 1.1 Introduction Let P be a class of problems and A be a randomized algorithm that is able to solve correctly any instance of P in finite time. An algorithm A is of the Las Vegas type, if its running time on a given instance p ∈ P is a random variable tA(p). A restart version of A(p) can be implemented by stopping the algorithm after certain time and running it from the beginning: i.e. run A(p) for time R or until the correct solution is found; restart A(p) from the beginning and run it for time R or until the correct solution is found; and so on. In other words, each run of A(p) is independent from all the others and limited to time R. The current paper investigates the running time distribution, such that the average running time of AR(p) is smaller then the running time of A(p). This type of distributions is ofen observed in practical application, and thus it is crucial to understand the underlying
Recommended publications
  • A Polynomial-Time Randomized Reduction from Tournament Isomorphism to Tournament Asymmetry∗
    A Polynomial-Time Randomized Reduction from Tournament Isomorphism to Tournament Asymmetry∗ Pascal Schweitzer RWTH Aachen University, Aachen, Germany [email protected] Abstract The paper develops a new technique to extract a characteristic subset from a random source that repeatedly samples from a set of elements. Here a characteristic subset is a set that when containing an element contains all elements that have the same probability. With this technique at hand the paper looks at the special case of the tournament isomorphism problem that stands in the way towards a polynomial-time algorithm for the graph isomorphism problem. Noting that there is a reduction from the automorphism (asymmetry) problem to the isomorphism problem, a reduction in the other direction is nevertheless not known and remains a thorny open problem. Applying the new technique, we develop a randomized polynomial-time Turing-reduction from the tournament isomorphism problem to the tournament automorphism problem. This is the first such reduction for any kind of combinatorial object not known to have a polynomial-time solvable isomorphism problem. 1998 ACM Subject Classification F.2.2 Computations on Discrete Structures, F.1.3 Reducibility and Completeness Keywords and phrases graph isomorphism, asymmetry, tournaments, randomized reductions Digital Object Identifier 10.4230/LIPIcs.ICALP.2017.66 1 Introduction The graph automorphism problem asks whether a given input graph has a non-trivial automorphism. In other words the task is to decide whether a given graph is asymmetric. This computational problem is typically seen in the context of the graph isomorphism problem, which is itself equivalent under polynomial-time Turing reductions to the problem of computing a generating set for all automorphisms of a graph [17].
    [Show full text]
  • CS265/CME309: Randomized Algorithms and Probabilistic Analysis Lecture #1:Computational Models, and the Schwartz-Zippel Randomized Polynomial Identity Test
    CS265/CME309: Randomized Algorithms and Probabilistic Analysis Lecture #1:Computational Models, and the Schwartz-Zippel Randomized Polynomial Identity Test Gregory Valiant,∗ updated by Mary Wootters September 7, 2020 1 Introduction Welcome to CS265/CME309!! This course will revolve around two intertwined themes: • Analyzing random structures, including a variety of models of natural randomized processes, including random walks, and random graphs/networks. • Designing random structures and algorithms that solve problems we care about. By the end of this course, you should be able to think precisely about randomness, and also appreciate that it can be a powerful tool. As we will see, there are a number of basic problems for which extremely simple randomized algorithms outperform (both in theory and in practice) the best deterministic algorithms that we currently know. 2 Computational Model During this course, we will discuss algorithms at a high level of abstraction. Nonetheless, it's helpful to begin with a (somewhat) formal model of randomized computation just to make sure we're all on the same page. Definition 2.1 A randomized algorithm is an algorithm that can be computed by a Turing machine (or random access machine), which has access to an infinite string of uniformly random bits. Equivalently, it is an algorithm that can be performed by a Turing machine that has a special instruction “flip-a-coin”, which returns the outcome of an independent flip of a fair coin. ∗©2019, Gregory Valiant. Not to be sold, published, or distributed without the authors' consent. 1 We will never describe algorithms at the level of Turing machine instructions, though if you are ever uncertain whether or not an algorithm you have in mind is \allowed", you can return to this definition.
    [Show full text]
  • A Polynomial-Time Randomized Reduction from Tournament
    A polynomial-time randomized reduction from tournament isomorphism to tournament asymmetry Pascal Schweitzer RWTH Aachen University [email protected] April 28, 2017 Abstract The paper develops a new technique to extract a characteristic subset from a random source that repeatedly samples from a set of elements. Here a characteristic subset is a set that when containing an element contains all elements that have the same probability. With this technique at hand the paper looks at the special case of the tournament isomorphism problem that stands in the way towards a polynomial-time algorithm for the graph isomorphism problem. Noting that there is a reduction from the automorphism (asymmetry) problem to the isomorphism problem, a reduction in the other direction is nevertheless not known and remains a thorny open problem. Applying the new technique, we develop a randomized polynomial-time Turing-reduction from the tournament isomorphism problem to the tournament automorphism problem. This is the first such reduction for any kind of combinatorial object not known to have a polynomial- time solvable isomorphism problem. 1 Introduction. The graph automorphism problem asks whether a given input graph has a non-trivial auto- morphism. In other words the task is to decide whether a given graph is asymmetric. This computational problem is typically seen in the context of the graph isomorphism problem, which is itself equivalent under polynomial-time Turing reductions to the problem of computing a generating set for all automorphisms of a graph [18]. As a special case of the latter, the graph automorphism problem obviously reduces to the graph isomorphism problem.
    [Show full text]
  • Lecture 1: January 21 Instructor: Alistair Sinclair
    CS271 Randomness & Computation Spring 2020 Lecture 1: January 21 Instructor: Alistair Sinclair Disclaimer: These notes have not been subjected to the usual scrutiny accorded to formal publications. They may be distributed outside this class only with the permission of the Instructor. 1.1 Introduction There are two main flavors of research in randomness and computation. The first looks at randomness as a computational resource, like space and time. The second looks at the use of randomness to design algorithms. This course focuses on the second area; for the first area, see other graduate classes such as CS278. The starting point for the course is the observation that, by giving a computer access to a string of random bits, one can frequently obtain algorithms that are far simpler and more elegant than their deterministic counterparts. Sometimes these algorithms can be “derandomized,” although the resulting deterministic algorithms are often rather obscure. In certain restricted models of computation, one can even prove that randomized algorithms are more efficient than the best possible deterministic algorithm. In this course we will look at both randomized algorithms and random structures (random graphs, random boolean formulas etc.). Random structures are of interest both as a means of understanding the behavior of (randomized or deterministic) algorithms on “typical” inputs, and as a mathematically clean framework in which to investigate various probabilistic techniques that are also of use in analyzing randomized algorithms. 1.1.1 Model of Computation We first need to formalize the model of computation we will use. Our machine extends a standard model (e.g., a Turing Machine or random-access machine), with an additional input consisting of a stream of perfectly random bits (fair coin flips).
    [Show full text]
  • Självständiga Arbeten I Matematik
    SJÄLVSTÄNDIGA ARBETEN I MATEMATIK MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET RNG and Derandomized Algorithms av Wictor Zawadzki 2020 - No K42 MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET, 106 91 STOCKHOLM RNG and Derandomized Algorithms Wictor Zawadzki Självständigt arbete i matematik 15 högskolepoäng, grundnivå Handledare: Olof Sisask 2020 Abstract Randomness is heavily relied upon in dierent computation situations across many in- dustries, but generating a lot of random numbers can be quite resource intensive. As a result, an argument could be made in favor of derandomizing algorithms into determin- istic form whenever possible. The goal of this thesis is to investigate random number generation, and the use of randomness in algorithms. We rst look at theoretical construction of pseudo-random number generators, statistical tests, and cryptographic random number generators, as well as some practical examples for these. The second part of the thesis focuses on the dierences in method and performance between ran- dom algorithms and their derandomized counterparts. After looking at specic random algorithms, we conclude in this thesis that deterministic algorithms seem to often suf- fer a few disadvantages from not using random numbers. Two examples of signicant drawbacks are the existence of pathological inputs, as well as that some algorithms may fundamentally require randomness to function as intended, for instance cryptographic systems. Acknowledgements I am very grateful to my supervisor Olof Sisask, who had the patience to oversee my work these past months, provided helpful advice, and proofread my work. I would also like to express my gratitude towards Boris Shapiro, who likewise took the time to proofread my work. Contents 1 Introduction 1 2 Random Number Generation 2 2.1 Background and Terminology .
    [Show full text]
  • 1 What Is a Randomized Algorithm? 2 Classifying Random Algorithms
    Lecture Notes CS:5360 Randomized Algorithms Lecture 1: Aug 21, 2018 Scribe: Geoff Converse 1 What is a Randomized Algorithm? These are algorithms that make coin tosses during their execution and take actions that depend on outcomes of these coin tosses. In other words, these algorithms have access to random bits. Notice that we are not talking about inputs being generated randomly from some probabalistic distribution. The randomness is internal to the algorithm. 2 Classifying Random Algorithms • Las Vegas algorithms: these make no errors, however, the running time of the algorithm is a random variable. We are typically interested in the expected runtime of these algorithms. • Monte Carlo algorithms: these algorithms make errors, but with some probability that can be 1 1 controlled. For example, we can say that a certain algorithm has a 10 or maybe a 100 proba- bility of making an error. The runtime of Monte Carlo algorithms can either be deterministic or a random variable. 2.1 Example: Balanced Partition INPUT: a list L of distinct numbers OUTPUT: Lists L1 and L2 that partition L and satisfy: 1. Every element in L1 is less than every element in L2. jLj 2jLj 2. 3 ≤ jL1j ≤ 3 In order to solve this problem, we can try to find an approximate median of L by using a randomized step. FUNCTION: randomizedPartition(L=[1..n]) p <- index chosen uniformly at random from {1,2,...,n} for i<- 1 to n do: if L[i] <= L[p]: L_1 <- L_1 append L[i] else: L_2 <- L_2 append L[i] return (L_1, L_2) Notice that this does not always return a partition that satisfies both requirements above.
    [Show full text]
  • Advanced Algorithm
    Advanced Algorithm Jialin Zhang [email protected] Institute of Computing Technology, Chinese Academy of Sciences March 21, 2019 Jialin Advanced Algorithm A Randomized Algorithm for Min-Cut Problem Contrast Algorithm: 1 Pick an edge uniformly at random; 2 Merge the endpoints of this edge; 3 Remove self-loops; 4 Repeat steps 1-3 until there are only two vertices remain. 5 The remaining edges form a candidate cut. Jialin Advanced Algorithm Min Cut 1 Successful probability: Ω( n2 ). Time complexity: O(n2). Improvement? FastCut algorithm Ref: Randomized Algorithm - Chapter 10:2. Algorithm FastCut runs in O(n2 log n) time and uses O(n2) space. 1 Successful Probability is Ω( log n ). Jialin Advanced Algorithm Homework 1 Prove the successful probability for FastCut algorithm is 1 Ω( log n ). 2 Randomized Algorithm - Exercise 10:9, Page 293. Jialin Advanced Algorithm Homework (optional) We define a k-way cut-set in an undirected graph as a set of edges whose removal breaks the graph into k or more connected components. Show that the randomized min-cut algorithm can be modified to find a minimum k-way cut-set in O(n2(k−1)) time. Hints: 1 When the graph has become small enough, say less than 2k vertices, you can apply a deterministic k-way min-cut algorithm to find the minimum k-way cut-set without any cost. 2 To lower bound the number of edges in the graph, one possible way is to sum over all possible trivial k-way, i.e. k − 1 singletons and the complement, and count how many times an edge is (over)-counted.
    [Show full text]
  • Chapter Randomized Feature Selection, Especially Sections 6.4 And
    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 Introduction . 11 1.2 Types of Randomization . 12 1.3 Randomized Complexity Classes . 13 1.4 Applying Randomization to Feature Selection . 15 1.5 The Role of Heuristics . 16 1.6 Examples of Randomized Selection Algorithms . 17 1.6.1 A Simple Las Vegas Approach . 17 1.6.2 Two Simple Monte Carlo Approaches . 19 1.6.3 Random Mutation Hill Climbing . 21 1.6.4 Simulated Annealing . 22 1.6.5 Genetic Algorithms . 24 1.6.6 Randomized Variable Elimination . 26 1.7 Issues in Randomization . 28 1.7.1 Pseudorandom Number Generators . 28 1.7.2 Sampling from Specialized Data Structures . 29 1.8 Summary . 29 References 31 0-8493-0052-5/00/$0.00+$.50 c 2001 by CRC Press LLC 3 List of Tables 0-8493-0052-5/00/$0.00+$.50 c 2001 by CRC Press LLC 5 List of Figures 1.1 Illustration of the randomized complexity classes. 14 1.2 The Las Vegas Filter algorithm. 18 1.3 The Monte Carlo 1 algorithm. 19 1.4 The Relief algorithm. 20 1.5 The random mutation hill climbing algorithm. 22 1.6 A basic simulated annealing algorithm. 23 1.7 A basic genetic algorithm. 25 1.8 The randomized variable elimination algorithm. 27 0-8493-0052-5/00/$0.00+$.50 c 2001 by CRC Press LLC 7 Part I Some Part 9 Chapter 1 Randomized Feature Selection David J.
    [Show full text]
  • Complexity Classes 497 - Randomized Algorithms
    Complexity Classes 497 - Randomized Algorithms Sariel Har-Peled September 4, 2002 1 Las Vegas and Monte Carlo algorithms Definition 1.1 A Las Vegas algorithm is a randomized algorithms that always return the correct result. The only variant is that it’s running time might change between executions. An example for a Las Vegas algorithm is the QuickSort algorithm. Definition 1.2 Monte Carlo algorithm is a randomized algorithm that might output an incorrect result. However, the probability of error can be diminished by repeated executions of the algorithm. The MinCut algorithm was an example of a Monte Carlo algorithm. 2 Complexity Classes I assume people know what are Turing machines, NP, NPC, RAM machines, uniform model, logarithmic model. PSPACE, and EXP. If you do now know what are those things, you should read about them. Some of that is covered in the randomized algorithms book, and some other stuff is covered in any basic text on complexity theory. Definition 2.1 The class P consists of all languages L that have a polynomial time algorithm A, such that for any input Σ∗, • x ∈ L ⇒ A(x) accepts. • x ∈/ L ⇒ A(x) rejects. Definition 2.2 The class NP consists of all languages L that have a polynomial time algorithm A, such that for any input Σ∗, • x ∈ L ⇒ ∃y ∈ Σ∗, A(x,y) accepts, where |y| (i.e. the length of y) is bounded by a polynomial in |x|. • x ∈/ L ⇒ ∀y ∈ Σ∗A(x,y) rejects. 1 Definition 2.3 For a complexity class C, we define the complementary class co-C as the set of languages whose complement is in the class C.
    [Show full text]
  • Randomized Algorithms We Already Learned Quite a Few Randomized Algorithms in the Online Algorithm Lectures
    Randomized Algorithms We already learned quite a few randomized algorithms in the online algorithm lectures. For example, the MARKING algorithm for paging was a randomized algorithm; as well as the Randomized Weighted Majority. In designing online algorithms, randomization provides much power against an oblivious adversary. Thus, the worst case analysis (the worst case of the expectation) may become better by using randomization. We also noticed that randomization does not provide as much power against the adaptive adversaries. We’ll study some examples and concepts in randomized algorithms. Much of this section is based on (Motwani and Raghavan, Randomized Algorithm, Chapters 1, 5, 6). Random QuickSort Suppose is an array of numbers. Sorting puts the numbers in ascending order. The quick sort is one of the fastest sorting algorithm. QuickSort: 1. If is short, sort using insertion sort algorithm. 2. Select a “pivot” arbitrarily. 3. Put all members in and others in . 4. QuickSort and , respectively. | | Suppose the choice of is such that | | | | , then the time complexity is ( ) | | | | ( ). By using Master’s theorem, ( ) ( ). This is even true for | | . For worst case analysis, QuickSort may perform badly because may be such that and are awfully imbalanced. So the time complexity becomes ( ). If we don’t like average analysis, which is venerable to a malicious adversary, we can do randomization. RandomQS: In QuickSort, select the pivot uniformly at random from . Theorem 1: The expected number of comparisons in an execution of RandomQS is at most , where is the -th harmonic number. Proof: Clearly any pair of elements are compared at most once during any execution of the algorithm.
    [Show full text]
  • Randomized Algorithms
    Randomized Algorithms CS31005: Algorithms-II Autumn 2020 IIT Kharagpur Randomized Algorithms Algorithms that you have seen so far are all deterministic Always follows the same execution path for the same input Randomized algorithms are non-deterministic Makes some random choices in some steps of the algorithms Output and/or running time of the algorithm may depend on the random choices made If you run the algorithm more than once on the same input data, the results may differ depending on the random choice A Simple Example: Choosing a Large Number Given n numbers, find a number that is ≥ median Simple deterministic algorithm takes O(n) time A simple randomized algorithm: Choose k numbers randomly, k < n, and output the maximum Runs faster But this may not give the correct result always But the probability that an incorrect result is output is less 1 than 2 Somewhat trivial example, but highlights the essence of a large class of randomized algorithms Types of Randomized Algorithms Monte Carlo Algorithms Randomized algorithms that always has the same time complexity, but may sometimes produce incorrect outputs depending on random choices made Time complexity is deterministic, correctness is probabilistic Las Vegas Algorithm Randomized algorithms that never produce incorrect output, but may have different time complexity depending on random choices made (including sometimes not terminating at all) Time complexity is probabilistic, correctness is deterministic Monte Carlo Algorithms Monte Carlo Algorithms May sometimes
    [Show full text]
  • COEN279 - Design and Analysis of Algorithms
    COEN279 - Design and Analysis of Algorithms Probabilistic Analysis and Randomized Algorithm Dr. Tunghwa Wang Fall 2016 09/22/2016 Dr. Tunghwa Wang 1 Announcement Always read the document online unless necessary to download: Files could be updated. For the first week, everything is not well prepared yet: Linux account: Use putty to work remotely. E-mail: Automatic forwarded to [email protected] In case you receive from this account instead of [email protected]. Bonus assignments: #2 – deadline is extended to 09/25. Future ones – due on Thursday of the week 09/20/2016 Dr. Tunghwa Wang 2 Probabilistic Analysis It is the use of probability in the analysis of problems and thus the algorithm designed to solve these problems. review We compute the average-case running time by taking the average over all the possible inputs – it is average-case running time. The distribution of the inputs is the key to the analysis: We know the distribution of inputs. We assume the model of distribution function of inputs. Otherwise, we cannot do probabilistic analysis. 09/22/2016 Dr. Tunghwa Wang 3 Randomized Algorithms Tools and techniques widely used in many applications. Benefits: Simplicity Speed Robustness Inputs: generated using random number generator Pseudo random numbers Distribution functions Queueing models More Initial values: Randomized initial values of internal variables do not make the algorithm a randomized algorithm. By the nature, they can also be initialized with any valid values, say all initialized to 0. 09/22/2016 Dr. Tunghwa Wang 4 Probabilistic or Randomized Algorithm At least once during the algorithm, a random number is used to make a decision instead of spending time to work out which alternative is best.
    [Show full text]