Self-avoiding walk?

Jan 2, 2013 at 11:13pm

Self-avoiding walk?

Has anybody played with / thought of a simple way of implementing a self-avoiding walk algorithm for working through 2D matricies?
I’m trying to ‘walk’ through a [jit.matrix] without repeating steps (which makes me think along the lines of [urn]?), but want to be able to move up/down too. Also, since the steps want to be limited to immediate neighbour cells, maybe I should be looking towards some sort of drunk/markov type thing?

Anybody got any thoughts?


Jan 3, 2013 at 12:38pm

are you talking about a random walk in a 2d space, which does not cross its own past path?

in this case i think you wont come around creating a table with all the past coordinates, so that you can compare new steps with all the past ones.

i would probably use a signal buffer~ to do so.


Jan 3, 2013 at 1:28pm

The trouble with a purely random walk, for anything other than a 2×2 matrix is that there is no guarantee you’ll visit every element, which is what @owmtxy wants I think. If you allow wraparound (create a torus out of your matrix), then I think you can do for 2xN, but again no guarantee for 3×3 or larger (thats taking steps to neighbours only).

A possible way to look at this is with various space filling curves.



You must be logged in to reply to this topic.