An implementation of a quantum error correction algorithm for bit-flip errors on the topological toric code using deep reinforcement learning.
Toric_class: this class takes care of the environment and keeps track of all the parameters related to the toric code. The syndrom is stored in a 3d matrix (2 x system_size x system_size), this is the input to the neural network. Moreover it tracks all the operations on the toric code such that a logical qubit flip (nontrivial loop) can be detected.
RL: This class contains all the relevant functions and hyperparameters to train the agent and to interact with the toric code environment. For the reinforcement learning part I was strongly inspired by the paper (https://arxiv.org/pdf/1312.5602.pdf) 'Playing Atari with Deep Reinforcement Learning'. all the different hyperparameters can be tuned in the run.py file and several different networks can be applied. The neural network is implemented in pytorch.