RomiChess useing Dann Corbit's smooth formula for 'R'

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Dr.Wael Deeb »

Michael Sherwin wrote:
Michael Sherwin wrote:I had to discontinue the tournament because Arena 2.0.1 was repeating position 32 again every 4th game when Romi had the white pieces. I really love the brown and tan canvas playing board. Oh well back to Arena 1.1 for me and its ugly board. :cry:

I am changing the formula to this for the next run.

Code: Select all

    double delta;
    double ddepth;
    int r;

    if(depth < 6) r = 3; else {
      delta = max(h->eval - beta, 1.0); 
      ddepth = (double)depth; 
      r = (int)(0.18 * ddepth + 3.1 + log(delta)/5.0); 
    }
Well, the above one was terrible.

The following one is doing fantastic!

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0); 
RomiChess96 - Olithinkwin32 : 11.5/13 11-1-1 (101=111111111) 88% +346

Don't anyone dare say 'WOWIE!'! :lol:
WOWIE :lol:
And I'll dare even more to ask you when we will get our hands on this version :!: :?:
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Michael Sherwin »

George Tsavdaris wrote:
Michael Sherwin wrote:
Michael Sherwin wrote: I am changing the formula to this for the next run.

Code: Select all

    double delta;
    double ddepth;
    int r;

    if(depth < 6) r = 3; else {
      delta = max(h->eval - beta, 1.0); 
      ddepth = (double)depth; 
      r = (int)(0.18 * ddepth + 3.1 + log(delta)/5.0); 
    }
Well, the above one was terrible.

The following one is doing fantastic!

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0); 
RomiChess96 - Olithinkwin32 : 11.5/13 11-1-1 (101=111111111) 88% +346

Don't anyone dare say 'WOWIE!'! :lol:
OK can i dare to ask for an explanation of all these? :D

I mean what exactly these 2 lines do?
double delta = max(h->eval - beta, 1.0);
int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0);

And how did you find them?

Also Dann mentioned he predicted almost by hand his formula for Stockfish. How did he do that exactly?
And what one should do to do it in a more scientific way(regression analysis, interpolation etc, but how exactly)?

Also what Dann's method does more or less? How it works i mean. What different thing it does. (Note that i'm not a programmer but i'm trying- with a turtle speed- to get to that side.)
Dann should answer this, however, I will try.

double delta = max(h->eval - beta, 1.0);

delta measures the gap between the position evaluation and beta. beta is the best score possible to achieve for the side to move. If e - b is positive then delta will be 1 or more. If e - b is 0 or negative then delta will be one.

int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0);

r is the amount to reduce the depth of the call to Null Move Search. ddepth is just the remaining depth type cast to a double. log is the natural logarithm found in nature, iirc it can be used to describe things like the spiral of a sea shell. It takes a larger number and returns a smaller one. The larger the delta the larger its contribution to r. log produces a curve that curves downward from a linear increase and effectively caps the contribution from delta.

so say that depth is 8: 2 + 2.5 + <0.5(for a close position) = <5.0 = 4

r = 4 which is good. : 2 + 2.5 + >0.5(for having a big advantage) = >5.0 = 5 (or more if delta is really big)

I assume that Dann had a target range for r in mind as a starting point. Maybe it was the base 3 + 1 for every 6 ply of depth (.18, 3.1--0.1 of 3.1 is a simple correction for .18) + more for a large delta. As a linear increase for delta is just simply too aggressive the natural logarithm is the natural place to start.

Use logic to guess at the best proportions and then narrow it down from there. If you have a cluster to test with then do interpolation or regression until you find the best values for your program.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Michael Sherwin »

Dr.Wael Deeb wrote:
Michael Sherwin wrote:
Michael Sherwin wrote:I had to discontinue the tournament because Arena 2.0.1 was repeating position 32 again every 4th game when Romi had the white pieces. I really love the brown and tan canvas playing board. Oh well back to Arena 1.1 for me and its ugly board. :cry:

I am changing the formula to this for the next run.

Code: Select all

    double delta;
    double ddepth;
    int r;

    if(depth < 6) r = 3; else {
      delta = max(h->eval - beta, 1.0); 
      ddepth = (double)depth; 
      r = (int)(0.18 * ddepth + 3.1 + log(delta)/5.0); 
    }
