#include "base.h"#include "board.h"#include "game.h"#include "search.h"#include "util.h"#include <stdbool.h>Go to the source code of this file.
Classes | |
| struct | Book | 
| The opening book.  More... | |
| struct | GameStats | 
| Game statistics.  More... | |
| struct | Link | 
| a move (with its score) linking to another Position.  More... | |
| struct | Position | 
| A position stored in the book.  More... | |
Typedefs | |
| typedef struct Book | Book | 
| The opening book.  More... | |
| typedef struct GameStats | GameStats | 
| Game statistics.  More... | |
| typedef struct Link | Link | 
| a move (with its score) linking to another Position.  More... | |
| typedef struct Position | Position | 
| A position stored in the book.  More... | |
Functions | |
| void | book_init (Book *) | 
| Initialize the opening book.  More... | |
| void | book_free (Book *) | 
| Free resources used by the opening book.  More... | |
| void | book_new (Book *, int, int) | 
| Create a new opening book.  More... | |
| void | book_load (Book *, const char *) | 
| Load the opening book.  More... | |
| void | book_save (Book *, const char *) | 
| Save an opening book.  More... | |
| void | book_import (Book *, const char *) | 
| Import an opening book.  More... | |
| void | book_export (Book *, const char *) | 
| Export an opening book.  More... | |
| void | book_merge (Book *, const Book *) | 
| Merge two opening books.  More... | |
| void | book_sort (Book *book) | 
| Sort a book.  More... | |
| void | book_negamax (Book *) | 
| Negamax a book.  More... | |
| void | book_prune (Book *) | 
| Prune a book.  More... | |
| void | book_deepen (Book *) | 
| Deepen a book.  More... | |
| void | book_correct_solved (Book *) | 
| Correct wrong solved score in the book.  More... | |
| void | book_link (Book *) | 
| Link a book.  More... | |
| void | book_fix (Book *) | 
| Fix a book.  More... | |
| void | book_fill (Book *book, const int) | 
| Fill a book.  More... | |
| void | book_deviate (Book *, Board *, const int, const int) | 
| Deviate a book.  More... | |
| void | book_enhance (Book *, Board *, const int, const int) | 
| Enhance a book.  More... | |
| void | book_subtree (Book *, const Board *) | 
| Prune a book.  More... | |
| void | book_play (Book *) | 
| Play.  More... | |
| void | book_info (Book *) | 
| display some book's informations.  More... | |
| void | book_show (Book *, Board *) | 
| Display a position from the book.  More... | |
| void | book_stats (Book *book) | 
| print book statistics.  More... | |
| bool | book_get_moves (Book *, const Board *, MoveList *) | 
| Get a list of moves from the book.  More... | |
| bool | book_get_random_move (Book *, const Board *, Move *, const int) | 
| Get a move at random from the opening book.  More... | |
| void | book_get_game_stats (Book *, const Board *, GameStats *) | 
| Get game statistics from a position.  More... | |
| void | book_get_line (Book *, const Board *, const Move *, Line *) | 
| Get a variation from the book.  More... | |
| void | book_add_board (Book *, const Board *) | 
| Add a position.  More... | |
| void | book_add_game (Book *, const Game *) | 
| Add positions from a game.  More... | |
| void | book_add_base (Book *, const Base *) | 
| Add positions from a game database.  More... | |
| void | book_check_base (Book *, const Base *) | 
| Check positions from a game database.  More... | |
| void | book_extract_skeleton (Book *, Base *) | 
| Extract book draws to a game base.  More... | |
| void | book_extract_positions (Book *, const int, const int) | 
| print a set of position.  More... | |
| void | book_feed_hash (const Book *, Board *, Search *) | 
| feed hash table from the opening book.  More... | |
Header file for opening book management
Add positions from a game database.
| book | opening book. | 
| base | games to add. | 
Add a position.
| book | opening book. | 
| board | position to add. | 
Add positions from a game.
| book | opening book. | 
| game | game to add. | 
Check positions from a game database.
| book | opening book. | 
| base | games to add. | 
| void book_correct_solved | ( | Book * | book | ) | 
Correct wrong solved score in the book.
Correct erroneous solved positions. Edax may be unstable and introduce bugs from time to time...
| book | opening book. | 
| void book_deepen | ( | Book * | book | ) | 
Deepen a book.
Research all non link best move.
| book | opening book. | 
| void book_deviate | ( | Book * | book, | 
| Board * | board, | ||
| const int | relative_error, | ||
| const int | absolute_error | ||
| ) | 
Deviate a book.
| book | opening book. | 
| board | Position to start from. | 
| relative_error | Error relative to the current position's score. | 
| absolute_error | Error relative to the root position's score. | 
Enhance a book.
| book | opening book. | 
| board | Position to start from. | 
| midgame_error | Error in midgame search. | 
| endcut_error | Error in endgame search. | 
| void book_export | ( | Book * | book, | 
| const char * | file | ||
| ) | 
Export an opening book.
Save the book in a portable text format.
| book | Opening book. | 
| file | File name. | 
| void book_extract_positions | ( | Book * | book, | 
| const int | n_empties, | ||
| const int | n_positions | ||
| ) | 
print a set of position.
| book | Opening book. | 
| n_empties | Game stage. | 
| n_positions | Number of positions to extract. | 
Extract book draws to a game base.
This function supposes that f5d6c4 & f5f6e6f4 are draws and the only draws, excluding the transpositions f5d6c3d3c4 & f5f6e6c6 & c4..., d3..., e6...
| book | Opening book. | 
| base | game database. | 
feed hash table from the opening book.
| book | Opening book. | 
| board | Position to start from. | 
| search | HashTables container. | 
| void book_fill | ( | Book * | book, | 
| const int | depth | ||
| ) | 
Fill a book.
| book | opening book. | 
| depth | Distance to fill between two positions. | 
| void book_fix | ( | Book * | book | ) | 
Fix a book.
| book | opening book. | 
| void book_free | ( | Book * | book | ) | 
Free resources used by the opening book.
| book | Opening book. | 
Get a variation from the book.
| book | Opening book. | 
| board | Position. | 
| move | First move; | 
| line | Bariation. | 
Get a list of moves from the book.
| book | Opening book. | 
| board | Position to display. | 
| movelist | List of moves. | 
Get a move at random from the opening book.
| book | Opening book. | 
| board | Position to find a move from. | 
| move | Chosen move. | 
| randomness | Randomness. | 
| void book_import | ( | Book * | book, | 
| const char * | file | ||
| ) | 
Import an opening book.
Read the opening book from a portable text format. After the book is imported, it is needed to relink & negamax it.
| book | Opening book. | 
| file | File name. | 
| void book_info | ( | Book * | book | ) | 
display some book's informations.
| book | opening book. | 
| void book_init | ( | Book * | book | ) | 
Initialize the opening book.
Create an empty opening book.
| book | Opening book. | 
| void book_load | ( | Book * | book, | 
| const char * | file | ||
| ) | 
Load the opening book.
| book | Opening book. | 
| file | File name. | 
Merge two opening books.
It is needed to relink & negamax the destination book after merging.
| dest | Destination opening book. | 
| src | Source opening book. | 
| void book_negamax | ( | Book * | book | ) | 
Negamax a book.
| book | opening book. | 
| void book_new | ( | Book * | book, | 
| int | level, | ||
| int | n_empties | ||
| ) | 
Create a new opening book.
Create an opening book with the initial position & a single non link move.
| book | Opening book. | 
| level | search level to evaluate positions. | 
| n_empties | number of empty positions up to which to evaluate positions. | 
| void book_play | ( | Book * | book | ) | 
Play.
Add positions to the opening book by adding links to position with no links.
| book | opening book. | 
| void book_prune | ( | Book * | book | ) | 
Prune a book.
Remove positions Edax cannot reach.
| book | opening book. | 
| void book_save | ( | Book * | book, | 
| const char * | file | ||
| ) | 
Save an opening book.
Save the book in a fast binary format.
| book | Opening book. | 
| file | File name. | 
Display a position from the book.
| book | opening book. | 
| board | position to display. | 
| void book_sort | ( | Book * | book | ) | 
Sort a book.
| book | opening book. | 
| void book_stats | ( | Book * | book | ) | 
print book statistics.
| book | Opening book. | 
 1.8.14