[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: help with a fast pattern matching utility requested
-> Hi,
-> I'm writing a Go program that needs to match a given subsection of the
-> board to a list of predefined patterns. both are converted to strings, so
-> it becomes a 1-d problem. The program is in C/C++.
->
-> a DFA is really the only option I see, but the question is how to construct
-> it? I considered using flex, but its not quite what i need - instead of
-> matching multiple tokens on one input, i need to match the whole input
-> string to one or several patterns (each time from the beginning of the
-> input). Flex/lex is much too big for what I need - ie much slower, and I
-> was hoping for a way to add/subtract patterns from the DFA w/o completely
-> rebuilding it, if possible.
-> I considered using GNUgo's matching mechanism - but its too tied to their
-> implementation and it doesn't allow modifying the dfa w/o rebuilding it.
->
-> If anyone knows of a utility to do this in C, I would greatly appreciate
-> letting me know. Please email directly to mvp9@xxxxxxxxxxxxxxxxx
-> thanks,
-> Mike
->
Hi Mike,
I don't understand exactly what you are looking for but it sounds like
something like a "Suffix Tree".
Anyway, check these links:
http://www.nist.gov/dads/HTML/determFinitAutSrch.html
Contain some C-source for DFA.
http://www.cs.lth.se/~jesper/research.html
This guy knows a lot of string matching.
http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Tree/Suffix.html
Suffix Trees.
Good luck,
Martin M. Pedersen