Well, the above one was terrible.

The following one is doing fantastic!

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0); 
RomiChess96 - Olithinkwin32 : 11.5/13 11-1-1 (101=111111111) 88% +346

Don't anyone dare say 'WOWIE!'! :lol:
WOWIE :lol:
And I'll dare even more to ask you when we will get our hands on this version :!: :?:
Dr.D
You just had to say it, Dr. D! :evil: Now lets see just how much you jinxed Romi. :P

RomiChess96 - Olithinkwin32 : 17.5/22 16-3-3 (101=111111111=110101=1) 80% +241

Only a little! 8-) But, do not do it again! :P

more later.

Edit: I do not have a beta tester. But if this result holds then as soon as its finished there will be a new version. If it is not as good as P3k then sorry. It is not easy to prove an improvement with extremely limited time and no one to help. I miss the goat man! :lol:
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by George Tsavdaris »

Michael Sherwin wrote: Edit: I do not have a beta tester. But if this result holds then as soon as its finished there will be a new version. If it is not as good as P3k then sorry. It is not easy to prove an improvement with extremely limited time and no one to help. I miss the goat man! :lol:
Where is he? :?
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
User avatar
beachknight
Posts: 3533
Joined: Tue Jan 09, 2007 8:33 pm
Location: Antalya, Turkey

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by beachknight »

Dr.Wael Deeb wrote:
Michael Sherwin wrote:
Michael Sherwin wrote:I had to discontinue the tournament because Arena 2.0.1 was repeating position 32 again every 4th game when Romi had the white pieces. I really love the brown and tan canvas playing board. Oh well back to Arena 1.1 for me and its ugly board. :cry:

I am changing the formula to this for the next run.

Code: Select all

    double delta;
    double ddepth;
    int r;

    if(depth < 6) r = 3; else {
      delta = max(h->eval - beta, 1.0); 
      ddepth = (double)depth; 
      r = (int)(0.18 * ddepth + 3.1 + log(delta)/5.0); 
    }
Well, the above one was terrible.

The following one is doing fantastic!

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0); 
RomiChess96 - Olithinkwin32 : 11.5/13 11-1-1 (101=111111111) 88% +346

Don't anyone dare say 'WOWIE!'! :lol:
WOWIE :lol:
And I'll dare even more to ask you when we will get our hands on this version :!: :?:
Dr.D
As usual, I am seconding Wael.

:P

Best,
hi, merhaba, hallo HT
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Michael Sherwin »

Michael Sherwin wrote:With Dann's formula unchanged Romi is doing quite well even though she has gotten off to a very slow start.

snipped...

Dann's slightly tuned formula for Stockfish should not be very optimal for RomiChess so there is hope for a better result.

Now:
RomiChess96 - Olithinkwin32 : 23.0/31 19-4-8 (=10===11111101==10=1111110=1111) 74% +182

More later!
using formula:

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0);
is better so far than the first test.

RomiChess96 - Olithinkwin32 : 25.0/31 22-3-6 (101=111111111=110101=111111==1=) 81% +252

To have fallen to 80% and then to claw her way back to 82% before allowing some draws is very promising.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Dr.Wael Deeb »

Michael Sherwin wrote:
Dr.Wael Deeb wrote:
Michael Sherwin wrote:
Michael Sherwin wrote:I had to discontinue the tournament because Arena 2.0.1 was repeating position 32 again every 4th game when Romi had the white pieces. I really love the brown and tan canvas playing board. Oh well back to Arena 1.1 for me and its ugly board. :cry:

I am changing the formula to this for the next run.

Code: Select all

    double delta;
    double ddepth;
    int r;

    if(depth < 6) r = 3; else {
      delta = max(h->eval - beta, 1.0); 
      ddepth = (double)depth; 
      r = (int)(0.18 * ddepth + 3.1 + log(delta)/5.0); 
    }
Well, the above one was terrible.

The following one is doing fantastic!

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0); 
RomiChess96 - Olithinkwin32 : 11.5/13 11-1-1 (101=111111111) 88% +346

