# NUMPHYsandML

# Numerical Physics and Machine Learning

## Course description

We will cover many algothims used in many-body problems and complex systems: Monte Carlo methods, molecular dynamics and optmization in complex landscapes. We shall also discuss the use of some machine learning algorithms (Boltzmann machines, Auto-encoder, Deep Learning) for physics problems. We focus on algorithms and physics, not on programming and heavy numerics. The theoretical lecture is followed by a tutorial introducing concrete numerical exercises. You will have to hand in 3 homeworks.

Lectures on machine learning will be done remotely. You will be able to access them on https://epfl.zoom.us/my/krzakalaflorent Tutorials will take place as usual on the gotomeeting.

## The Team

- Alberto Rosso (Numerical Physics)
- Florent Krzakala (Machine Learning)
- Marko Medenjak (Tutorials)

## Where and When

- Lectures on Fridays: 14:00-16:00
- Tutorials on Fridays: 16:00-18:00
- ENS, 24 rue Lhomond, room L367 (third floor)

## Computer Requirements

**No previous experience in programming is required.**

**Programming Language: Python**

For practical installation, we recommand either to use Anaconda (See Memento Python) or use google colab.

The Colaboratory platform from Google is quite good way to use powerful computer without buying one: It requires no specific hardware or software, and even allows you to use GPU computing for free, all by writting a jupyter notebook that you can then share.

## Grading

Homeworks (50% of the mark) + 1 MCQ (50% of the final mark)

## Schedule

**Friday, September 4, 2020 **

- Lecture 1 Introduction to Monte Carlo

- Tutorial 1 Markov Matrix

**Friday, September 11, 2020**

- Lecture 2 Basic Sampling

- Tutorial 2 Markov matrix problems

**Friday, September 18, 2020**

- Lecture 3: Errors and Precision

- Tutorial 3 Thumb rule problems

Homework: Download

**Friday, September 25, 2020**

- Lecture 4: Ising model and phase transitions

- Tutorial 4: Ising model and phase transitions problems

**Friday, October 2, 2020**

Lecture 5: Quantum particle

Tutorial 5: Time evolution (quantum) problems

Homework 2: Download

**Friday, October 9, 2020**

Lecture 6: Importance sampling

Tutorial 6: Faster than the clock algorithms problems

** Friday, October 16, 2020**

**GoToMeeting link** [1] (Room 1 M2 ICFP)

Lecture 7: Optimization & Dijkstra algorithm

Tutorial 7: Simulated annealing problems

**Friday, October 23, 2020**

Lecture 8: Maximum Likelyhood estimation:

Tutorial 8: Maximum Likelyhood estimation problems

** Due: Homework 2 (send it to Marko)**

**Friday, November 06, 2020**

Lecture 9: Restricted Boltzmann machines

Tutorial 9: Restricted Boltzmann machines problems

**Friday, November 13, 2020**

Tutorial 10: k-NN and regression problems

**Homework 3** Due by December 4, 2020
Homework
Data

**Friday, November 27, 2020**

Tomorrow Florent cannot really give the talk in direct live ... but never fear:

- he can make a short Q/A tomorrow at, say, 15h or 15H30

- he registered the whole lecture in video, and put it here:

Tutorial 11 Deep neural networks problems

**Friday, December 4, 2020**

Tutorial 12 Convolutional neural networks and auto-encoders

**Due: Homework 3** (send it to me (Marko))

**Friday, December 11, 2020**

**Multiple Choice Questions: **

**The Solution** [2]

**The test**

The MCQ is composed of 20 questions. For each question you have 4 choices: 3 wrong and 1 correct.

- If you check the correct one you get a point.

- If you are wrong you loose 1/4 of a point.

- No answer given: zero points.

** The Zoom link**

Follow the link [3]. I will be there starting from 13h30, we will discuss the rules and I will be there to help you if you face a problem.

**Time schedule**

- The exam starts at 14h00: you download your file of questions from that dropbox directory that brings your name.

- Name the file with your answers as familyname_name.txt.

- The answers shuld be presented in the following way:

1 A

2 B

4 C

(if some question is missing - as question 3 here - it is not a problem)

- Send the file with your answers at numphys.icfp@gmail.com before 4 pm.

**Rules**

- You are allowed to use all material you think useful.

- You are not allowed to communicate with other people. Questions will be randomised to make hard life of cheaters, but please do not be one of them!

**GOOD LUCK!**

## References

- SMAC W. Krauth Statistical Mechanics: Algorithms and Computations (Oxford: Oxford University Press) (2006)
- Other references are specified in each lectures