[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Spiral pattern matching and data structures



Anders Kierulf wrote:
> Question: When checking the spiral of points around an anchor, you probably
> repeat that for all symmetries? Or do you include the symmetric patterns in
> the DFA?

We have a single DFA, which is matched 8 times, once for each symmetry
transformation.  We tried to build pre-rotated DFAs, but they turned out
to be so huge, that they were not worth it.

> Either way, if you're just testing patterns along an edge, you
> could avoid some of those symmetries?

Yes, but this requires the split by edge distance you described.  Maybe such
split is really a good idea.

Unfortunately, one cannot hope for more than some 2--3% of speedup on it with
GNU Go: last time I checked DFA matching took less than 10% runtime.  2--3% is
a worthy speedup of course, but not large enough to make me want implement
edge-distance-split right now...  :(  Maybe someone else will voluntier.

Paul

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/