CS311H: Discrete Mathematics Divide-And-Conquer Algorithms and The

Total Page:16

File Type:pdf, Size:1020Kb

CS311H: Discrete Mathematics Divide-And-Conquer Algorithms and The Divide-and-Conquer Algorithms CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem I Divide-and-conquer algorithms are recursive algorithms that: Instructor: I¸sıl Dillig 1. Divide problem into k smaller subproblems of the same form 2. Solve the subproblems 3. Conquer the original problem by combining solutions of subproblems Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 1/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 2/19 Example I: Binary Search Binary Search, cont. I Question: What is the worst-case complexity of binary search? I Let T (n) denote # of steps taken on input array of size n I Problem: Given sorted array of integers, is i in the array? I Write recurrence relation for T (n): I Initial condition: I Binary search algorithm: 1. Compare i with middle element m of array I How do we get a Big-O estimate from this recurrence? 2. If i > m, then recursively search right half I Idea: Solve the recurrence and then find Big-O estimate for it 3. Otherwise, recursively search left half I Classic divide-and-conquer algorithm Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 3/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 4/19 Solving Recurrence for Binary Search Example II: Merge Sort n T (n) = T ( ) + 1 T (1) = 1 2 I Problem: Sort elements in array I Not in a form we can immediately solve, but can massage it! I Merge sort solution: k k k 1 I Let n = 2 : T (2 ) = T (2 − ) + 1 1. Recursively sort left half of array k I Now, let ak = T (2 ): ak = ak 1 + 1 a0 = 1 − 2. Recursively sort right half of array I What’s the solution for this recurrence? 3. Merge the two sorted arrays k I Since n = 2 , this implies T (n) = log2n + 1 I Hence, complexity of binary search: Θ(log n) Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 5/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 6/19 1 How to Merge Two Sorted Arrays? Recurrence Relation for Merge Sort I What is worst-case complexity of Merge Sort? I Let T (n) be # operations performed to sort array of length n I Input: Two sorted arrays A1, A2 I What is a recurrence relation for T (n)? I Output: New sorted array that includes all elements in A1, A2 k I As before, let n = 2 : I Idea: Pointers to current elements in A1, A2 (initially first) I I Copy smaller element to output array and advance pointer I If combined size of A1, A2 is n, merging takes 4n steps (compare, advance two pointers, copy) Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 7/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 8/19 Solving Recurrence Relation Summary I Recurrence relations for divide-conquer algorithms look like: k ak = 2 ak 1 + 4 2 a0 = 1 · − · n T (n) = a T ( ) + f (n) I Particular solution form: · b I Particular solution: I These are called divide-and-conquer recurrence relations I To determine complexity of a divide-and conquer algorithm: I Solution for homogeneous recurrence: 1. Write corresponding recurrence relation 0 2 I Solve for α: α 2 + 0 2 = 1 α = 1 · · ⇒ 2. Solve it exactly I Solution: 3. Obtain Θ estimate I Plug in k = log2 n: I Can we obtain a Θ estimate without solving recurrence I Hence, algorithm is Θ(n log n) exactly? · Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 9/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 10/19 The Master Theorem Revisiting Examples n I Example 1: Recurrence for binary search: T (n) = T ( ) + 1 n d 2 Consider the recurrence T (n) = a T ( b ) + c n where a, c 1, · · ≥ d d 0, and b > 1. Then: I Here, a = 1, b = 2, d = 0, Hence a = b ≥ 0 1. T (n) is Θ(nd ) if a < bd I By Case 2 of Master Thm, T (n) = Θ(n log n) = Θ(log n) n d d I Example 2: Recurrence for merge sort: T (n) = 2 T ( ) + 4n 2. T (n) is Θ(n logn) if a = b · 2 d 3. T (n) is Θ(nlogb a ) if a > bd I Here, a = 2, b = 2, d = 1, Hence a = b I By Case 2 of Master Thm, T (n) =Θ( n log n) · Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 11/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 12/19 2 More Examples Why is the Master Theorem True? Consider the recurrence T (n) = a T ( n ) + c nd · b · n I At every level of recursion, # subproblems multiplied by a I Example 3: Consider recurrence T (n) = 2 T ( ) + 3 · 2 I But size of subproblem divided by b I d I Let f (n) be c n I · n 2 I Example 4: Consider recurrence T (n) = T ( 2 ) + n I I Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 13/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 14/19 Proof of Master Theorem Proof of Master Theorem, cont. I Total amount of work: I What is the height h of this tree? log n 1 b − n T (n) = Θ(nlogb a ) + ai c ( )d n · · bi I Since problem size is 1 in base case, = 1 h = log n i=0 bh ⇒ b X I Can be rewritten as: i logb n log n 1 I At the i’th level, we have a subproblems, hence a leaves b − a T (n) = Θ(nlogb a ) + c ( )i nd · bd · logb a i=0 I Equal to n – verify by taking logb of both sides X Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 15/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 16/19 Proof of Master Theorem, cont. Proof of Master Theorem, cont. log n 1 log n 1 b − b log a a i d − a T (n) = Θ(n b ) + c ( ) n T (n) = Θ(nlogb a ) + c ( )i nd · bd · · bd · i=0 i=0 X X a d I Case 1: bd < 1. In this case, T (n) is of the form: I Case 2: a = b . In this case, T (n) is of the form: log n 1 log n 1 b − b − T (n) = Θ(nlogb a ) + c nd r i for r < 1 T (n) = Θ(nlogb a ) + c nd · · | | · i=0 i=0 X X log a d log a d I Hence: T (n) = Θ(n b ) + Θ(n ) I Hence: T (n) = Θ(n b ) + Θ(n log n) · b a d log a d d I Since < 1, we have log a d < 1. Thus T (n) = Θ(n ) I Since n b = n , this is Θ(n log n) bd b − · b Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 17/19 Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 18/19 3 Proof of Master Theorem, cont. log n 1 b − a T (n) = Θ(nlogb a ) + c ( )i nd · bd · i=0 X d log a d I Case 3: a > b . In this case, n b > n . I Use closed formula for geometric series to expand summation: a logb n 1 a 1 ( d ) − c nd − b · · bd · 1 a − bd log n d I This can be rewritten to c1a b + c2n for some constants c1, c2 log n log a log a I Since , a b = n b , T (n) is Θ(n b ) Instructor: I¸sıl Dillig, CS311H: Discrete Mathematics Divide-and-Conquer Algorithms and The Master Theorem 19/19 4.
Recommended publications
  • Research Statement
    D. A. Williams II June 2021 Research Statement I am an algebraist with expertise in the areas of representation theory of Lie superalgebras, associative superalgebras, and algebraic objects related to mathematical physics. As a post- doctoral fellow, I have extended my research to include topics in enumerative and algebraic combinatorics. My research is collaborative, and I welcome collaboration in familiar areas and in newer undertakings. The referenced open problems here, their subproblems, and other ideas in mind are suitable for undergraduate projects and theses, doctoral proposals, or scholarly contributions to academic journals. In what follows, I provide a technical description of the motivation and history of my work in Lie superalgebras and super representation theory. This is then followed by a description of the work I am currently supervising and mentoring, in combinatorics, as I serve as the Postdoctoral Research Advisor for the Mathematical Sciences Research Institute's Undergraduate Program 2021. 1 Super Representation Theory 1.1 History 1.1.1 Superalgebras In 1941, Whitehead dened a product on the graded homotopy groups of a pointed topological space, the rst non-trivial example of a Lie superalgebra. Whitehead's work in algebraic topol- ogy [Whi41] was known to mathematicians who dened new graded geo-algebraic structures, such as -graded algebras, or superalgebras to physicists, and their modules. A Lie superalge- Z2 bra would come to be a -graded vector space, even (respectively, odd) elements g = g0 ⊕ g1 Z2 found in (respectively, ), with a parity-respecting bilinear multiplication termed the Lie g0 g1 superbracket inducing1 a symmetric intertwining map of -modules.
    [Show full text]
  • Introduction to Computational Social Choice
    1 Introduction to Computational Social Choice Felix Brandta, Vincent Conitzerb, Ulle Endrissc, J´er^omeLangd, and Ariel D. Procacciae 1.1 Computational Social Choice at a Glance Social choice theory is the field of scientific inquiry that studies the aggregation of individual preferences towards a collective choice. For example, social choice theorists|who hail from a range of different disciplines, including mathematics, economics, and political science|are interested in the design and theoretical evalu- ation of voting rules. Questions of social choice have stimulated intellectual thought for centuries. Over time the topic has fascinated many a great mind, from the Mar- quis de Condorcet and Pierre-Simon de Laplace, through Charles Dodgson (better known as Lewis Carroll, the author of Alice in Wonderland), to Nobel Laureates such as Kenneth Arrow, Amartya Sen, and Lloyd Shapley. Computational social choice (COMSOC), by comparison, is a very young field that formed only in the early 2000s. There were, however, a few precursors. For instance, David Gale and Lloyd Shapley's algorithm for finding stable matchings between two groups of people with preferences over each other, dating back to 1962, truly had a computational flavor. And in the late 1980s, a series of papers by John Bartholdi, Craig Tovey, and Michael Trick showed that, on the one hand, computational complexity, as studied in theoretical computer science, can serve as a barrier against strategic manipulation in elections, but on the other hand, it can also prevent the efficient use of some voting rules altogether. Around the same time, a research group around Bernard Monjardet and Olivier Hudry also started to study the computational complexity of preference aggregation procedures.
    [Show full text]
  • Introduction to Computational Social Choice Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D
    Introduction to Computational Social Choice Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D. Procaccia To cite this version: Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D. Procaccia. Introduction to Computational Social Choice. Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D. Procaccia, Handbook of Computational Social Choice, Cambridge University Press, pp.1-29, 2016, 9781107446984. 10.1017/CBO9781107446984. hal-01493516 HAL Id: hal-01493516 https://hal.archives-ouvertes.fr/hal-01493516 Submitted on 21 Mar 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. 1 Introduction to Computational Social Choice Felix Brandta, Vincent Conitzerb, Ulle Endrissc, J´er^omeLangd, and Ariel D. Procacciae 1.1 Computational Social Choice at a Glance Social choice theory is the field of scientific inquiry that studies the aggregation of individual preferences towards a collective choice. For example, social choice theorists|who hail from a range of different disciplines, including mathematics, economics, and political science|are interested in the design and theoretical evalu- ation of voting rules. Questions of social choice have stimulated intellectual thought for centuries. Over time the topic has fascinated many a great mind, from the Mar- quis de Condorcet and Pierre-Simon de Laplace, through Charles Dodgson (better known as Lewis Carroll, the author of Alice in Wonderland), to Nobel Laureates such as Kenneth Arrow, Amartya Sen, and Lloyd Shapley.
    [Show full text]
  • Discrete Mathematics Discrete Probability
    Introduction Probability Theory Discrete Mathematics Discrete Probability Prof. Steven Evans Prof. Steven Evans Discrete Mathematics Introduction Probability Theory 7.1: An Introduction to Discrete Probability Prof. Steven Evans Discrete Mathematics Introduction Probability Theory Finite probability Definition An experiment is a procedure that yields one of a given set os possible outcomes. The sample space of the experiment is the set of possible outcomes. An event is a subset of the sample space. Laplace's definition of the probability p(E) of an event E in a sample space S with finitely many equally possible outcomes is jEj p(E) = : jSj Prof. Steven Evans Discrete Mathematics By the product rule, the number of hands containing a full house is the product of the number of ways to pick two kinds in order, the number of ways to pick three out of four for the first kind, and the number of ways to pick two out of the four for the second kind. We see that the number of hands containing a full house is P(13; 2) · C(4; 3) · C(4; 2) = 13 · 12 · 4 · 6 = 3744: Because there are C(52; 5) = 2; 598; 960 poker hands, the probability of a full house is 3744 ≈ 0:0014: 2598960 Introduction Probability Theory Finite probability Example What is the probability that a poker hand contains a full house, that is, three of one kind and two of another kind? Prof. Steven Evans Discrete Mathematics Introduction Probability Theory Finite probability Example What is the probability that a poker hand contains a full house, that is, three of one kind and two of another kind? By the product rule, the number of hands containing a full house is the product of the number of ways to pick two kinds in order, the number of ways to pick three out of four for the first kind, and the number of ways to pick two out of the four for the second kind.
    [Show full text]
  • Why Theory of Quantum Computing Should Be Based on Finite Mathematics Felix Lev
    Why Theory of Quantum Computing Should be Based on Finite Mathematics Felix Lev To cite this version: Felix Lev. Why Theory of Quantum Computing Should be Based on Finite Mathematics. 2018. hal-01918572 HAL Id: hal-01918572 https://hal.archives-ouvertes.fr/hal-01918572 Preprint submitted on 11 Nov 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Why Theory of Quantum Computing Should be Based on Finite Mathematics Felix M. Lev Artwork Conversion Software Inc., 1201 Morningside Drive, Manhattan Beach, CA 90266, USA (Email: [email protected]) Abstract We discuss finite quantum theory (FQT) developed in our previous publica- tions and give a simple explanation that standard quantum theory is a special case of FQT in the formal limit p ! 1 where p is the characteristic of the ring or field used in FQT. Then we argue that FQT is a more natural basis for quantum computing than standard quantum theory. Keywords: finite mathematics, quantum theory, quantum computing 1 Motivation Classical computer science is based on discrete mathematics for obvious reasons. Any computer can operate only with a finite number of bits, a bit represents the minimum amount of information and the notions of one half of the bit, one third of the bit etc.
    [Show full text]
  • Mathematics 1
    Mathematics 1 MATH 1030 College Algebra (MOTR MATH 130): 3 semester hours Mathematics Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course, Courses or approval of the department. This is a foundational course in math. Topics may include factoring, complex numbers, rational exponents, MATH 0005 Intermediate Algebra: 3 semester hours simplifying rational functions, functions and their graphs, transformations, Prerequisites: A satisfactory score on the UMSL Math Placement inverse functions, solving linear and nonlinear equations and inequalities, Examination, obtained at most one year prior to enrollment in this polynomial functions, inverse functions, logarithms, exponentials, solutions course. Preparatory material for college level mathematics courses. to systems of linear and nonlinear equations, systems of inequalities, Covers systems of linear equations and inequalities, polynomials, matrices, and rates of change. This course fulfills the University's general rational expressions, exponents, quadratic equations, graphing linear education mathematics proficiency requirement. and quadratic functions. This course carries no credit towards any MATH 1035 Trigonometry: 2 semester hours baccalaureate degree. Prerequisite: MATH 1030 or MATH 1040, or concurrent registration in MATH 1020 Contemporary Mathematics (MOTR MATH 120): 3 either of these two courses, or a satisfactory score on the UMSL Math semester hours Placement Examination, obtained at most one year prior to enrollment Prerequisites: A satisfactory score on the UMSL Math Placement in this course. A study of the trigonometric and inverse trigonometric Examination, obtained at most one year prior to enrollment in this functions with emphasis on trigonometric identities and equations. course. This course presents methods of problem solving, centering on MATH 1045 PreCalculus (MOTR MATH 150): 5 semester hours problems and questions which arise naturally in everyday life.
    [Show full text]
  • How to Choose a Winner: the Mathematics of Social Choice
    Snapshots of modern mathematics № 9/2015 from Oberwolfach How to choose a winner: the mathematics of social choice Victoria Powers Suppose a group of individuals wish to choose among several options, for example electing one of several candidates to a political office or choosing the best contestant in a skating competition. The group might ask: what is the best method for choosing a winner, in the sense that it best reflects the individual pref- erences of the group members? We will see some examples showing that many voting methods in use around the world can lead to paradoxes and bad out- comes, and we will look at a mathematical model of group decision making. We will discuss Arrow’s im- possibility theorem, which says that if there are more than two choices, there is, in a very precise sense, no good method for choosing a winner. This snapshot is an introduction to social choice theory, the study of collective decision processes and procedures. Examples of such situations include • voting and election, • events where a winner is chosen by judges, such as figure skating, • ranking of sports teams by experts, • groups of friends deciding on a restaurant to visit or a movie to see. Let’s start with two examples, one from real life and the other made up. 1 Example 1. In the 1998 election for governor of Minnesota, there were three candidates: Norm Coleman, a Republican; Skip Humphrey, a Democrat; and independent candidate Jesse Ventura. Ventura had never held elected office and was, in fact, a professional wrestler. The voting method used was what is called plurality: each voter chooses one candidate, and the candidate with the highest number of votes wins.
    [Show full text]
  • Complexity of Algorithms 3.4 the Integers and Division
    University of Hawaii ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., University of Hawaii Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by McGraw-Hill ICS 141: Discrete Mathematics I – Fall 2011 13-1 University of Hawaii Lecture 16 Chapter 3. The Fundamentals 3.3 Complexity of Algorithms 3.4 The Integers and Division ICS 141: Discrete Mathematics I – Fall 2011 13-2 3.3 Complexity of AlgorithmsUniversity of Hawaii n An algorithm must always produce the correct answer, and should be efficient. n How can the efficiency of an algorithm be analyzed? n The algorithmic complexity of a computation is, most generally, a measure of how difficult it is to perform the computation. n That is, it measures some aspect of the cost of computation (in a general sense of “cost”). n Amount of resources required to do a computation. n Some of the most common complexity measures: n “Time” complexity: # of operations or steps required n “Space” complexity: # of memory bits required ICS 141: Discrete Mathematics I – Fall 2011 13-3 Complexity Depends on InputUniversity of Hawaii n Most algorithms have different complexities for inputs of different sizes. n E.g. searching a long list typically takes more time than searching a short one. n Therefore, complexity is usually expressed as a function of the input size. n This function usually gives the complexity for the worst-case input of any given length. ICS 141: Discrete Mathematics I – Fall 2011 13-4 Worst-, Average- and University of Hawaii Best-Case Complexity n A worst-case complexity measure estimates the time required for the most time consuming input of each size.
    [Show full text]
  • Applied-Math-Catalog-Web.Pdf
    Applied mathematics was once only associated with the natural sciences and en- gineering, yet over the last 50 years it has blossomed to include many fascinat- ing subjects outside the physical sciences. Such areas include game theory, bio- mathematics and mathematical economy demonstrating mathematics' presence throughout everyday human activity. The AMS book publication program on applied and interdisciplinary mathematics strengthens the connections between mathematics and other disciplines, highlighting the areas where mathematics is most relevant. These publications help mathematicians understand how math- ematical ideas may benefit other sciences, while offering researchers outside of mathematics important tools to advance their profession. Table of Contents Algebra and Algebraic Geometry .............................................. 3 Analysis ........................................................................................... 3 Applications ................................................................................... 4 Differential Equations .................................................................. 11 Discrete Mathematics and Combinatorics .............................. 16 General Interest ............................................................................. 17 Geometry and Topology ............................................................. 18 Mathematical Physics ................................................................... 19 Probability .....................................................................................
    [Show full text]
  • Discrete Mathematics
    Texas Education Agency Breakout Instrument Proclamation 2014 Subject §126. Technology Applications Course Title §126.37. Discrete Mathematics (One-Half to One Credit), Beginning with School Year 2012-2013 TEKS (Knowledge and Student Expectation Breakout Element Subelement Skills) (a) General Requirements. Students shall be awarded one-half to one credit for successful completion of this course. The required prerequisite for this course is Algebra II. This course is recommended for students in Grades 11 and 12. (b) Introduction. (1) The technology applications curriculum has six strands based on the National Educational Technology Standards for Students (NETS•S) and performance indicators developed by the International Society for Technology in Education (ISTE): creativity and innovation; communication and collaboration; research and information fluency; critical thinking, problem solving, and decision making; digital citizenship; and technology operations and concepts. (2) Discrete Mathematics provides the tools used in most areas of computer science. Exposure to the mathematical concepts and discrete structures presented in this course is essential in order to provide an adequate foundation for further study. Discrete Mathematics is generally listed as a core requirement for Computer Science majors. Course topics are divided into six areas: sets, functions, and relations; basic logic; proof techniques; counting basics; graphs and trees; and discrete probability. Mathematical topics are interwoven with computer science applications to enhance the students' understanding of the introduced mathematics. Students will develop the ability to see computational problems from a mathematical perspective. Introduced to a formal system (propositional and predicate logic) upon which mathematical reasoning is based, students will acquire the necessary knowledge to read and construct mathematical arguments (proofs), understand mathematical statements (theorems), and use mathematical problem-solving tools and strategies.
    [Show full text]
  • Topics in Discrete Mathematics
    TOPICS IN DISCRETE MATHEMATICS A.F. Pixley Harvey Mudd College July 21, 2010 ii Contents Preface v 1 Combinatorics 1 1.1 Introduction . 1 1.2 The Pigeonhole Principle . 2 1.3 Ramsey's Theorem . 7 1.4 Counting Strategies . 15 1.5 Permutations and combinations . 19 1.6 Permutations and combinations with repetitions . 28 1.7 The binomial coefficients . 38 1.8 The principle of inclusion and exclusion . 45 2 The Integers 53 2.1 Divisibility and Primes . 53 2.2 GCD and LCM . 58 2.3 The Division Algorithm and the Euclidean Algorithm . 62 2.4 Modules . 67 2.5 Counting; Euler's φ-function . 69 2.6 Congruences . 73 2.7 Classical theorems about congruences . 79 2.8 The complexity of arithmetical computation . 85 3 The Discrete Calculus 93 3.1 The calculus of finite differences . 93 3.2 The summation calculus . 102 3.3 Difference Equations . 108 3.4 Application: the complexity of the Euclidean algorithm . 114 4 Order and Algebra 117 4.1 Ordered sets and lattices . 117 4.2 Isomorphism and duality . 119 4.3 Lattices as algebras . 122 4.4 Modular and distributive lattices . 125 iii iv CONTENTS 4.5 Boolean algebras . 132 4.6 The representation of Boolean algebras . 137 5 Finite State Machines 145 5.1 Machines-introduction . 145 5.2 Semigroups and monoids . 146 5.3 Machines - formal theory . 148 5.4 The theorems of Myhill and Nerode . 152 6 Appendix: Induction 161 v Preface This text is intended as an introduction to a selection of topics in discrete mathemat- ics.
    [Show full text]
  • Discrete Mathematics, Second Edition
    Jean Gallier Discrete Mathematics, Second Edition January 4, 2016 Springer Chapter 6 An Introduction to Discrete Probability 6.1 Sample Space, Outcomes, Events, Probability Roughly speaking, probability theory deals with experiments whose outcome are not predictable with certainty. We often call such experiments random experiments. They are subject to chance. Using a mathematical theory of probability, we may be able to calculate the likelihood of some event. In the introduction to his classical book [1] (first published in 1888), Joseph Bertrand (1822–1900) writes (translated from French to English): “How dare we talk about the laws of chance (in French: le hasard)? Isn’t chance the antithesis of any law? In rejecting this definition, I will not propose any alternative. On a vaguely defined subject, one can reason with authority. ...” Of course, Bertrand’s words are supposed to provoke the reader. But it does seem paradoxical that anyone could claim to have a precise theory about chance! It is not my intention to engage in a philosophical discussion about the nature of chance. Instead, I will try to explain how it is possible to build some mathematical tools that can be used to reason rigorously about phenomema that are subject to chance. These tools belong to probability theory. These days, many fields in computer science such as machine learning, cryptography, computational linguistics, computer vision, robotics, and of course algorithms, rely a lot on probability theory. These fields are also a great source of new problems that stimulate the discovery of new methods and new theories in probability theory. Although this is an oversimplification that ignores many important contributors, one might say that the development of probability theory has gone through four eras whose key figures are: Pierre de Fermat and Blaise Pascal, Pierre–Simon Laplace, and Andrey Kolmogorov.
    [Show full text]