Don't anyone dare say 'WOWIE!'! :lol:
WOWIE :lol:
And I'll dare even more to ask you when we will get our hands on this version :!: :?:
Dr.D
You just had to say it, Dr. D! :evil: Now lets see just how much you jinxed Romi. :P

RomiChess96 - Olithinkwin32 : 17.5/22 16-3-3 (101=111111111=110101=1) 80% +241

Only a little! 8-) But, do not do it again! :P

more later.

Edit: I do not have a beta tester. But if this result holds then as soon as its finished there will be a new version. If it is not as good as P3k then sorry. It is not easy to prove an improvement with extremely limited time and no one to help. I miss the goat man! :lol:
I also miss him so much....the forum isn't the same without Tony Thomas :cry:
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Dr.Wael Deeb »

Michael Sherwin wrote:
Michael Sherwin wrote:With Dann's formula unchanged Romi is doing quite well even though she has gotten off to a very slow start.

snipped...

Dann's slightly tuned formula for Stockfish should not be very optimal for RomiChess so there is hope for a better result.

Now:
RomiChess96 - Olithinkwin32 : 23.0/31 19-4-8 (=10===11111101==10=1111110=1111) 74% +182

More later!
using formula:

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0);
is better so far than the first test.

RomiChess96 - Olithinkwin32 : 25.0/31 22-3-6 (101=111111111=110101=111111==1=) 81% +252

To have fallen to 80% and then to claw her way back to 82% before allowing some draws is very promising.
Come on Michael,don't you twist it....this version is damn good,it's a release one :D
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by Michael Sherwin »

Dr.Wael Deeb wrote:
Michael Sherwin wrote:
Michael Sherwin wrote:With Dann's formula unchanged Romi is doing quite well even though she has gotten off to a very slow start.

snipped...

Dann's slightly tuned formula for Stockfish should not be very optimal for RomiChess so there is hope for a better result.

Now:
RomiChess96 - Olithinkwin32 : 23.0/31 19-4-8 (=10===11111101==10=1111110=1111) 74% +182

More later!
using formula:

Code: Select all

    double delta = max(h->eval - beta, 1.0); 
    double ddepth = (double)depth; 
    int r = (int)(0.25 * ddepth + 2.5 + log(delta)/5.0);
is better so far than the first test.

RomiChess96 - Olithinkwin32 : 25.0/31 22-3-6 (101=111111111=110101=111111==1=) 81% +252

To have fallen to 80% and then to claw her way back to 82% before allowing some draws is very promising.
Come on Michael,don't you twist it....this version is damn good,it's a release one :D
Dr.D
RomiChess96 - Olithinkwin32 : 71.5/100 61-18-21 (101=111111111=110101=111111==1=1=1010===1=11111010011101=1=011=1=0111111111=111010111=101110001====0) 72% +164

A new record by 1 point so I guess that I should be happy. But, I am too tired to care at the moment. Arena 1.1 defaulted to 2+2 from 1+1 that I had set. Olithink 5.22 did in the past even better against Romi at 2+2 than it did at 1+1 so this result may be better than it looks. Does anyone have a CCRL or CEGT real or adjusted rating for Olithink 5.22? Is Ot5.22 + 168 better than Romi's CCRL 2514?
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: RomiChess useing Dann Corbit's smooth formula for 'R'

Post by michiguel »

Michael Sherwin wrote:
michiguel wrote:
Michael Sherwin wrote:I had to discontinue the tournament because Arena 2.0.1 was repeating position 32 again every 4th game when Romi had the white pieces. I really love the brown and tan canvas playing board. Oh well back to Arena 1.1 for me and its ugly board. :cry:

I am changing the formula to this for the next run.

Code: Select all

    double delta;
    double ddepth;
    int r;

    if(depth < 6) r = 3; else {
      delta = max(h->eval - beta, 1.0); 
      ddepth = (double)depth; 
      r = (int)(0.18 * ddepth + 3.1 + log(delta)/5.0); 
    }
Don't you like Winboard? ;-)

What did you mean before that RC should perform better as the time progresses? How do you know?

Miguel
Does the newer Winboard do tournaments with out a helper program?
Why is it important to do it with only one executable rather than two? I have never used many of the helpers, but they seem to be as easy as they get.

Miguel

I expected Romi to increase her percentage because it normally does during the middle section of games from my test set.