math.GTOct 7, 2026
SaveComputations of the slice genus and the unknotting number of links via machine learning
Abstract
Links are disjoint unions of circles smoothly embedded in . We use reinforcement learning and Bayesian optimisation to obtain new upper bounds on several link invariants that are not known to be algorithmically computable: the slice genus and the unknotting number for links, and the strong slice genus for algebraically split links. We also compute lower bounds using known invariants. Combining the upper and lower bounds, we obtain new exact values in many cases. Our unknotting agents can reproduce the non-additivity of the unknotting number for several counterexamples due to Brittenham and Hermiller, in some cases finding new unknotting trajectories.
Figures & tables
Figure 1 . A PD code of the trefoil is , where the crossings are labelled as for .
Figure 2 . The trefoil has unknotting number at most 1: movie with a band.
Figure 3 . Band move. The top strand (in black) is the target edge and the bottom one (in green) is the final part of the band before the band move takes place. Orientation is crucial. On the left, no twist is needed. On the right, we have two possible cases, which we can think of as performing a final Reidemeister I move before the band move takes place. This Reidemeister I move is right-handed in the top picture and left-handed in the bottom picture.
Figure 4 . Building a slice surface for the trefoil: first part.
Figure 5 . Building a slice surface for the trefoil: second part.
Figure 6 . Schematic of the RL loop.
| Tensor Name | Tensor Shape | Tensor Content |
|---|---|---|
| PD_code | PD code of the current diagram | |
| crossing_signs | sign of each crossing | |
| writhe | writhe of the diagram | |
| gauss_code | Gauss code | |
| num_link_components | number of link components that have crossings | |
| unlinked_unknot_components | number of crossingless unknot components |
Table 1. The elements of the base observation common to all frameworks (they describe the diagram and the band being built).
| Tensor Name | Tensor Shape | Tensor Content |
|---|---|---|
| crossing_changes | number of crossing changes performed so far (unknotting only) | |
| component_ccl | CCL of each link component (genus frameworks only) | |
| genera_info | one row per CCL, recording the CCL, the number of bands attached to that surface component, the number of initial link components (including unknots introduced by birth) and the number of current link components belonging to it, and the number of original link components it contains (genus frameworks only) | |
| current_genus | genus of the surface built so far (genus frameworks only) |
Table 2. The elements of the base observation specific to each framework: crossing_changes is used in the unknotting framework and the last three in the genus frameworks.
| Event | |
|---|---|
| the diagram becomes terminal (episode won) | |
| an error state is entered (episode lost) | |
| a non-terminal end action (a band move or crossing change) | |
| an unknot_birth | |
| any other action, with pre-action band length | |
| otherwise |
Table 3. The action rewards.
| Framework | Training | Validation | Development | Test | Total |
|---|---|---|---|---|---|
| unknotting | 6310 | 838 | 838 | 841 | 8827 |
| ribbon , slice | 5701 | 800 | 801 | 807 | 8109 |
| strong ribbon , strong slice | 5153 | 731 | 868 | 690 | 7442 |
Table 4 . Dataset sizes. The coarse validation set consists of of the validation links.
| Framework | Selected feature | Accuracy | Baseline |
|---|---|---|---|
| unknotting | Baseline | ||
| ribbon | DetSig (determinant and signature) | ||
| slice | Seif (Seifert genus upper bound) | ||
| strong ribbon | MT (Murasugi–Tristram bound) | ||
| strong slice | CompM (components matrix) |
Table 5. Selected input feature per framework, with its accuracy on the development set at units per link and, for comparison, the accuracy of the bare state observation. Since each selected accuracy is the best of ten, it is biased upwards. The unbiased figures are those measured on the test set in Section 4.4 .
| Framework | p_twist | p_end | max_ | max_ | p_birth | Accuracy | ||
|---|---|---|---|---|---|---|---|---|
| twists | actions | |||||||
| unknotting | ||||||||
| ribbon | ||||||||
| slice | ||||||||
| strong ribbon | ||||||||
| strong slice |
Table 6. Tuned random walk parameters per framework, with the probabilities of ending a band and of inserting a twist that they induce. The last column is the validation accuracy, as mean and standard error over five evaluations at units per link.
| Framework | Noise floor | Accuracy range of | ||||
|---|---|---|---|---|---|---|
| p_rw_range | p_twist | p_end | min_p_rw | p_birth | ||
| unknotting | ||||||
| ribbon | ||||||
| slice | ||||||
| strong ribbon | ||||||
| strong slice | ||||||
Table 7 . Accuracy ranges associated with each parameter, computed on the evaluations of the Bayesian optimisation, compared with the noise floor (coarse validation set, units per link). All values are expressed in percentage points.
| Framework | p_rw_range | step_decay | min_p_rw | p_birth | Accuracy |
|---|---|---|---|---|---|
| unknotting | |||||
| ribbon | |||||
| slice | |||||
| strong ribbon | |||||
| strong slice |
Table 8 . Tuned mixed agent parameters per framework. The accuracy is measured on the validation set at units per link, as mean and standard error over five evaluations with fresh random seeds.
| Framework | Most common first band | Distinct first bands per episode | ||
|---|---|---|---|---|
| rl | rl_rw | rl | rl_rw | |
| unknotting | ||||
| ribbon | ||||
| slice | ||||
| strong ribbon | ||||
| strong slice | ||||
Table 9 . Diversity of the attempts of the pure RL policy ( rl ) and of the mixed agent ( rl_rw ) on the development set, at units per link. Most common first band: share of the episodes of a link that open with its most common first band, median over the links. Distinct first bands per episode: number of distinct first bands of a link divided by its number of episodes, averaged over the links.
| Framework | Accuracy (%) of | Best agent | |||
|---|---|---|---|---|---|
| naive_rw | bo_rw | rl | rl_rw | ||
| unknotting | rl_rw | ||||
| ribbon | rl_rw | ||||
| slice | rl_rw | ||||
| strong ribbon | rl_rw | ||||
| strong slice | rl_rw | ||||
Table 10 . Accuracy of the four agents on the test set of each framework, expressed as percentages, with mean and standard deviation over five runs at units per link. The highest mean accuracy is in bold.
| Framework | Tuning the walker | RW RL | RL RL+RW |
|---|---|---|---|
| ( ) | ( ) | ( ) | |
| unknotting | |||
| ribbon | |||
| slice | |||
| strong ribbon | |||
| strong slice |
Table 11 . Accuracy differences between the various models, in percentage points. Recall that the margin of error on these differences lies between and points.
| Framework | bo_rw steps | Accuracy (%) of | ||||
|---|---|---|---|---|---|---|
| per link | bo_rw | rl | rl_rw | |||
| unknotting | ||||||
| ribbon | ||||||
| slice | ||||||
| strong ribbon | ||||||
| strong slice | ||||||
Table 12. The agents on the test set when the tuned random walker is given the computing time of the RL policy. Accuracies are mean and standard deviation over five runs. Differences are in percentage points, with the standard error of the paired comparison link-by-link, allowing for links that share a prime.
| Start | Theoretical contribution | After theory | |||||
|---|---|---|---|---|---|---|---|
| Invariant | exact | bounded | unknown | made exact | better bounds | exact | bounded |
| unknotting {u}(#1) | |||||||
| slice genus {g}_{4}(#1) | |||||||
| strong slice genus {g}_{4}^{\ast}(#1) | |||||||
Table 13. At least two-component oriented prime links with up to crossings: contribution of the theoretical bounds.
| After theory | Agent contribution | Final | ||||
|---|---|---|---|---|---|---|
| Invariant | exact | bounded | made exact | better bounds | exact | bounded |
| unknotting {u}(#1) | ||||||
| slice genus {g}_{4}(#1) | ||||||
| strong slice genus {g}_{4}^{\ast}(#1) | ||||||
Table 14. At least two-component oriented prime links with up to crossings: contribution of the agent, on top of Table 13 .
| {g}_{4}^{\ast}(#1){} | |||||
|---|---|---|---|---|---|
| # links |
Table 15. The links of finite strong slice genus whose value was determined exactly.
| Start | Theoretical contribution | After theory | |||||
|---|---|---|---|---|---|---|---|
| Invariant | exact | bounded | unknown | made exact | better bounds | exact | bounded |
| slice genus {g}_{4}(#1) | |||||||
| unknotting {u}(#1) | |||||||
Table 16. Prime knots with crossings: contribution from the theoretical bounds.
| After theory | Agent contribution | Final | ||||
|---|---|---|---|---|---|---|
| Invariant | exact | bounded | made exact | better bounds | exact | bounded |
| slice genus {g}_{4}(#1) | ||||||
| unknotting {u}(#1) | — | — | ||||
Table 17. Prime knots with crossings: what the agent contributes on top of Table 16 .
| New lower bound source | # knots |
|---|---|
| and | |
| positive and upper bound | |
| Murasugi–Tristram | |
| total |
Table 18. New lower bounds on the unknotting number for -crossing prime knots, with source.
| {g}_{4}(#1){} | |||||||
|---|---|---|---|---|---|---|---|
| # knots |
Table 19. The knots with crossings whose slice genus was determined exactly.
| interval | |||
|---|---|---|---|
| # knots |
Table 20. The knots with crossings whose slice genus was narrowed to a short interval, but not determined exactly.
| Split | Knot |
|---|---|
| training | \mathtt{8_{4}}\sharp\operatorname{m}(#1){\mathtt{9_{25}}} |
| validation | |
| coarse validation | — |
Table 21 . Rows of the unknotting splits containing , , , , , , , , , , or (either chirality) as the knot itself or as a connected summand.
| Agent | Unknotting sequence | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| RW | \operatorname{m}(#1){\mathtt{K15n4866}} | unknot | |||||||
| RW | unknot | ||||||||
| RW | \operatorname{m}(#1){\mathtt{K15n4866}} | unknot | |||||||
Table 22 . The unknotting sequences found by the tuned random walker (RW) and by the mixed agent (RL RW); each arrow is one crossing change. The knot is not in SnapPy’s census up to 15 crossings, found as a diagram with crossings. Knots with the same label in different rows are different as they are hyperbolic and their volumes differ. The knots and have the chirality of the diagrams SnapPy stores under these names. Below each knot is its unknotting number, or the interval known for it, whose the upper end is the number of crossing changes in the sequence, and whose lower end is the best lower bound of Appendix B . Next to a connected sum, in grey, are the unknotting numbers of its two summands, whose sum is the value that additivity would give.