I am interested to know what are the "most promising" decoder algorithms that are used in surface code today.
Of course, different criteria can tell what we expect from a good decoder. In particular, we would like it to:
- Be fast
- Have a high threshold
I am looking for a somewhat "good compromise" between those criteria (if a decoder has a very high threshold but has an exponential complexity I would consider it to be a bad choice).
I am interested mainly in decoders that work for arbitrary noise models, but if there are interesting results for biased noise I can be interested as well.
As a final note: I have no real experience in decoding algorithms for surface code, I just know that there are real challenges in this field (in particular to make the decoder fast enough) so I expect the answer to be pedagogical to this question if possible.
[Edit]: As current findings I found in this paper a summary of different decoding approaches:
- Lookup table
- Minimum Weight perfect matching
- Machine learning
- Tensor network
- Union find
Is this list somewhat exhaustive of the modern approaches for surface code? Are there some relevant decoding algorithms not provided in this paper for instance? This is the purpose of my question.