CS 323: Automated Reasoning
Stanford / Computer Science / Spring 2016-2017
Announcements will be posted on Piazza.
- Lectures: Tue/Thu 10:30-11:50pm, Ceras Room 300 , 3-4 units
- Office Hours: Wednesdays 1 pm, Gates 228 or by appointment.
Instructor: Stefano Ermon
Contact: Please use Piazza for all questions related to lectures and coursework.
Materials: online notes
- Course Description:
Intelligent computer agents must reason about complex, uncertain, and dynamic environments. This course is a graduate level introduction to automated reasoning techniques and their applications, covering logical and probabilistic approaches. Topics include: logical and probabilistic foundations, backtracking strategies and algorithms behind modern SAT solvers, stochastic local search and Markov Chain Monte Carlo algorithms, classes of reasoning tasks and reductions, and applications.
The goal of the course is to expose students to general modeling languages such as SAT and factor graphs, which have numerous applications in AI and beyond. Students will also learn about different types of reasoning tasks and the main families of inference and search algorithms, understanding their strengths, weaknesses and exploring relationships between them.
The course will cover (tenatively):
Logical Reasoning: logic, satisfiability, transformations; SAT solvers Practical Applications of SAT/SMT, SAT competitions; Tractable fragments, 2-SAT, random walks; Random 3SAT, Phase transitions, connections with statistical physics (Survey Propagation); (Weighted) MAX-SATProbabilistic Reasoning: Constraint networks and factor graphs; Probabilistic inference, counting problems and complexity classes; Reductions: MPE to weighted maxSAT, probabilistic inference to weighted model counting Sampling and counting self-reducibility; MCMC sampling: Markov Chain analysis, connections with stochastic local search (Simulated Annealing, etc); Sampling and Counting with an NP-Oracle (SAT solver); Planning and bounded model checking with SAT
Prerequisites: Students are expected to have background in basic probability theory, statistics, programming, algorithm design and analysis.
- Evaluation: The main component of this course will be a research project. This project can be a new application of one of the techniques presented or theoretically-oriented. This will involve an initial project proposal and a final report. The final report should resemble a conference paper, and will be evaluated on the basis of soundness, significance, novelty, and clarity. Students might also be asked to present a paper (depending on class size).
Required Textbook: There is no required textbook. Reading materials will be provided.
Modeling and Reasoning with Bayesian networks by Adnan Darwiche.
Machine Learning: a Probabilistic Perspective by Kevin P. Murphy.
- Papers (to be extended):
- Mastering the game of Go with deep neural networks and tree search. Silver, David, Huang, Aja, Maddison, Chris J., Guez, Arthur, Sifre, Laurent, Driessche, George van den, Schrittwieser, Julian, Antonoglou, Ioannis, Panneershelvam, Veda
- Sum-Product Networks: A New Deep Architecture. Hoifung Poon and Pedro Domingos
- Probability Distributions over Structured Spaces. Arthur Choi and Guy Van den Broeck and Adnan Darwiche
- Hinge-Loss Markov Random Fields and Probabilistic Soft Logic. Stephen H. Bach, Matthias Broecheler, Bert Huang, Lise Getoor
- First-Order Model Counting in a Nutshell. Guy Van den Broeck
- First-order probabilistic inference. David Poole
- Probabilistic Theorem Proving. Vibhav Gogate and Pedro Domingos
- Random Walks That Find Perfect Objects and the Lovasz Local Lemma. Dimitris Achlioptas, Fotis Iliopoulos
- Survey Propagation: An Algorithm for Satisfiability. A. Braunstein1, M. Mezard and R. Zecchina
- Belief propagation for structured decision making. Liu, Ihler
- A differential approach to inference in Bayesian networks. Adnan Darwiche
- On Probabilistic Inference by Weighted Model Counting. Mark Chavira and Adnan Darwiche
- Approximate Counting in SMT and Value Estimation for Probabilistic Programs. Dmitry Chistikov, Rayna Dimitrova, Rupak Majumdar
- A* Sampling. Chris J. Maddison,Daniel Tarlow, Tom Minka
- Austerity in MCMC Land: Cutting the Metropolis-Hastings Budget. A. Korattikara, Y. Chen and M. Welling
- Solving and Verifying the boolean Pythagorean Triples problem via Cube-and-Conquer. Marijn J. H. Heule, Oliver Kullmann, Victor W. Marek
- Algorithm Runtime Prediction: Methods and Evaluation. F. Hutter, L. Xu, H. Hoos, K. Leyton-Brown
- Solving the Station Repacking Problem. Alexandre Frechette, Neil Newman, Kevin Leyton-Brown
- Learning to Branch in Mixed Integer Programming. Elias B. Khalil, Pierre Le Bodic, Le Song, George Nemhauser, Bistra Dilkina
- Hybrid computing using a neural network with dynamic external memory. A Graves, G Wayne, M Reynolds, T Harley, I Danihelka, A Grabska-Barwinska, S Gomez Colmenarejo, E Grefenstette, T Ramalho, J Agapiou, A Puigdomenech, K M Hermann, Y Zwols, G Ostrovski, A Cain, H King, C Summerfield, P Blunsom, K Kavukcuoglu, D Hassabis