CS 262 (Section 1): Randomized Algorithms and Applications, Spring 2009

David Scot Taylor
212 MacQuarrie Hall
Assistant Professor
Dept. of Computer Science
San Jose State University
Phone: (408) 924-5124 (email works better)
Email: taylor "at" cs.sjsu.edu

My office hours for Spring 2009 : Tue/Thur 8:20-9:00, (the last 10 minutes in MH222), 11:50-12:30, 14:45-15:30, or by appointment.
I will also have office hours on Friday, 5/15, from 11 a.m. until noon.

Section 1: MH 234, Tue/Thur 13:30-14:45

Course Information

Information about the course, prerequisites, grading, and policies can be found on the Course Greensheet.

Announcements

I will have office hours on Friday, 5/15, from 11 a.m. until noon.

Classes So Far

Date Topics Covered Readings (usually for the next class)
(Mitzenmacher and Upfal)
Homework
May 7 Primality If you go online to my.sjsu.edu, under self service, you should have a link for online SOTE Ratings!
May 5 Primality, part 1 Consider the efficient method of exponentiation that we saw in class. There will be a question about it on the final.
April 30 Genetic Algorithms Thanks Phil for a great talk. Josh, very nice question about the importance of locality of genes, I would have missed that.
April 28 Randomized Complexity Classes (RP, ZPP, BPP, PP) and return to LLL Understand these complexity classes. There will be a question on the final exam related to them.
April 23 Randomized Treaps and Skip Lists None
April 21 Simulated Annealing Some links I looked at while preparing this talk:
http://www.cs.sandia.gov/opt/survey/sa.html and http://www.phy.ornl.gov/csep/CSEP/MO/NODE28.html, which gives links to the historically important papers on the first page. Also, our text, 10.4.1.
Simulated Annealing Homework
(Do individually.)
April 16 Monte Carlo Method, Intro to Coupling 10.4, Skim some of Chapter 11 for fun... No assignment
April 14 Monte Carlo Method
April 9 Min-Cut Revisited Read 10.1-10.3 for next time None.
April 7 Markov Chains Review Chapter 1.4 before next class. (This is pretty important, unless you have amazing recall.)

You can read some of Chapter 8, especially 8.4-8.6, if you want to see more on Continuous Time Markov Chains. (Just for your information, I won't check.)

Due 4/14: 7.27. Don't worry about a formal proof, just think about the distribution. (It is a nice example to see that Markov Chains can be used if you look for them.
April 2 Markov Chains 7.5, and see Exercise 7.1.3 for an explanation of time reversible Markov Chains. (You don't need to do the exercise.) Due 4/9: 7.24, 7.26 (The latter has a nice explanation that is very light on math. Don't spend too much time getting bogged down in equations.)
March 19 Markov Chains 7.3-7.4
Due 4/7: 7.17, 7.19 (We will cover the gambler's ruin on 4/2, or you can read it in the text.)
March 17 Markov Chains: Introduction 7.1-7.2
Due 4/2: 7.7
March 12 More Midterm, "Online MAX Selection" problem
No assignment
March 10 Discussion of Midterm
No assignment
March 5 No class meeting today.
March 3 Comparative Ratios
Take home midterm due 3/10
February 26 The Probabilistic Method 6.4 - 6.7
I had hoped to get through 6.7 by Tuesday, but it seems doubtful that we will.
A take-home midterm will be distributed on Tuesday, 3/3. It will be due Tuesday, 3/10. I will not be here on 3/5.
February 24 The Probabilistic Method 6.4 - 6.6 Due 3/3: 6.3
As discussed in class, if you want to submit a "make-up" solution for the homework due 2/24, it is this: simulate a version of problem 4.6. Out of 1000000 million voters, assume that the intended winner gets x% of the votes, and the intended loser gets the rest. Simulate that votes for each are flipped with probability 2%. Given 1000 trials for each x, give the number of "bad" outcomes, that is, the emperical probability that the wrong candidate is declared the winner. Do this for x values 50.1 to 51, in increments of .1.

Update: I am told that for 50.3 and higher, "bad" results don't happen anymore. Simulate values, as needed, to see the cut-off of the likelyhood that results get flipped.

February 19 The Probabilistic Method 6.1 - 6.3 Due 2/26: 6.9.
February 17 Chernoff and HW Review 6.1, 6.2 Due 2/24: 4.6. Spend the time to do it. It is a straight-forward application of Chernoff, put into reasonable context. You can do it with somebody else if you like, even turning in a joint solution.
February 12 Chernoff Bounds 4.3 (skip proofs if you like), 4.4 Due 2/19: 4.1, 4.2
February 10 Chebyshev's Inequality 4.1 (skim), 4.2 (skim proofs) Due 2/17: 3.25. Also, the following:

You enter a bank. It has an infinite number of lines. Every line moves at a rate chosen uniformly and independently from real numbers in the range of 1 customer per minute to 2 customers per minute. All lines have exactly 10 people on them, so you arbitrarily get on line number 1.

You decide to see how good your pick of lines was, by looking at the lines next to you, to see how many lines over you need to look before finding a line slower than your own. (Since rates are all independent, there is a 50% chance that line number 2 is slower than your own, in which case, you look over exactly one line.) What is the expected number of lines you have to look over before finding one slower than your own? How about for a line faster than your own? How about for one different than your own?

February 5 Coupons, Quicksort, and Markov's Inequality 3.2-3.4 Due 2/12: 3.16.

Optional HW (possibly hard): Prove or disprove: David's approach for the homework due today (handed out in hardcopy), when generalized, will always require fewer than i+1 expected bits to generate any number uniformly from 1 to 2i. You do not need to do this homework, but if you do it, I will use it to replace a lower score homework.

Optional optional homework (more likely hard): prove that his approach, generalized, is optimal, or give a counter-example.

February 3 Standard Probability Distributions 2.5, 3.1 Due 2/10: 2.2, 2.8.b, 2.25
January 29 More disscussion of one-sided error, RP, creating unbiases bits, and uniform distribution over arbitrary ranges Chapter 2.1-2.4. Due 2/5: You are given a source of unbiased random bits. In class, we discussed one possible approach to uniformly and randomly generate an integer from 1 to 20, including a (suboptimal) way to try to "preserve" bits, saving them from the case where the initial sample fails.

Improve the algorithm for sampling 1 to 20. Try to minimize the (expected) number of random bits used by your algorithm. Also give algorithms for sampling 1 to 22, and 1 to 24. Minimize bits used for each. (Hint: You can get below 6 bits for each. A student beat my bounds.)

January 27 Polynomials, One-Sided Errors, and Bayes All of Chapter 1
Bring questions if you have any.
Due 2/3: Exercises 1.12-1.16.
January 22 Introductions and Administrivia Chapter 1.1, 1.2, 1.3
Bring questions on it, if you have any.
Email me using subject:
CS262Spring2009
In the email, include your email address, and if you are enrolled or not. If not enrolled, let me know if you are open university, or graduate vs. undergraduate student.

Due 1/29: Exercises 1.1-1.5