Instructor:   Ivona Bezakova,   email:   my_initials at cs.rit.edu (humans please replace my_initials by ib)
Class meets:   Tu/Th   12-1:50pm,   room 70-3000
Office hours:   Tu 4-5pm, Th 3-5pm, Fr 3-4pm, office 70-3645 (if I am not in my office at 3pm on Thursday or Friday, I am probably still copying student work for the 4003-242 course - please look for me in the faculty copy room, right opposite to the 70-3435 classroom);

1. Text

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

Other recommended books:

• Olle Haggstrom: Finite Markov Chains and Algorithmic Applications
• J.R. Norris: Markov Chains
• W.R. Gilks, S. Richardson, David 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., February 4th, 12-1:50pm, room 70-3000.
• 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 holiday break. I will post some possible topics during the break for those of you who have not decided by then. The schedule for the presentations will be finalized shortly after the break. 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 3-4 people.

4. Topics
• Deterministic counting algorithms
• #P-completeness
• Sampling and counting
• Markov chain Monte Carlo
• Coupling and colorings
• Canonical paths and matchings
• Stopping heuristics
• 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.