alphaBeta4.h Source File

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
alphaBeta4.h
Go to the documentation of this file.
1 /* alphaBeta4.h
2 */
3 #ifndef OSL_SEARCH_ALPHABETA4_H
4 #define OSL_SEARCH_ALPHABETA4_H
5
6 #include "osl/state/numEffectState.h"
7 #include "osl/search/searchTimer.h"
8 #include "osl/search/fixedEval.h"
9 // temporal
10 #include "osl/search/searchState2.h"
11 #include "osl/eval/ml/openMidEndingEval.h"
12 #include "osl/eval/progressEval.h"
13 #include "osl/container/moveVector.h"
14
15 namespace osl
16 {
17 namespace search
18 {
19 class CountRecorder;
20 class SimpleHashTable;
21 struct MoveWithComment;
22 }
23 namespace search4
24 {
25 using search::CountRecorder;
26 using search::SimpleHashTable;
27 using search::MoveWithComment;
28 using search::SearchState2;
29 using search::SearchTimer;
30 using search::FixedEval;
31 using search::TimeAssigned;
32 class AlphaBeta4 : public SearchTimer, FixedEval
33 {
34 public:
35 // interface required for game_playing::SearchPlayer
36 typedef SearchState2::checkmate_t checkmate_t;
37 typedef eval::ml::OpenMidEndingEval eval_t;
38 // typedef eval::PieceEval eval_t;
39 // typedef eval::ProgressEval eval_t;
40 AlphaBeta4(const NumEffectState& s, checkmate_t& checker,
41 SimpleHashTable *t, CountRecorder&);
42 ~AlphaBeta4();
43 Move computeBestMoveIteratively
44 (int limit, int step,
45 int initial_limit=600,
46 size_t node_limit=1600000,
47 const TimeAssigned& assign=TimeAssigned(MilliSeconds::Interval(60*1000)),
48 MoveWithComment *additional_info=0);
49 bool isReasonableMove(Move move, int pawn_sacrifice=1);
50 void setRootIgnoreMoves(const MoveVector *rim, bool);
51 void setHistory(const MoveStack& h);
52 void enableMultiPV(unsigned int) {}
53 };
54
55 }
56 using search4::AlphaBeta4;
57 }
58
59 #endif /* OSL_SEARCH_ALPHABETA4_H */
60 // ;;; Local Variables:
61 // ;;; mode:c++
62 // ;;; c-basic-offset:2
63 // ;;; End: