|
libkombilo
0.8
|
#include <algos.h>
Public Member Functions | |
| Algo_movelist (int bsize, SnapshotVector DATA) | |
| void | initialize_process () |
| Called by GameList::start_processing. | |
| void | newgame_process (int game_id) |
| Called when a new game is about to be GameList::process'ed. | |
| void | AB_process (int x, int y) |
Called during processing, for each AB SGF tag. | |
| void | AW_process (int x, int y) |
Called during processing, for each AW SGF tag. | |
| void | AE_process (int x, int y, char removed) |
Called during processing, for each AE SGF tag. | |
| void | endOfNode_process () |
Called during processing, after fully processing a node (which might contain several AB, AW tags) | |
| void | move_process (Move m) |
Called during processing, for each move (B, W tags) | |
| void | pass_process () |
| Called during processing, for each pass. | |
| void | branchpoint_process () |
| Called during processing, for each node where a variation starts. | |
| void | endOfVariation_process () |
| Called during processing, when reaching the end of variation ("jump back to most recent branchpoint") | |
| void | endgame_process (bool commit=true) |
| Called during processing, when the end of the game is reached. | |
| void | finalize_process () |
| Called by GameList::finalize_processing. | |
| int | search (PatternList &patternList, GameList &gl, SearchOptions &options) |
| pattern search | |
| SnapshotVector | get_data () |
| Extract the relevant data from file at Kombilo startup. | |
Public Member Functions inherited from Algorithm | |
| Algorithm (int bsize) | |
Data Fields | |
| std::vector< char > | movelist |
| char * | fpC |
| std::map< int, char * > | data1 |
| std::map< int, char * > | data2 |
| std::map< int, int > | data1l |
Data Fields inherited from Algorithm | |
| int | gid |
| store the game id during processing | |
| int | boardsize |
| board size | |
This algorithm takes a candidate for a hit (as provided by AlgoFinalpos or AlgoHash), i.e. a position on the board where a certain pattern could possibly match, and then plays through the game in order to decide whether this is really a hit. Of course, in practice, we take a list of all candidates for a given game, so that we have to play through the game only once. Furthermore, instead of using the SGF file, we use a "move list" where all the moves and captures are stored - by avoiding to compute whether any stones are captured with some move (and which ones) we save a lot of time. This move list is generated during processing when the database is built.
1.8.11