You are previewing Concrete Mathematics: A Foundation for Computer Science, Second Edition.
O'Reilly logo
Concrete Mathematics: A Foundation for Computer Science, Second Edition

Book Description

This book introduces the mathematics that supports advanced computer programming and the analysis of algorithms. The primary aim of its well-known authors is to provide a solid and relevant base of mathematical skills - the skills needed to solve complex problems, to evaluate horrendous sums, and to discover subtle patterns in data. It is an indispensable text and reference not only for computer scientists - the authors themselves rely heavily on it! - but for serious users of mathematics in virtually every discipline.

Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics. "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems." The subject matter is primarily an expansion of the Mathematical Preliminaries section in Knuth's classic Art of Computer Programming, but the style of presentation is more leisurely, and individual topics are covered more deeply. Several new topics have been added, and the most significant ideas have been traced to their historical roots. The book includes more than 500 exercises, divided into six categories. Complete answers are provided for all exercises, except research problems, making the book particularly valuable for self-study.

Major topics include:

  • Sums

  • Recurrences

  • Integer functions

  • Elementary number theory

  • Binomial coefficients

  • Generating functions

  • Discrete probability

  • Asymptotic methods

  • This second edition includes important new material about mechanical summation. In response to the widespread use of the first edition as a reference book, the bibliography and index have also been expanded, and additional nontrivial improvements can be found on almost every page. Readers will appreciate the informal style of Concrete Mathematics. Particularly enjoyable are the marginal graffiti contributed by students who have taken courses based on this material. The authors want to convey not only the importance of the techniques presented, but some of the fun in learning and using them.

    Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Dedication Page
    5. Preface
    6. A Note on Notation
    7. Contents
    8. 1. Recurrent Problems
      1. 1.1 The Tower of Hanoi
      2. 1.2 Lines in the Plane
      3. 1.3 The Josephus Problem
      4. Exercises
        1. Warmups
        2. Homework exercises
        3. Exam problems
        4. Bonus problems
        5. Research problems
    9. 2. Sums
      1. 2.1 Notation
      2. 2.2 Sums and Recurrences
      3. 2.3 Manipulation of Sums
      4. 2.4 Multiple Sums
      5. 2.5 General Methods
        1. Method 0: You could look it up.
        2. Method 1: Guess the answer, prove it by induction.
        3. Method 2: Perturb the sum.
        4. Method 3: Build a repertoire.
        5. Method 4: Replace sums by integrals.
        6. Method 5: Expand and contract.
        7. Method 6: Use finite calculus.
        8. Method 7: Use generating functions.
      6. 2.6 Finite and Infinite Calculus
      7. 2.7 Infinite Sums
      8. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problem
    10. 3. Integer Functions
      1. 3.1 Floors and Ceilings
      2. 3.2 Floor/Ceiling Applications
      3. 3.3 Floor/Ceiling Recurrences
      4. 3.4 ‘MOD’: The Binary Operation
      5. 3.5 Floor/Ceiling Sums
      6. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problems
    11. 4. Number Theory
      1. 4.1 Divisibility
      2. 4.2 Primes
      3. 4.3 Prime Examples
      4. 4.4 Factorial Factors
      5. 4.5 Relative Primality
      6. 4.6 ‘MOD’: The Congruence Relation
      7. 4.7 Independent Residues
      8. 4.8 Additional Applications
      9. 4.9 PHI and MU
      10. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problems
    12. 5. Binomial Coefficients
      1. 5.1 Basic Identities
      2. 5.2 Basic Practice
        1. Problem 1: A sum of ratios.
        2. Problem 2: From the literature of sorting.
        3. Problem 3: From an old exam.
        4. Problem 4: A sum involving two binomial coefficients.
        5. Problem 5: A sum with three factors.
        6. Problem 6: A sum with menacing characteristics.
        7. Problem 7: A new obstacle.
        8. Problem 8: A different obstacle.
      3. 5.3 Tricks of the Trade
        1. Trick 1: Going halves.
        2. Trick 2: High-order differences.
        3. Trick 3: Inversion.
      4. 5.4 Generating Functions
      5. 5.5 Hypergeometric Functions
      6. 5.6 Hypergeometric Transformations
      7. 5.7 Partial Hypergeometric Sums
      8. 5.8 Mechanical Summation
      9. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problems
    13. 6. Special Numbers
      1. 6.1 Stirling Numbers
      2. 6.2 Eulerian Numbers
      3. 6.3 Harmonic Numbers
      4. 6.4 Harmonic Summation
      5. 6.5 Bernoulli Numbers
      6. 6.6 Fibonacci Numbers
      7. 6.7 Continuants
      8. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problems
    14. 7. Generating Functions
      1. 7.1 Domino Theory and Change
      2. 7.2 Basic Maneuvers
      3. 7.3 Solving Recurrences
        1. Example 1: Fibonacci numbers revisited.
        2. Rational Expansion Theorem for Distinct Roots.
        3. General Expansion Theorem for Rational Generating Functions.
        4. Example 2: A more-or-less random recurrence.
        5. Example 3: Mutually recursive sequences.
        6. Example 4: A closed form for change.
        7. Example 5: A divergent series.
        8. Example 6: A recurrence that goes all the way back.
      4. 7.4 Special Generating Functions
      5. 7.5 Convolutions
        1. Example 1: A Fibonacci convolution.
        2. Example 2: Harmonic convolutions.
        3. Example 3: Convolutions of convolutions.
        4. Example 4: A convoluted recurrence.
        5. Example 5: A recurrence with m-fold convolution.
      6. 7.6 Exponential gf’s
      7. 7.7 Dirichlet Generating Functions
      8. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problems
    15. 8. Discrete Probability
      1. 8.1 Definitions
      2. 8.2 Mean and Variance
      3. 8.3 Probability Generating Functions
      4. 8.4 Flipping Coins
      5. 8.5 Hashing
        1. Analysis of Hashing: Introduction.
        2. Case 1: The key is not present.
        3. Case 2: The key is present.
        4. Case 2, continued: Variants of the variance.
        5. Case 1, again: Unsuccessful search revisited.
      6. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problem
    16. 9. Asymptotics
      1. 9.1 A Hierarchy
      2. 9.2 O Notation
      3. 9.3 O Manipulation
        1. Problem 1: Return to the Wheel of Fortune.
        2. Problem 2: Perturbation of Stirling’s formula.
        3. Problem 3: The nth prime number.
        4. Problem 4: A sum from an old final exam.
        5. Problem 5: An infinite sum.
        6. Problem 6: Big Phi.
      4. 9.4 Two Asymptotic Tricks
        1. Trick 1: Bootstrapping.
        2. Trick 2: Trading tails.
      5. 9.5 Euler’s Summation Formula
      6. 9.6 Final Summations
        1. Summation 1: This one is too easy.
        2. Summation 1, again: Recapitulation and generalization.
        3. Summation 2: Harmonic numbers harmonized.
        4. Summation 3: Stirling’s approximation.
        5. Summation 4: A bell-shaped summand.
        6. Summation 5: The clincher.
      7. Exercises
        1. Warmups
        2. Basics
        3. Homework exercises
        4. Exam problems
        5. Bonus problems
        6. Research problems
    17. A. Answers to Exercises
    18. B. Bibliography
    19. C. Credits for Exercises
    20. Index
    21. List of Tables
      1. Major topics include
      2. About the authors