Listing all possible configurations before and after strand passages provides information about adjacency between different knot types. The number of configurations grows superfactorially with GN [there are n/2((n − 1)!)2 different configurations of grid number n; see (36)], and the number of admissible crossing changes increases more than linearly with the complexity. Thus, an exhaustive computation for higher values of GN becomes quickly infeasible, so the investigation on diagrams with higher grid number was performed through random sampling. Since a grid diagram is completely determined by a pair of permutations defining the positions of the markings, uniformity of sampling was automatically built in our model. We only relied on the effectiveness of Python’s extensively tested random() function (23). We considered all knots whose minimal crossing number is less than or equal to 8 (labeling the more complex ones collectively as “other”) since these are the most commonly identified DNA topoisomers. We randomly sampled configurations of GN 8 and then performed every admissible strand passage (achieved by interleaving commutations; see Fig. 2A). After computing the starting and resulting knot types, we obtained an unbiased adjacency table, as before. We then compared the unbiased sampled table with the hooked sampled table obtained by restricting to strand passages happening at hooked juxtapositions. The same process was repeated for every grid number, for 8 ≤ GN < 20.