Arxiv:2008.08417V2 [Cs.DS] 3 Nov 2020

Total Page:16

File Type:pdf, Size:1020Kb

Arxiv:2008.08417V2 [Cs.DS] 3 Nov 2020 Modular Subset Sum, Dynamic Strings, and Zero-Sum Sets Jean Cardinal∗ John Iacono† Abstract a number of operations on a persistent collection strings, e modular subset sum problem consists of deciding, given notably, split and concatenate, as well as nding the longest a modulus m, a multiset S of n integers in 0::m − 1, and common prex (LCP) of two strings, all in at most loga- a target integer t, whether there exists a subset of S with rithmic time with updates being with high probability. We elements summing to t (mod m), and to report such a inform the reader of the independent work of Axiotis et + set if it exists. We give a simple O(m log m)-time with al., [ABB 20], contains much of the same results and ideas high probability (w.h.p.) algorithm for the modular sub- for modular subset sum as here has been accepted to ap- set sum problem. is builds on and improves on a pre- pear along with this paper in the proceedings of the SIAM vious O(m log7 m) w.h.p. algorithm from Axiotis, Backurs, Symposium on Simplicity in Algorithms (SOSA21). + Jin, Tzamos, and Wu (SODA 19). Our method utilizes the As the dynamic string data structure of [GKK 18] is ADT of the dynamic strings structure of Gawrychowski quite complex, we provide in §4 a new and far simpler alter- et al. (SODA 18). However, as this structure is rather com- native, which we call the Data Dependent Tree (DDT) struc- plicated we present a much simpler alternative which we ture. Our general approach is to create a tree with the string call the Data Dependent Tree. As an application, we con- stored in the leaves, and where the shape of the tree is a sider the computational version of a fundamental theorem function of the data in the leaves and a random seed; in in zero-sum Ramsey theory. e Erdos-Ginzburg-Ziv˝ eo- common with other simple string algorithms we use a hash rem states that a multiset of 2n−1 integers always contains function to compute ngerprints of strings, a method pio- a subset of cardinality exactly n whose values sum to a mul- neered in by Karp and Rabin [KR87]. e result is a struc- + tiple of n. We give an algorithm for nding such a subset in ture with almost identical runtimes as [GKK 18] but which time O(n log n) w.h.p. which improves on an O(n2) algo- is only slightly more complex than a skip list and is easy rithm due to Del Lungo, Marini, and Mori (Disc. Math. 09). to visualize (see Figure 1) and reason about. We say al- most identical as [GKK+18] supports LCP queries in con- 1 Introduction stant time whereas we do so in logarithmic time; this makes no overall dierence in applications such as ours where the In SODA 2019 [ABJ+19], Axiotis, Backurs, Jin, Tzamos, and number of LCP queries do not asymptotically dominate the Wu gave an algorithm for modular subset sum with run- number of update operations, which take logarithmic time time O(m log7 m) and that returns the correct answer with ~ 5=4 in both structures. None of the structures that for this prob- high probability. is improved upon an earlier O(m ) + arXiv:2008.08417v2 [cs.DS] 3 Nov 2020 lem that predate [GKK 18] (Sundar and Tarjan [ST94], Mel- algorithm of Koiliaris and Xu [KX19] which rst appeared horn, Sundar and Uhrig [MSU97] and Alstrup, Brodal and in SODA 2017. Rauhe [ABR00]) match the DDT’s logarithmic time for all In §2 we improve upon this with a very simple algo- operations. rithm running in O(m log m) time with high probability As an application, we consider the computational ver- (w.h.p.). Our method is a straightforward implementation sion of a fundamental theorem in zero-sum Ramsey theory of the na¨ıve dynamic programming approach, sped up us- (see [Car96,Bia93,GG06] for surveys). e Erdos-Ginzburg-˝ ing a recent data structure of Gawrychowski, Karczmarz, Ziv eorem [EZ61] states that a multiset of 2n−1 integers Kociumaka, Lacki, and Sankowski [GKK+18] that supports always contains a subset of cardinality exactly n whose val- ues sum to a multiple of n. We give an algorithm in §3 for ∗Universite´ libre de Bruxelles. Supported by the Fonds de la Recherche nding such a subset in time O(n log n) w.h.p. which im- Scientique-FNRS under CDR Grant J.0146.18. proves on an O(n2) algorithm due to Del Lungo, Marini, †Universite´ libre de Bruxelles and New York University. Supported by and Mori [LMM09]. NSF grants CCF-1533564 and by the Fonds de la Recherche Scientique- FNRS under Grant n° MISU F 6001 1. 1 2 Modular subset sum via dynamic strings Theorem 2.1. [GKK+18] ere exists a data structure for e input to the modular subset sum problem is a positive maintaining a collection of strings and supporting the follow- integer modulus m, a multiset S = s1; s2; : : : ; sn of n ing operations, which we call the dynamic strings ADT: elements of , and a target value t in . e multiset Zm Zm • D New(x): Creates a new string containing a single thus has at most m distinct items and multiplicities are character, x. represented in compact form so that S takes space O(m). • b D.Equal(D0): Returns whether D and D0 are e problem is to decide whether there exists a subset of equal. S whose sum of elements is congruent to t (mod m). Our • ` D.Lcp(D0): Returns the length of the longest solution, in common with [ABJ+19], solves the problem for common prex of D and D0. all values of t in simultaneously. Zm • D.Set(i; x): Sets the ith character of the string to x. Solution overview. Our solution is based on the clas- • x D.Get(i): Returns the ith character of the string. sic dynamic programming approach, which we now de- • D0 D.Split(i): e string beyond the ith character is scribe. We use the notation S+x := fy+x (mod m)jy 2 Sg removed from this structure and is placed in a new one, and [n] = f1; 2; : : : ; ng. Let S ⊆ be the set of residues i Zm which is returned. of all the sums of subsets of the rst i numbers of S: • D.Concatenate(D0): Concatenates the string repre- 8 9 sented by D0 to the end of D0, D0 becomes invalid. <X = Si := sj (mod m) X ⊆ [i] e rst three operations are constant time, the rest take time :j2X ; O(log n) where n is the total size of strings stored, and the Given this denition, the problem is simply to determine if runtimes of update operations are with high probability. t 2 Sn We can construct Si recursively as follows: Now observe that we can implement the circular shi ( f0g if i = 0 operation using one split and one concatenate operation, Si = 0 in time O(log m). Let σi−1 := (σi−1 si). Finally, the Si−1 [ (Si−1 + si) otherwise. 0 bitwise disjunction σi−1 _ σi−1 is implemented as follows: If we wish to obtain the actual subset that adds to a given First nd the index of the rst bit that diers, which is the target j, call it Tj, as is typical for dynamic programming, length of the LCP incremented by one. en change this bit another table is needed to record the choices made. Here it in one of the two strings so that they both have a 1 at this is sucient to record for each target j the index of the Si position. en iterate until both strings are identical. where it rst was realized, which we call aj: ere is a twist, however, in that aer performing the splits and concatenates to implement the shiing of σi−1 to ( min i if j 2 Sn obtain σi−1 si we still need the data structure for σi−1 to j2S aj := i compute σ _(σ s ), and we cannot aord to make 1 i−1 i−1 i otherwise. a copy. Fortunately, the technique of persistence exists exactly for this purpose. In its simplest form, known as Given the ajs, Tj may be easily computed with at most m−1 recursions: partial persistence, read-only access to previous versions of a data structure are supported. e dynamic string structure 8 ; if j = 0 of [GKK+18] supports persistent access to the strings, and > < if j > 0 our alternative DDT structure can be made to be partially (2.1) Tj = fsaj g [ Tj−sa (mod m) j and aj 6= 1 persistent via the general transformation of [DSST89]. > :No Subset otherwise. To summarize: A string encoding. We encode the set Si in a binary Theorem 2.2. Given an integer modulus m > 0, a target t, m string σi 2 f0; 1g , such that j 2 Si if and only if the jth and a compact representation of a multiset S of integers in bit of σi, σi[j], is 1. e recurrence restated for strings is: Zm, the following algorithm determines if there is a subset of S t O(m log m) 8 m−1 times that sums to in time with high probability, < z }| { and reports it: σi = 1 00 ··· 0 if i = 0 :σi−1 _ (σi−1 si) otherwise. 1.
Recommended publications
  • Benchmarks for IP Forwarding Tables
    Reviewers James Abello Richard Cleve Vassos Hadzilacos Dimitris Achilioptas James Clippinger Jim Hafner Micah Adler Anne Condon Torben Hagerup Oswin Aichholzer Stephen Cook Armin Haken William Aiello Tom Cormen Shai Halevi Donald Aingworth Dan Dooly Eric Hansen Susanne Albers Oliver Duschka Refael Hassin Eric Allender Martin Dyer Johan Hastad Rajeev Alur Ran El-Yaniv Lisa Hellerstein Andris Ambainis David Eppstein Monika Henzinger Amihood Amir Jeff Erickson Tom Henzinger Artur Andrzejak Kousha Etessami Jeremy Horwitz Boris Aronov Will Evans Russell Impagliazzo Sanjeev Arora Guy Even Piotr Indyk Amotz Barnoy Ron Fagin Sandra Irani Yair Bartal Michalis Faloutsos Ken Jackson Julien Basch Martin Farach-Colton David Johnson Saugata Basu Uri Feige John Jozwiak Bob Beals Joan Feigenbaum Bala Kalyandasundaram Paul Beame Stefan Felsner Ming-Yang Kao Steve Bellantoni Faith Fich Haim Kaplan Micahel Ben-Or Andy Fingerhut Bruce Kapron Josh Benaloh Paul Fischer Michael Kaufmann Charles Bennett Lance Fortnow Michael Kearns Marshall Bern Steve Fortune Sanjeev Khanna Nikolaj Bjorner Alan Frieze Samir Khuller Johannes Blomer Anna Gal Joe Kilian Avrim Blum Naveen Garg Valerie King Dan Boneh Bernd Gartner Philip Klein Andrei Broder Rosario Gennaro Spyros Kontogiannis Nader Bshouty Ashish Goel Gilad Koren Adam Buchsbaum Michel Goemans Dexter Kozen Lynn Burroughs Leslie Goldberg Dina Kravets Ran Canetti Paul Goldberg S. Ravi Kumar Pei Cao Oded Goldreich Eyal Kushilevitz Moses Charikar John Gray Stephen Kwek Chandra Chekuri Dan Greene Larry Larmore Yi-Jen Chiang
    [Show full text]
  • The Best Nurturers in Computer Science Research
    The Best Nurturers in Computer Science Research Bharath Kumar M. Y. N. Srikant IISc-CSA-TR-2004-10 http://archive.csa.iisc.ernet.in/TR/2004/10/ Computer Science and Automation Indian Institute of Science, India October 2004 The Best Nurturers in Computer Science Research Bharath Kumar M.∗ Y. N. Srikant† Abstract The paper presents a heuristic for mining nurturers in temporally organized collaboration networks: people who facilitate the growth and success of the young ones. Specifically, this heuristic is applied to the computer science bibliographic data to find the best nurturers in computer science research. The measure of success is parameterized, and the paper demonstrates experiments and results with publication count and citations as success metrics. Rather than just the nurturer’s success, the heuristic captures the influence he has had in the indepen- dent success of the relatively young in the network. These results can hence be a useful resource to graduate students and post-doctoral can- didates. The heuristic is extended to accurately yield ranked nurturers inside a particular time period. Interestingly, there is a recognizable deviation between the rankings of the most successful researchers and the best nurturers, which although is obvious from a social perspective has not been statistically demonstrated. Keywords: Social Network Analysis, Bibliometrics, Temporal Data Mining. 1 Introduction Consider a student Arjun, who has finished his under-graduate degree in Computer Science, and is seeking a PhD degree followed by a successful career in Computer Science research. How does he choose his research advisor? He has the following options with him: 1. Look up the rankings of various universities [1], and apply to any “rea- sonably good” professor in any of the top universities.
    [Show full text]
  • Kurt Mehlhorn, and Monique Teillaud
    Volume 1, Issue 3, March 2011 Reasoning about Interaction: From Game Theory to Logic and Back (Dagstuhl Seminar 11101) Jürgen Dix, Wojtek Jamroga, and Dov Samet .................................... 1 Computational Geometry (Dagstuhl Seminar 11111) Pankaj Kumar Agarwal, Kurt Mehlhorn, and Monique Teillaud . 19 Computational Complexity of Discrete Problems (Dagstuhl Seminar 11121) Martin Grohe, Michal Koucký, Rüdiger Reischuk, and Dieter van Melkebeek . 42 Exploration and Curiosity in Robot Learning and Inference (Dagstuhl Seminar 11131) Jeremy L. Wyatt, Peter Dayan, Ales Leonardis, and Jan Peters . 67 DagstuhlReports,Vol.1,Issue3 ISSN2192-5283 ISSN 2192-5283 Published online and open access by Aims and Scope Schloss Dagstuhl – Leibniz-Zentrum für Informatik The periodical Dagstuhl Reports documents the GmbH, Dagstuhl Publishing, Saarbrücken/Wadern, program and the results of Dagstuhl Seminars and Germany. Dagstuhl Perspectives Workshops. Online available at http://www.dagstuhl.de/dagrep In principal, for each Dagstuhl Seminar or Dagstuhl Perspectives Workshop a report is published that Publication date contains the following: August, 2011 an executive summary of the seminar program and the fundamental results, Bibliographic information published by the Deutsche an overview of the talks given during the seminar Nationalbibliothek (summarized as talk abstracts), and The Deutsche Nationalbibliothek lists this publica- summaries from working groups (if applicable). tion in the Deutsche Nationalbibliografie; detailed This basic framework can be extended by suitable bibliographic data are available in the Internet at contributions that are related to the program of the http://dnb.d-nb.de. seminar, e.g. summaries from panel discussions or open problem sessions. License This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license: CC-BY-NC-ND.
    [Show full text]
  • CS Cornell 40Th Anniversary Booklet
    Contents Welcome from the CS Chair .................................................................................3 Symposium program .............................................................................................4 Meet the speakers ..................................................................................................5 The Cornell environment The Cornell CS ambience ..............................................................................6 Faculty of Computing and Information Science ............................................8 Information Science Program ........................................................................9 College of Engineering ................................................................................10 College of Arts & Sciences ..........................................................................11 Selected articles Mission-critical distributed systems ............................................................ 12 Language-based security ............................................................................. 14 A grand challenge in computer networking .................................................16 Data mining, today and tomorrow ...............................................................18 Grid computing and Web services ...............................................................20 The science of networks .............................................................................. 22 Search engines that learn from experience ..................................................24
    [Show full text]
  • On Data Structures and Memory Models
    2006:24 DOCTORAL T H E SI S On Data Structures and Memory Models Johan Karlsson Luleå University of Technology Department of Computer Science and Electrical Engineering 2006:24|: 402-544|: - -- 06 ⁄24 -- On Data Structures and Memory Models by Johan Karlsson Department of Computer Science and Electrical Engineering Lule˚a University of Technology SE-971 87 Lule˚a, Sweden May 2006 Supervisor Andrej Brodnik, Ph.D., Lule˚a University of Technology, Sweden Abstract In this thesis we study the limitations of data structures and how they can be overcome through careful consideration of the used memory models. The word RAM model represents the memory as a finite set of registers consisting of a constant number of unique bits. From a hardware point of view it is not necessary to arrange the memory as in the word RAM memory model. However, it is the arrangement used in computer hardware today. Registers may in fact share bits, or overlap their bytes, as in the RAM with Byte Overlap (RAMBO) model. This actually means that a physical bit can appear in several registers or even in several positions within one regis- ter. The RAMBO model of computation gives us a huge variety of memory topologies/models depending on the appearance sets of the bits. We show that it is feasible to implement, in hardware, other memory models than the word RAM memory model. We do this by implementing a RAMBO variant on a memory board for the PC100 memory bus. When alternative memory models are allowed, it is possible to solve a number of problems more efficiently than under the word RAM memory model.
    [Show full text]
  • A Satisfiability Algorithm for AC0 961 Russel Impagliazzo, William Matthews and Ramamohan Paturi
    A Satisfiability Algorithm for AC0 Russell Impagliazzo ∗ William Matthews † Ramamohan Paturi † Department of Computer Science and Engineering University of California, San Diego La Jolla, CA 92093-0404, USA January 2011 Abstract ing the size of the search space. In contrast, reducing We consider the problem of efficiently enumerating the problems such as planning or model-checking to the spe- satisfying assignments to AC0 circuits. We give a zero- cial cases of cnf Satisfiability or 3-sat can increase the error randomized algorithm which takes an AC0 circuit number of variables dramatically. On the other hand, as input and constructs a set of restrictions which cnf-sat algorithms (especially for small width clauses partitions {0, 1}n so that under each restriction the such as k-cnfs) have both been analyzed theoretically value of the circuit is constant. Let d denote the depth and implemented empirically with astounding success, of the circuit and cn denote the number of gates. This even when this overhead is taken into account. For some algorithm runs in time |C|2n(1−µc,d) where |C| is the domains of structured cnf formulas that arise in many d−1 applications, state-of-the-art SAT-solvers can handle up size of the circuit for µc,d ≥ 1/O[lg c + d lg d] with probability at least 1 − 2−n. to hundreds of thousands of variables and millions of As a result, we get improved exponential time clauses [11]. Meanwhile, very few results are known ei- algorithms for AC0 circuit satisfiability and for counting ther theoretically or empirically about the difficulty of solutions.
    [Show full text]
  • Robert L. Constable Curriculum Vitae February 14, 2019
    Robert L. Constable Curriculum Vitae February 14, 2019 PERSONAL DETAILS • Citizenship United States • Contacting Address Computer Science Department Cornell University 320 Gates Hall Ithaca, New York 14853 Tel: +01 607 255-9204 Fax: +01 607 255-4428 Email: [email protected] EDUCATION • 1964 A.B., Princeton University, Mathematics • 1965 M.A., University of Wisconsin, Mathematics • 1968 Ph.D., University of Wisconsin, Mathematics Thesis Supervisor: Stephen Cole Kleene ACADEMIC POSITIONS • 1999{2009 Founding Dean, Faculty of Computing and Information Science, Cornell University • 1993{1999 Chair, Department of Computer Science, Cornell University • 1978{ Professor, Department of Computer Science, Cornell University • 1972{1978 Associate Professor, Department of Computer Science, Cornell University • 1968{1972 Assistant Professor, Department of Computer Science, Cornell University • 1968{1968 Instructor, Department of Computer Science, University of Wisconsin PROFESSIONAL ACTIVITIES • Editorships { Logical Methods in Computer Science { The Computer Journal, Oxford University Press { Journal of Logic and Computation, Oxford University Press { Formal Methods in System Design, Kluwer Academic Publishers 1 • Directorships { Oregon Programming Languages Summer School (OPLSS) (2012 continuing) { NATO Summer School at Marktoberdorf (1985 - 2009) { PRL Research Group (1980 - present) • Advisory Committees { Council of Higher Education (CHE) Israel, review committee for computer science departments (2013) { Johns Hopkins University, Department of
    [Show full text]
  • Submission Data for 2017 CORE Conference Re-Ranking Process International Symposium on Theoretical Aspects of Computer Science S
    Submission Data for 2017 CORE conference Re-ranking process International Symposium on Theoretical Aspects of Computer Science Submitted by: Christophe Paul [email protected] Supported by: Christophe Paul, Martin Dietzfelbinger Conference Details Conference Title: International Symposium on Theoretical Aspects of Computer Science Acronym : STACS Rank: B Requested Rank Requested Rank: A Recent Years Most Recent Year Year: 2017 URL: https://stacs2017.thi.uni-hannover.de Papers submitted: 212 Papers published: 54 Acceptance rate: 25 Source for acceptance rate: http://drops.dagstuhl.de/opus/volltexte/2017/7032/pdf/LIPIcs-STACS-2017-0.pdf Program Chairs Name: Brigitte Vallée Affiliation: CNRS, Université de Caen H index: 26 Google Scholar URL: https://scholar.google.fr/citations?user=L4GKuTEAAAAJ&hl=en DBLP URL: http://dblp2.uni-trier.de/pers/hd/v/Vall=eacute=e:Brigitte Name: Heribert Vollmer Affiliation: Leibniz Universität Hannover H index: 26 Google Scholar URL: https://scholar.google.de/citations?user=hU5ScRwAAAAJ&hl=de DBLP URL: http://dblp.uni-trier.de/pers/hd/v/Vollmer:Heribert General Chairs Name: Heribert Vollmer Affiliation: Leibniz Universität Hannover H index: 26 Google Scholar URL: https://scholar.google.de/citations?user=hU5ScRwAAAAJ&hl=de DBLP URL: http://dblp.uni-trier.de/pers/hd/v/Vollmer:Heribert Second Most Recent Year Year: 2016 URL: http://www.univ-orleans.fr/lifo/events/STACS2016/ Papers submitted: 205 Papers published: 54 Acceptance rate: 26 Source for acceptance rate: http://drops.dagstuhl.de/opus/volltexte/2016/5701/pdf/1.pdf
    [Show full text]
  • Federated Computing Research Conference, FCRC’96, Which Is David Wise, Steering Being Held May 20 - 28, 1996 at the Philadelphia Downtown Marriott
    CRA Workshop on Academic Careers Federated for Women in Computing Science 23rd Annual ACM/IEEE International Symposium on Computing Computer Architecture FCRC ‘96 ACM International Conference on Research Supercomputing ACM SIGMETRICS International Conference Conference on Measurement and Modeling of Computer Systems 28th Annual ACM Symposium on Theory of Computing 11th Annual IEEE Conference on Computational Complexity 15th Annual ACM Symposium on Principles of Distributed Computing 12th Annual ACM Symposium on Computational Geometry First ACM Workshop on Applied Computational Geometry ACM/UMIACS Workshop on Parallel Algorithms ACM SIGPLAN ‘96 Conference on Programming Language Design and Implementation ACM Workshop of Functional Languages in Introductory Computing Philadelphia Skyline SIGPLAN International Conference on Functional Programming 10th ACM Workshop on Parallel and Distributed Simulation Invited Speakers Wm. A. Wulf ACM SIGMETRICS Symposium on Burton Smith Parallel and Distributed Tools Cynthia Dwork 4th Annual ACM/IEEE Workshop on Robin Milner I/O in Parallel and Distributed Systems Randy Katz SIAM Symposium on Networks and Information Management Sponsors ACM CRA IEEE NSF May 20-28, 1996 SIAM Philadelphia, PA FCRC WELCOME Organizing Committee Mary Jane Irwin, Chair Penn State University Steve Mahaney, Vice Chair Rutgers University Alan Berenbaum, Treasurer AT&T Bell Laboratories Frank Friedman, Exhibits Temple University Sampath Kannan, Student Coordinator Univ. of Pennsylvania Welcome to the second Federated Computing Research Conference, FCRC’96, which is David Wise, Steering being held May 20 - 28, 1996 at the Philadelphia downtown Marriott. This second Indiana University FCRC follows the same model of the highly successful first conference, FCRC’93, in Janice Cuny, Careers which nine constituent conferences participated.
    [Show full text]
  • On a Journey of Discovery in the Digital World | Maxplanckresearch 3/2018
    MATERIALS & TECHNOLOGY_Personal Portrait On a journey of discovery in the digital world He was one of the first computer science students in Germany. Today, Kurt Mehlhorn, Director at the Max Planck Institute for Informatics in Saarbruecken, can look back on the many problems he has solved – with solutions that are also applicable to navigation systems and search engines. At least as important to him, however, are the numerous academic careers that began in his group. And he still has ideas for new research projects. TEXT TIM SCHROEDER f you talk to people who work with at the Technical University of Munich laughs, “and even now, many a work- Kurt Mehlhorn, there is one word (TUM). At that time, computer science ing day results in nothing more than a they are bound to use: relaxed. was a new world that was aching to be full wastepaper basket.” They will also tell you that he nev- explored. The first students at TUM Math and computer science deal in er greets new colleagues or em- studied under Friedrich Ludwig Bauer, truths, he says. You can derive proofs ployeesI with the formal German “Sie”, one of the pioneers of German comput- and thereby clarify, once and for all, instead simply saying “Hi, I’m Kurt.” er science. “He made us realize that that something is the way it is. Though Every day at twelve o’clock sharp, Kurt computer science was an exciting new he has enjoyed math since his school Mehlhorn heads to the cafeteria for world and that we were all a bit like Co- days, computer science eventually be- lunch with his working group.
    [Show full text]
  • Parallel Algorithms for Detecting Strongly Connected Components
    Vrije Universiteit Amsterdam Master Thesis Parallel Algorithms for Detecting Strongly Connected Components Author: Supervisor: Vera Matei prof.dr. Wan Fokkink Second Reader: drs. Kees Verstoep A thesis submitted in fulfilment of the requirements for the degree of Master of Science in the Faculty of Sciences Department of Computer Science October 31, 2016 Contents 1 Introduction 2 2 Previous Work 4 2.1 Divide-and-Conquer Algorithms . .4 2.1.1 Forward-Backward Algorithm . .4 2.1.2 Schudy's Algorithm . .6 2.1.3 Hong's Algorithm . .7 2.1.4 OWCTY-Backward-Forward (OBF) . .8 2.1.5 Coloring/Heads Off (CH) . 10 2.1.6 Multistep . 11 2.2 Depth-First Search Based Algorithms . 11 2.2.1 Tarjan's Algorithm . 11 2.2.2 Lowe's Algorithm . 13 2.2.3 Renault's Algorithm . 14 2.3 Performance Comparison . 14 3 Implementation 17 3.1 Graph Representation . 17 3.2 FB Algorithm . 18 3.3 Hong's Algorithm . 20 3.4 Schudy's Algorithm . 22 3.4.1 Choosing the Pivot . 23 3.5 CH Algorithm . 23 3.6 Multistep Algorithm . 25 3.7 Tarjan's Algorithm . 26 3.8 Language Specific Considerations . 27 3.8.1 Data Structures for Primitive Values . 27 3.8.2 Concurrency . 27 4 Evaluation 29 4.1 Experimental Set-up . 29 4.2 Results . 30 4.2.1 Discussion . 30 5 Conclusions 33 1 Chapter 1 Introduction Graph theory is the field of mathematics which studies graphs. A graph is a structure that models relations between objects. The objects are called vertices (or nodes), while the relations are represented by edges.
    [Show full text]
  • Kurt Mehlhorn Books, Systems, Publications July 5, 2021
    Kurt Mehlhorn Books, Systems, Publications July 5, 2021 Most publications are available online at https://people.mpi-inf.mpg.de/˜mehlhorn/publications.html. Books [1] Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, and Roman Dementiev. Sequential and Parallel Algorithms and Data Structures – The Basic Toolbox. Springer, 2019. 509 pages. [2] Martin Dietzfelbinger, Kurt Mehlhorn, and Peter Sanders. Algorithmen und Datenstruk- turen - die Grundwerkzeuge. Springer, 2014. German translation of Mehlhorn/Sanders. [3] K. Mehlhorn and P. Sanders. Algorithms and Data Structures: The Basic Toolbox. Springer, 2008. Translations into German, Greek, Japanese, and Chinese. [4] K. Mehlhorn and S. Naher.¨ The LEDA Platform for Combinatorial and Geometric Com- puting. Cambridge University Press, 1999. [5] J. Loeckx, K. Mehlhorn, and R. Wilhelm. Foundations of Programming Languages. Wiley, 1989. 426 pages. [6] J. Loeckx, K. Mehlhorn, and R. Wilhelm. Grundlagen der Programmiersprachen. Teubner, 1986. 440 pages. [7] K. Mehlhorn. Datenstrukturen und Effiziente Algorithmen: Sortieren und Suchen. Teubner, 1986. 314 pages. [8] K. Mehlhorn. Data Structures and Efficient Algorithms, Volume 1: Sorting and Searching. Springer, 1984. 336 pages. [9] K. Mehlhorn. Data Structures and Efficient Algorithms, Volume 2: Graph Algorithms and NP-Completeness. Springer, 1984. 260 pages. [10] K. Mehlhorn. Data Structures and Efficient Algorithms, Volume 3: Multi-dimensional Searching and Computational Geometry. Springer, 1984. 284 pages. [11] K. Mehlhorn. Effiziente Algorithmen. Studienbucher¨ Informatik. Teubner, 1977. 233 pages. 1 Systems [1] LEDA (Library of Efficient Data Types and Algorithms). www.algorithmic-solutions. com, the system is in use at several thousand academic and industrial sites. [2] CGAL (Computational Geometry Algorithms Library). www.cgal.org, the system is devel- oped by a European consortium; it is in use at several hundred sites world-wide.
    [Show full text]