io-chess
UCI chess engine
Loading...
Searching...
No Matches
TimeManager.h File Reference

Sophisticated time allocation and management for the chess engine. More...

#include "chess.hpp"
#include <algorithm>
#include <chrono>
#include <cmath>
#include <cstdint>
Include dependency graph for TimeManager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TimeManager
 Handles adaptive time allocation during search. More...
struct  TimeManager::TimeAllocation
 Recommended time limits for the current move. More...
struct  TimeManager::Config
 Tunable configuration for time management heuristics. More...

Detailed Description

Sophisticated time allocation and management for the chess engine.

Features:

  • Time control detection (bullet/blitz/rapid/classical)
  • Game phase awareness (opening/middlegame/endgame)
  • Evaluation-based thinking (longer in critical positions)
  • Increment handling with reserve management
  • Instability extension (when best move keeps changing)
  • Panic mode for low time situations