cutechess / cutechess

Cute Chess is a graphical user interface, command-line interface and a library for playing chess.
GNU General Public License v3.0
604 stars 147 forks source link

Few plausible handicap ideas #351

Open Nordlandia opened 6 years ago

Nordlandia commented 6 years ago

Idea 1: Option to allocate more time for engine 1 if engine 2 is considerable stronger.

Idea 2: If engine 1 is weaker than engine 2, engine 1 can think during opponents turn while engine 2 can't ponder during opponents turn.

Idea: 3: weaker engine play white only in matches. Already proposed in #321

The purpose of a handicap or odds. Is to equalize the strength between the engines and offer more fair conditions taken the strength difference into consideration.

alwey commented 6 years ago

At least Option 1 should be feasible, actually I had thought about this. Time handicap can also be useful for characterisation of engines (e.g. in self play). Note: You can already use time handicaps with the CLI.

My opinion about idea 2 is not quite as favourable, just my EUR 0.02. [2xEDIT, added: Also, this is already possible in the CLI, via option.ponder=true or option.ponder=false engine option ponder and can be controlled individually for every player].

Idea 3 is a duplicate, as you already stated, of GUI improvement #321. Also, this option is available already in the CLI.

Nordlandia commented 6 years ago

Few days ago one guy in tcec chat claimed that 4-core with 2x time is ahead if facing 8-core with 50% less time and insisted that 4-core is still favorite if facing 8-core + ponder (ponder handicap).

In short:

4-core with 2.0x time is ahead if facing 8-core with 0.50x base time 4-core is still favorite if 8-core is allowed to use ponder with half the time alloted.

I hoped idea 2 was technically feasible.

alwey commented 6 years ago

@Nordlandia :

4-core with 2.0x time is ahead if facing 8-core with [...] base time 4-core is still favorite if 8-core is allowed to use ponder with half the time alloted.

This is what I would expect and what I have seen when testing stockfish-8 with cutechess-cli some months ago, in a little rr-tourney with one, two, and four cores having four, two and one amount of thinking time. The seach is basically a sequential algorithm. When executed in parallel, the efficiency drops.

Nordlandia commented 6 years ago

Permanent brain handicap is interesting concept though.

Ipmanchess commented 6 years ago

For engine testers is this also very interesting..would be a nice option!