io-chess
UCI chess engine
Loading...
Searching...
No Matches
TimeManager::Config Struct Reference

Tunable configuration for time management heuristics. More...

#include <TimeManager.h>

Public Attributes

float openingMultiplier = 0.75f
 Quick in opening (book/theory).
float middlegameMultiplier = 1.25f
 Think hard in complex positions.
float endgameMultiplier = 0.70f
 Simpler, fewer variations.
float bulletMultiplier = 0.55f
 Very aggressive time saving.
float blitzMultiplier = 0.75f
 Balanced.
float rapidMultiplier = 1.0f
 Normal.
float classicalMultiplier = 1.15f
 Can think deeper.
float criticalMultiplier = 1.4f
 Unclear position (±50cp).
float edgeMultiplier = 1.0f
 Slight edge (50-150cp).
float winningMultiplier = 0.65f
 Clear advantage (>200cp).
float losingMultiplier = 0.85f
 Swindle mode (<-150cp).
float maxInstabilityExtension = 2.0f
 Max extension factor.
int instabilityThreshold = 3
 Changes before extending.
float incrementUsage = 0.7f
 Use 70% of increment per move.
float incrementReserve = 0.3f
 Keep 30% as buffer.
int minMovesForIncrement = 5
 Don't rely on inc for first moves.
int moveOverheadMs = 50
 Network latency buffer.
int minTimeMs = 10
 Absolute minimum thinking time.
int panicThresholdMs = 3000
 Enter panic below this.
int ultraPanicMs = 1000
 Emergency mode.

Detailed Description

Tunable configuration for time management heuristics.

Member Data Documentation

◆ blitzMultiplier

float TimeManager::Config::blitzMultiplier = 0.75f

Balanced.

◆ bulletMultiplier

float TimeManager::Config::bulletMultiplier = 0.55f

Very aggressive time saving.

◆ classicalMultiplier

float TimeManager::Config::classicalMultiplier = 1.15f

Can think deeper.

◆ criticalMultiplier

float TimeManager::Config::criticalMultiplier = 1.4f

Unclear position (±50cp).

◆ edgeMultiplier

float TimeManager::Config::edgeMultiplier = 1.0f

Slight edge (50-150cp).

◆ endgameMultiplier

float TimeManager::Config::endgameMultiplier = 0.70f

Simpler, fewer variations.

◆ incrementReserve

float TimeManager::Config::incrementReserve = 0.3f

Keep 30% as buffer.

◆ incrementUsage

float TimeManager::Config::incrementUsage = 0.7f

Use 70% of increment per move.

◆ instabilityThreshold

int TimeManager::Config::instabilityThreshold = 3

Changes before extending.

◆ losingMultiplier

float TimeManager::Config::losingMultiplier = 0.85f

Swindle mode (<-150cp).

◆ maxInstabilityExtension

float TimeManager::Config::maxInstabilityExtension = 2.0f

Max extension factor.

◆ middlegameMultiplier

float TimeManager::Config::middlegameMultiplier = 1.25f

Think hard in complex positions.

◆ minMovesForIncrement

int TimeManager::Config::minMovesForIncrement = 5

Don't rely on inc for first moves.

◆ minTimeMs

int TimeManager::Config::minTimeMs = 10

Absolute minimum thinking time.

◆ moveOverheadMs

int TimeManager::Config::moveOverheadMs = 50

Network latency buffer.

◆ openingMultiplier

float TimeManager::Config::openingMultiplier = 0.75f

Quick in opening (book/theory).

◆ panicThresholdMs

int TimeManager::Config::panicThresholdMs = 3000

Enter panic below this.

◆ rapidMultiplier

float TimeManager::Config::rapidMultiplier = 1.0f

Normal.

◆ ultraPanicMs

int TimeManager::Config::ultraPanicMs = 1000

Emergency mode.

◆ winningMultiplier

float TimeManager::Config::winningMultiplier = 0.65f

Clear advantage (>200cp).


The documentation for this struct was generated from the following file: