Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix time parameters for blitz games
The ideal setting for super-blitz might be something like:

    "Emergency Base Time" = 50
    "Emergency Move Time" = 5

This would give a total emergency time buffer of:

    50 + 40 * 5 = 250 ms

This setup replaces the previous half cooked hack
"Don't blunder under extreme time pressure".

Test results are very good at super blitz, but keep good even
at 60 secs.

At 5+0.05
ELO: 24.30 +-2.4 (95%) LOS: 100.0%
Total: 37802 W: 10060 L: 7420 D: 20322

At 15+0.05
ELO: 13.41 +-2.9 (95%) LOS: 100.0%
Total: 22271 W: 4853 L: 3994 D: 13424

At 60+0.05
ELO: 5.30 +-3.2 (95%) LOS: 99.9%
Total: 16000 W: 2897 L: 2653 D: 10450

No functional change.
  • Loading branch information
zamar authored and mcostalba committed Sep 16, 2013
1 parent af750bd commit 77b5ee0
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 8 deletions.
7 changes: 1 addition & 6 deletions src/timeman.cpp
Expand Up @@ -110,12 +110,7 @@ void TimeManager::init(const Search::LimitsType& limits, int currentPly, Color u

// Initialize to maximum values but unstablePVExtraTime that is reset
unstablePVExtraTime = 0;
optimumSearchTime = maximumSearchTime = limits.time[us]; // In msec

// Scale down emergencyBaseTime if we are under very high time pressure to
// avoid moving immediately and so blundering.
if (maximumSearchTime)
emergencyBaseTime /= std::max(emergencyBaseTime * 100 / maximumSearchTime, 1);
optimumSearchTime = maximumSearchTime = limits.time[us];

// We calculate optimum time usage for different hypothetic "moves to go"-values and choose the
// minimum of calculated search time values. Usually the greatest hypMTG gives the minimum values.
Expand Down
4 changes: 2 additions & 2 deletions src/ucioption.cpp
Expand Up @@ -80,8 +80,8 @@ void init(OptionsMap& o) {
o["MultiPV"] = Option(1, 1, 500);
o["Skill Level"] = Option(20, 0, 20);
o["Emergency Move Horizon"] = Option(40, 0, 50);
o["Emergency Base Time"] = Option(200, 0, 30000);
o["Emergency Move Time"] = Option(70, 0, 5000);
o["Emergency Base Time"] = Option(50, 0, 30000);
o["Emergency Move Time"] = Option( 5, 0, 5000);
o["Minimum Thinking Time"] = Option(20, 0, 5000);
o["Slow Mover"] = Option(50, 10, 1000);
o["UCI_Chess960"] = Option(false);
Expand Down

0 comments on commit 77b5ee0

Please sign in to comment.