Instructor: Srikanta Tirthapura
Email: snt@iastate.edu
Office: Room 3212, Coover Hall, Phone: (515) 294-3546
Office Hours: TBA
| Syllabus in pdf | Course Schedule | Homeworks | Assignments |
| Textbooks | Grading | Course Policies | Links |
This course is an introduction to the use of probability and randomization in computing. The use of probability in computing can be classified into roughly two classes, randomized algorithms, and probabilistic analysis. This course will introduce both techniques.
Some algorithms make a randomized decision (by "flipping a few coins") to decide what step to take next. Such algorithms are called randomized algorithms, and are pervasive within computing. Many of the most efficient algorithms for fundamental problems are randomized algorithms. In some cases, probability is used as a tool in analyzing the efficiency of algorithms and computer processes. In these cases, the input is modeled by a probability distribution, and this information is used in predicting the behavior of the algorithm. This is commonly referred to as probabilistic analysis. The course will begin by introducing a basic set of techniques for analyzing discrete random variables and probabilistic processes, and will demonstrate their use in a broad range of applications in computer engineering.
Tentative list of topics:
| Day | Topic | Reading/Homeworks |
| Tue, Jan 10 | Introduction, Testing Polynomial Identity | |
| Thu, Jan 12 | Basic Concepts of Probability | Chapter 1 |
| Tue, Jan 17 | Randomized Min-cut Algorithm and Analysis | Chapter 1.4 |
| Thu, Jan 19 | Randomized Min-cut Algorithm and Analysis | Chapter 1.4 |
| Tue, Jan 24 | Discrete Random Variables, Coupon Collector's Problem | Sections 2.1 - 2.4 |
| Thu, Jan 26 | Expected Runtime of Quicksort | Section 2.5 |
| Tue, Jan 31 | Variance, Markov and Chebyshev's Inequalities | 3.1 and 3.2 |
| Thu, Feb 2 | Markov and Chebyshev's Inequalities | 3.1 -- 3.3 |
| Tue, Feb 7 | Randomized Algorithm for the Median | 3.4 |
| Thu, Feb 9 | Chernoff Bound, Applications | 4.1 -- 4.3 |
| Tue, Feb 14 | Parameter Estimation, High Probability Bound for Quicksort Runtime | 4.2 |
| Thu, Feb 16 | Balls in Bins, Analysis of Hashing | 5.1, 5.2 |
| Tue, Feb 21 | Bloom Filters | 5.5.3 |
| Thu, Feb 23 | Consistent hashing | Web Caching with Consistent Hashing |
| Tue, Feb 28 | Random Graphs | |
| Thu, Mar 1 | Random Graph Connectivity | Section 5.6, Handouts in class |
| Tue, Mar 6 | Rabin-Karp String Matching | Handouts in Class |
| Thu, Mar 8 | Skip Lists and Analysis | Readings provided |
| Tue, Mar 13 | Spring Break. | |
| Thu, Mar 15 | Spring Break. | |
| Tue, Mar 20 | Data Stream Processing: Estimating Number of Distinct Elements | Estimating simple functions on the union of data streams |
| Thu, Mar 22 | Data Stream Processing: Estimating Frequency Moments | The space complexity of approximating the frequency moments |
| Tue, Mar 27 | Markov Chains, Randomized Algorithm for 2-SAT | Section 7.1 |
| Thu, Mar 29 | Random Walks, Pagerank Algorithm for Webpage Ranking | Section 7.2, 7.3 Wikipedia on Pagrank The PageRank Citation Ranking: Bringing Order to the Web. |
| Tue, Apr 3 | Random Walks, contd. | |
| Thu, Apr 5 | DNF Counting | Section 10.2 |
| Tue, Apr 10 | Primality Testing | |
| Thu, Apr 12 | TBA | Tue, Apr 17 | TBA |
| Thu, Apr 19 | TBA | Tue, Apr 24 | TBA |
| Thu, Apr 26 | TBA | Tue, May 1 | Exam Week |
| Thu, May 3 | Exam Week |