Venue
Live streaming, Tuesdays and Thursdays 9:15 to 9:45
Prerequisites
As always, some assumptions need to be made:
- Here it is assumed that you have a basic knowledge of statistical physics
- and some programming experience to understand the methods and algorithms.
Grading
Grading will be based on the successful completion of one homework projects. The project can be choosen from a list of small projects.
List of projects (2020-11-09):
Beginners:
- Implementation of the Ising model with calculation of the critical temperature
- Implementation of the q-state Potts model
- Implementation of the percolation model with calculation of the percolation threshold
- Estimation of the end-to-end distance of the self-avoiding walk
- tbc
Advanced:
- Population dynamics
- Random walks on small world networks
- Monte Carlo deep learning (see for example the following paper)
- DNA computing & linear self-assembly: Question to be addressed: Are molecules capable of universal computation? Molecular Computation of Solutions to Combinatorial Problems
- Lattice models and Monte Carlo methods for simulating DNA origami self-assembly
- Monte Carlo simulation of sedimentation
- Monte Carlo modeling for tumor growth
- Auto-encoding sequential Monte Carlo
- A practical Monte Carlo implementation of Bayesian learning
- Deep Neural Network and Monte Carlo Tree Search applied to Fluid-Structure Topology Optimization
- Three-Head Neural Network Architecture for Monte Carlo Tree Search
- Generalizing Hamiltonian Monte Carlo with neural networks
- Neural Importance Sampling
- AlphaGo
Lecture Notes
This set of lectures is concerned with simulation methods which use stochastic elements to compute quantities of interest. The stochastic methods are built on concepts developed in probability theory and statistical mechanics. They allow not only a treatment of problems apparently probabilistic in nature, but also problems which are at first sight deterministic. The scope of applications is broad, making it the most flexible and exciting tool in simulational science. Indeed it is the most widely applied simulation method across the sciences. In this set of lectures I will introduce the basics of the method. I will then give examples of how the method is used in high performance computing where the parallelism is important.
Below, you will find the notes to the Monte Carlo Course.
- Introduction
Program code: Calculate Pi parallelized version (C, MPI)
- The Metropolis Method
Program code: Random walk (C) Program code: Random walk (PYTHON)
- Convergence of the Method
- Random Numbers
- Another Application: The Ising Model
Program code: Ising model (C) Program code: Percolation (C)
- Hybrid (Hamiltonian) Monte Carlo
- Cluster Algorithms
- Multi-Grid-Monte Carlo
- Simulated Annealing
- Parallelization
- High-Performance Computing
- Special Purpose Computer
- Free Energy Monte Carlo Methods
- Hidden Markov Models
- Another Application: Gene Expression
- Rejection-free Monte Carlo
- Historgram Methods
- Monte Carlo Techniques in Artificial Intelligence
- Quanten Monte Carlo (not ready)
Literature
- Monte Carlo Simulation in Statistical Physics, K. Binder and D.W. Heermann, 2019
- Monte Carlo Methods, M.H. Kalos and P.A. Whitlock, 2008
- Monte Carlo Strategies in Scientific Computing, J.S. Liu, 2004
- Monte Carlo Methods in Statistical Mechanics: Foundations and New Algorithms by A. Sokal, in Functional Integration: Basics and Applications, C DeWitt-Morette, P Cartier, and A Folacci, eds. NATO ASI Series (Series B: Physics) 361, Springer, 1997