On Aug 11, 2006, at 12:48 PM, James Edward Gray II wrote: > On Aug 11, 2006, at 2:42 PM, Mat Schaffer wrote: > >> >> On Aug 11, 2006, at 2:39 PM, James Edward Gray II wrote: >> >>> On Aug 11, 2006, at 7:58 AM, Ruby Quiz wrote: >>> >>>> - Try to fill the biggest board you can with this script, in a >>>> reasonable amount of time (let's say 48 hours minus scripting >>>> time) >>> >>> [snip: lots of fast filled boards] >> >> Do you by any chance have a background in artificial >> intelligence? That's really impressive how quickly you cranked >> out a solution to a problem I can't yet see a decent strategy >> for. Hats off to you, my friend. > > I bet you are going to be very surprised when I post my pathetic > little toy. If it's good at anything it's cheating... ;) I've done a similar problem before, years ago called a Knight's Tour. You move a knight around a chess board and try to visit each square once. I've seen someone do it live, blindfolded which was pretty cool. Here's a brief English description of one technique I used. MINOR SPOILER WARNING One simple technique that helped get decent results was to keep track of how many still-open squares are connected to each square. Then when choosing what square to visit next, choose the square with the lowest number of open, connected squares. Corners are only connected to two others squares at the start (for the knight's tour). This makes sure if you move adjacent to a corner, you'll move to the corner next, which helps avoid being struck (it's not strictly always necessary because you could end in a corner). I can't remember if it ever had incomplete runs using just the open square scoring technique or not. -- Elliot Temple http://www.curi.us/blog/