libkombilo  0.7
Public Member Functions | Data Fields
Algo_movelist Class Reference

#include <algos.h>

Inheritance diagram for Algo_movelist:
Algorithm

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.

Data Fields

std::vector< char > movelist
char * fpC
std::map< int, char * > data1
std::map< int, char * > data2
std::map< int, int > data1l

Detailed Description

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.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables