Advanced Algorithms: Markov Chains

Instructor:   Ivona Bezakova,   email:   my_initials at cs.rit.edu (humans please replace my_initials by ib)
Class meets:   Tu/Th   2-3:50pm,   room 70-1435
Office hours (tentative):   Mondays 2-3pm, Tuesdays 11am-12pm, Thursdays 4-6pm, office 70-3645;

0. Homework and Reading Assigments

For information about topics covered in the class, reading and homework assignments, follow this link.

1. Text

Mark Jerrum: Counting, Sampling and Integrating: Algorithms and Complexity, Birkhäuser, 2003, ISBN: 978-3764369460 (required textbook).

Other recommended books:

• D. A. Levin, Y. Peres, E. L. Wilmer: Markov Chains and Mixing Times
• W.R. Gilks, S. Richardson, D. Spiegelhalter: Markov Chain Monte Carlo in Practice

This webpage will contain additional materials, includins pdf's of the slides from the lectures.

2. Course description and intended learning outcomes.

General course description: This course focuses on advanced algorithms and data structures in a specialized area of computer science or in a specific scientific domain. Both practical and theoretical aspects of algorithms will be explored to provide coverage of the state of the art and shortcomings of computing in the specialized area. This includes proofs of correctness and complexity analysis of the algorithms. Students will write a term paper that explores the current state of research in the area or reports on the student's implementation and experiments with algorithms for a chosen problem. Students will also be required to make presentations.

This section's description: Markov chain Monte Carlo is a popular technique for sampling, counting, and integrating, used in many scientific disciplines including statistics, statistical physics, and many areas of computer science. A Markov chain is a random process that, starting from any configuration, keeps performing small random changes to the configuration until it eventually reaches a completely random configuration. The process can often be used to not only obtain a random sample, but also to count all possible configurations (in physics the weighted version of counting is called the partition function). Students will learn about the design and analysis of Markov chains and their connection to counting problems. The course emphasizes discrete structures and analysis of the mixing time of Markov chains (i.e. how many steps guarantee a random configuration).

Intended learning outcomes:
• Students will explain the algorithms and data structures in a specialized area.
• Students will analyze the applicability of the range of effective computations in a chosen area.
• Students will explain the limitations of effective computations in a chosen area.

• Exam, 25%. The exam will take place on Thursday of week 8 in class, i.e., May 3rd, 2-3:50pm, room 70-1435.
• Homeworks, 25%. There will be six homework assignments, posted in weeks 1-6 on the webpage, typically on Fridays, each assignment will be posted roughly a week before it is due. The lowest homework grade will be dropped and the remaining five grades contribute evenly towards your final grade.
• Presentations, 25%. The last two weeks will be devoted to student presentations. If you have a topic you would like to present, please talk to me before the end of week 4. I will post some possible topics in week 5 for those who have not decided by then. Everybody has to have a topic chosen by the end of week 6. The schedule for the presentations will be finalized in week 7. Your grade will depend on the quality of your presentation and on your participation in other students' presentations. The specific grading criteria will be specified by week 7.
• Project, 25%. During the last three weeks you will be working on the group project. The project will ask you to implement and experiment with a Markov-chain based algorithm. The project will be posted by week 7 and it will be due in week 10. You may work in groups of up to 3 people.

4. Topics
• Introduction to Markov chains
• Hitting time, commute time, cover time, mixing time
• Deterministic counting algorithms
• #P-completeness
• Sampling and counting
• Markov chain Monte Carlo
• Coupling and colorings
• Canonical paths and matchings
• Simulated annealing

5. Technical issues
• You are free to discuss the material with the instructor, your classmates, and anybody else whom you make listen to you :) However, after the discussions end, you have to write up the homework solutions on your own without other people's help.
• All graded work can be disputed within one week after the work is handed back. Your grades will be posted on MyCourses.
• The exam cannot be made up unless a true emergency arises (a proper documentation is required in such cases).
• Hopefully there is no need to link to the departmental policy on academic integrity. In the unfortunate event when cheating earns a 0 score on a homework, the lowest non-cheating score will be dropped. Also note that second offenses result in an F in the course.