|
My Project
|
#include "search.h"#include "bit.h"#include "options.h"#include "stats.h"#include "ybwc.h"#include "settings.h"#include <assert.h>#include <math.h>Go to the source code of this file.
Macros | |
| #define | RCD 0.5 |
Functions | |
| int | search_eval_0 (Search *search) |
| evaluate a midgame position with the evaluation function. | |
| int | search_eval_1 (Search *search, const int alpha, int beta) |
| Evaluate a position at depth 1. | |
| int | search_eval_2 (Search *search, int alpha, const int beta) |
| Evaluate a position at depth 2. | |
| static void | search_update_probcut (Search *search, const NodeType node_type) |
| static void | search_restore_probcut (Search *search, const NodeType node_type, const int selectivity) |
| static bool | search_probcut (Search *search, const int alpha, const int depth, Node *parent, int *value) |
| Probcut. | |
| int | NWS_shallow (Search *search, const int alpha, int depth, HashTable *hash_table) |
| Evaluate a midgame position with a Null Window Search algorithm. | |
| int | PVS_shallow (Search *search, int alpha, int beta, int depth) |
| Evaluate a midgame position at shallow depth. | |
| int | NWS_midgame (Search *search, const int alpha, int depth, Node *parent) |
| Evaluate a midgame position with a Null Window Search algorithm. | |
| int | PVS_midgame (Search *search, const int alpha, const int beta, int depth, Node *parent) |
| Evaluate a position with a deep Principal Variation Search algorithm. | |
| #define RCD 0.5 |
macro RCD : set to 0.0 if -rcd is added to the icc compiler
Evaluate a midgame position with a Null Window Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | Search. |
| alpha | Alpha bound. |
| depth | Depth. |
| parent | Parent node. |
Evaluate a midgame position with a Null Window Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | search. |
| alpha | lower bound. |
| depth | Search remaining depth. |
| hash_table | Hash Table to use. |
Evaluate a position with a deep Principal Variation Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | Search. |
| alpha | Lower bound. |
| beta | Upper bound. |
| depth | Depth. |
| parent | Parent node. |
| int PVS_shallow | ( | Search * | search, |
| int | alpha, | ||
| int | beta, | ||
| int | depth ) |
Evaluate a midgame position at shallow depth.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| int search_eval_0 | ( | Search * | search | ) |
evaluate a midgame position with the evaluation function.
| search | Position to evaluate. |
| int search_eval_1 | ( | Search * | search, |
| const int | alpha, | ||
| int | beta ) |
Evaluate a position at depth 1.
As an optimization, the last move is used to only updates the evaluation features.
| search | Position to evaluate. |
| alpha | Alpha bound. |
| beta | Beta bound. |
| int search_eval_2 | ( | Search * | search, |
| int | alpha, | ||
| const int | beta ) |
Evaluate a position at depth 2.
Simple alpha-beta with no move sorting.
| search | Position to evaluate. |
| alpha | Lower bound |
| beta | Upper bound |
|
inlinestatic |