Skip to content

A C++ implementation of simulated annealing for the Ising perceptron.

Notifications You must be signed in to change notification settings

njroussel/SimulatedAnnealing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCAA mini-project

Table of Contents :

About

This repository contains the code for the Markov Chains and Algorithimic Applications class given at EPFL. In short, it is an implementation of simulated annealing for the Ising perceptron.

Documentation

Code is directly commented, there is no additional documentation. The report and its figures are in the report folder.

Setup

The code base is written in C++ using Eigen for all linear algebra related operations. This is then built into a shared library which is accessible as Python module thanks to Pybind11. Finally a Jupyter Notebook is used to run the previous Python code.

Building

On a Linux or equivalent system using gcc, you can simply:

git clone git@github.com:njroussel/MCAA.git --recursive
pip install ./MCAA

The whole build system uses CMake, it is therefore a requirement for building and running this project.

Note that the Jupyter notebooks will need specific packages which can be installed through pip.

Running

In the python folder, there are several notebooks which contain examples of how to run code. They should already have the cells rendered, you can also simply just run them again if you change their configuration.

About

A C++ implementation of simulated annealing for the Ising perceptron.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published