## CS294-180: PARTITION FUNCTIONS: ALGORITHMS & COMPLEXITY, FALL 2020

INSTRUCTOR: Alistair Sinclair
(sinclair@cs)

TIME: Tuesday, Thursday 9:30-11:00

PLACE: Online (Zoom)

OFFICE HOURS: Tuesday 11:00-12:00; Thursday 11:00-12:00 Online

## RECENT ANNOUNCEMENTS

(12/7/20) Please be sure to fill out a course evaluation, if you have not already done
so. Details on the Piazza page.

(12/7/20) Lecture Note 23 (covering the last regular lecture of the class) is posted
below. As always, please let me know if you notice errors or omissions in the notes (however
minor).

(11/25/20) Lecture Notes 21 and 22 are posted below; thanks to the scribes.

(11/12/20) Thanks to everyone for teaming up and selecting projects.
The final schedule for project presentations can be found
here. I think this represents a nice selection
of topics that complements the material we have seen in lectures to date.
These final six lectures (Zoom links on Piazza as usual) are part of the class and
I'm trusting that everyone will show up as usual. Please also don't hesitate
to chime in with questions to let your fellow students know that you're
following along!

(11/12/20) Lecture Notes 19 and 20 are posted below. Thanks to the scribes.

(11/3/20) Lecture Notes 17 and 18 are posted below. Thanks to the scribes.
If you are taking the class for credit, please be sure to volunteer (with a
partner) for scribing a lecture.

(10/28/20) Lecture Note 16 is posted below. Thanks to the scribes.

(10/21/20) A list of suggested project topics is available
here. Please start by reading
these guidelines. The deadline for choosing
a project topic is **Monday November 2nd.**

(10/21/20) Lecture Note 15 is posted below. For the remainder of
the class lecture notes will be scribed by participants, so there will
be a delay in posting.

(10/16/20) Notes for Lectures 13 and 14 have been posted below. Please be
sure to read them and notify me of any typos or inconsistencies.

(10/8/20) Because of a systematic conflict, I have to permanently reschedule
my Monday office hour to Thursdays, 11am-12pm (right after lecture). Zoom links
for both office hours can be found on Piazza. If you want to talk to me and can't
make either of my office hours, feel free to send me email to figure out an alternative
time.

## COURSE DESCRIPTION

Partition functions are a class of polynomials with combinatorial coefficients that count
weighted combinatorial structures. Originally introduced in statistical physics, they have
more recently found widespread application in combinatorics, theoretical computer science,
statistics and machine learning, and have become a vibrant research area in their own
right. This course will cover algorithmic and complexity theoretic aspects of
partition functions,
as well as their connections to physical and combinatorial phase transitions.
A large portion of the class will be devoted to the Markov chain Monte Carlo method, which
remains the most widely applicable algorithmic tool in the area. The course will also cover
more recent deterministic algorithms based on correlation decay and geometry of polynomials.
The class is open to graduate students and exceptionally well-prepared undergraduates
(with the permission of the instructor). Prerequisites include a solid background in algorithms
and complexity theory and appropriate mathematical sophistication.

**Tentative List of Topics**

Counting, partition functions and Markov random fields.
The complexity class #P and #P-completeness. Approximate counting and
approximating partition functions. Relationship between counting and random sampling.
Polynomial time examples: spanning trees and matchings in planar graphs.
Basis of the Markov chain Monte Carlo (MCMC) method: ergodicity,
stationary distributions, reversibility, mixing times.
Coupling of Markov chains; applications to graph colorings and statistical
physics. Dobrushin uniqueness condition.
Functional analysis for mixing times: spectral gap and log-Sobolev inequalities.
Connection to multicommodity flows. Applications to approximating the permanent,
and counting the bases of a matroid.
Lower bounds: conductance and isoperimetric inequalities.
Correlation decay and spatial mixing in statistical physics and MRFs;
deterministic approximation algorithms; application to independent sets
(hard-core model).
Hardness of approximation based on non-uniqueness of the Gibbs measure.
Geometry of polynomials: approximation algorithms based on absence of
complex zeros. Lee-Yang theorems and connection to phase transitions.
Applications to the Ising model, graph colorings etc.

## MATERIALS

There is no textbook for the class; most of the material is drawn from research
papers, and references will be given as we go along. The primary written resource for the
class will be detailed lecture notes, which will be posted on this web page shortly after each
class. I will provide many of these, but will ask students to take turns at scribing
some of the lectures as necessary (working individually or in pairs).

## ASSESSMENT/ACTIVITIES

The main requirement of the class is following the lecture material via
Zoom and lecture notes.
Assessment will be based on some combination of (i) an end-of-semester
project (involving presentation of and/or incremental work on a
research paper); (ii) homeworks; (iii) scribe notes; and (iv) Zoom classroom
attendance/participation.
The exact combination will depend on the enrollment and
composition of the class. Further details will be circulated
early in the semester. Workload (beyond keeping up with the material)
is not expected to be particularly heavy.

## LECTURE NOTES