I don't understand this - I saw the Wilson's algorithm [1] generate huge loops as it hit the existing maze. Does it subsequently erase them?
I couldn't see how the tree could possibly handle loops.
I couldn't see how the tree could possibly handle loops.
The algorithm uses "loop-erased" random walks.
It starts at a node that isn't in the tree and randomly walks.
If it hits itself while randomly walking (remember it isn't part of the tree yet), it erases the loop that it created and continues walking from that node again.
If the walk hits the tree, connect the walked path to the tree, pick another node and start again.