1 - Electrical Engineering & Computer Sciences

advertisement
1. Department, number and title of course: Computer Science: CS 174, Combinatorics
and Discrete Probability
2. Catalog Description: (4 units) Permutations, combinations, principle of inclusion and
exclusion, generating functions, Ramsey theory. Expectation and variance, Chebychev's
inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and
entropy computations, universal hashing, random number generation, random graphs and
probabilistic existence bounds.
3. Prerequisites: CS 170.
4. Textbooks and/or other required material:
M. Mitzenmacher and E. Upfal, Probability and Computing: Randomized
Algorithms and Probabilistic Analysis, Cambridge University Press. 2005.
5. Course objectives: Provide familiarity with basic tools in discrete probability and their
applications to the design and analysis of randomized algorithms and data structures.
Learn how probabilistic ideas and techniques can lead to more efficient and conceptually
simpler algorithms for many problems. Develop an understanding of randomness as a
computational resource.
6. Topics covered:
 Events and probability
 Random Variables, Expectation, conditional expectation
 Bernoulli, binomial, geometric distributions
 Program Checking/Polynomial Identities
 Coupon collector’s problem
 Variance and moments
 Markov’s inequality, Chebyshev’s inequality
 Chernoff bounds, moment generating functions
 Hoeffding-Azuma inequality
 Balls and bins, the birthday paradox
 Routing in a Parallel Computer
 The Poisson distribution, the Poisson approximation
 Hashing, Bloom filters
 Random Graphs
 The probabilistic method, Lovasz local lemma
 Markov chains
 Stationary distributions, classification of states
 Random walks
 The Monte Carlo method, Markov chain Monte Carlo
 Coupling of Markov chains
 Graph Algorithms: Minimum cut, independent sets, Hamiltonian cycles
 Randomized algorithms for satisfiability
7. Class/laboratory schedule: Three hours of lecture and one hour of discussion per week.
8. Contribution of course meeting the professional component: This course covers
engineering topics. It is 75% science and 25% design.
9. Relationship of course to program objectives: This course requires students to use
their fundamental knowledge of mathematics, science, and engineering to analyze and
solve computer engineering problems. The students learn to identify, formulate and solve
challenging problems. They learn to design a system, component or process to meet
desired needs.
10. Prepared by: Professor Alistair Sinclair and Ron Layug, May 23, 2000; updated by:
Peter Bartlett, March 28, 2006.
Download