libkombilo  0.8
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.
 
- 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
 

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: