Next: Utility Functions, Previous: SGF, Up: Top
In this chapter, we describe the principles of the GNU Go DFA pattern matcher. The aim of this system is to permit a fast pattern matching when it becomes time critical like in owl module (The Owl Code). Since GNU Go 3.2, this is enabled by default. You can still get back the traditional pattern matcher by running configure --disable-dfa and then recompiling GNU Go.
Otherwise, a finite state machine called a Deterministic Finite State Automaton (What is a DFA) will be built off line from the pattern database. This is used at runtime to speedup pattern matching (Pattern matching with DFA and Incremental Algorithm). The runtime speedup is at the cost of an increase in memory use and compile time.