Imbalance

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
xr_a_y
Posts: 1006
Joined: Sat Nov 25, 2017 1:28 pm
Location: France

Imbalance

Post by xr_a_y » Sat Feb 01, 2020 8:05 am

How much to expect from the well know quadratic imbalance terms ?

I'm trying this right know, and first of all, tuning is very long to converge and yet I get nearly 0elo from it.

I was expecting a lower draw ratio with this knowledge but it doesn't seem to be the case.

Who tried it already apart from SF and defenchess ?

jdart
Posts: 3899
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: Imbalance

Post by jdart » Sat Feb 01, 2020 5:24 pm

I don't use Stockfish like formulas but have quite a few special-case imbalance terms. The tuner sets these to non-zero values so it thinks they have some value.

I don't know what the ELO gain is but I think it's important in endgames. For example, you don't want to trade down from an endgame you might win to one where you have material advantage but it is drawish.

I also have a penalty for trading a minor for pawns. This is larger in the opening/middlegame.

--Jon

User avatar
xr_a_y
Posts: 1006
Joined: Sat Nov 25, 2017 1:28 pm
Location: France

Re: Imbalance

Post by xr_a_y » Sat Feb 01, 2020 5:43 pm

I am probably finally getting something out of it

Score of minic_1.37 vs minic_1.35: 181 - 135 - 477 [0.529]
Elo difference: 20.2 +/- 15.2, LOS: 99.5 %, DrawRatio: 60.2 %

Now trying to separate MG and EG values.

JohnWoe
Posts: 160
Joined: Sat Mar 02, 2013 10:31 pm

Re: Imbalance

Post by JohnWoe » Sat Feb 01, 2020 7:59 pm

I scale down towards EG when there's no queens left. And some more when there's also no rooks.

Like this:
https://github.com/SamuraiDangyo/Sapeli ... li.c#L2298

Code: Select all

 // Endgameish
  if (wtm) {
    if ( ! BRD->black[4]) scale *= 0.9f;  // No queens
    if ( ! BRD->black[3]) scale *= 0.95f; // No rooks
  } else {
    if ( ! BRD->white[4]) scale *= 0.9f;
    if ( ! BRD->white[3]) scale *= 0.95f;
  }

Post Reply