The optimizer will be inherited from a class called "class_with_tracking" which (as an attribute) will contain a stack of trackers. Each tracker will have access to the currently best action, current action, current best result. Based on the stack of trackers the program will decide how to proceed in the loop. There are three possible decisions:
- NONE
- BREAK
- CONTINUE
The user embedding Perkun in his own programs will be free to override the virtual function:
class_with_tracking::decision class_with_tracking::make_decision(const std::list<tracker*> & s)
The decision returned by it will be precisely NONE,BREAK or CONTINUE. In the default implementation it is NONE, meaning exhaustive search of the game tree.
No comments:
Post a Comment