open source gift for Christmas

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
PK
Posts: 785
Joined: Mon Jan 15, 2007 10:23 am
Location: Warsza
Contact:

open source gift for Christmas

Post by PK » Sun Dec 25, 2011 9:32 am

http://www.koziol.home.pl/rodent_0.08.zip

This is a little open source engine, based on Sungorus 1.4 by Pablo Vazquez, with eval parameters borrowed from excellent "Toga LOG user manual" (link in the readme). As You see, it has never been destined to be completely original. I consiered it rather a didactic exercise: self-teaching by exposition to concise code of the original author, trying to get a feel of object-oriented design and going for simple implementation of a couple of concepts. So You may regard it as a beefed-up, bitboard version of the CPW-Engine (Rodent is probably 2550+).

Rodent is also meant to showcase one idea that I consider interesting - "sliding LMR reduction". This means making LMR reduction depth variable, using fractional plies - currently something like 3/4 ply after trying 6th move in a given node and then 1/4 ply is added after every 4 moves.

The intended effect is that first full reduction happens a bit later than usual (as I start with 3/4 ply reduction), but a series of late moves is reduced much deeper. So difficult move sequences become more difficult to find, but easy shots are easier to spot.

It has been one of the very first things added to Sungorus codebase, so all other modifications had to cope with the effect of that reduction scheme. The funny thing is that I was not able to gain anything from tempo bonus in the evaluation.

Unfortunately Rodent's playing style is boring, this is not Glass and will never be. However, I expect Glass to gain form some search improvements I tested here.

Pablo Vazquez
Posts: 154
Joined: Thu May 31, 2007 7:05 pm
Location: Madrid, Spain
Contact:

Re: open source gift for Christmas

Post by Pablo Vazquez » Sun Dec 25, 2011 1:25 pm

Very nice. Thank you, Pawel :)

PK
Posts: 785
Joined: Mon Jan 15, 2007 10:23 am
Location: Warsza
Contact:

Re: open source gift for Christmas

Post by PK » Sun Dec 25, 2011 3:08 pm

BTW Pablo, I have tried to merge these changes with the source You have sent me, but this didn't work well (probably Your shrinking of history table is incompatibile with my multiplying the counters). However, I'll probably merge history table access functions into sSelector class, which is a natural extension of Your modifications.

at the very least, now You can see potential of Sungorus :)

Pablo Vazquez
Posts: 154
Joined: Thu May 31, 2007 7:05 pm
Location: Madrid, Spain
Contact:

Re: open source gift for Christmas

Post by Pablo Vazquez » Sun Dec 25, 2011 6:18 pm

PK wrote:BTW Pablo, I have tried to merge these changes with the source You have sent me, but this didn't work well (probably Your shrinking of history table is incompatibile with my multiplying the counters). However, I'll probably merge history table access functions into sSelector class, which is a natural extension of Your modifications.

at the very least, now You can see potential of Sungorus :)
You mean it didn't work regarding strength? That is strange. Changes to the history code shouldn't make much of a difference. I remember testing without history counters and the difference was about 15-20 ELO. History and killers overlap and removing both is worth a lot (maybe 100 ELO or so) but just removing one is a small loss.

User avatar
Graham Banks
Posts: 32367
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: open source gift for Christmas

Post by Graham Banks » Mon Dec 26, 2011 5:45 am

Image
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

ZirconiumX
Posts: 1327
Joined: Sun Jul 17, 2011 9:14 am

Re: open source gift for Christmas

Post by ZirconiumX » Mon Dec 26, 2011 3:05 pm

What is the correct way to compile, as there is no Makefile?

(I don't have MSVC++, nor even Windows)

Matthew:out[/code]
Some believe in the almighty dollar.

I believe in the almighty printf statement.

User avatar
lucasart
Posts: 3031
Joined: Mon May 31, 2010 11:29 am
Full name: lucasart
Contact:

Re: open source gift for Christmas

Post by lucasart » Mon Dec 26, 2011 3:19 pm

PK wrote:http://www.koziol.home.pl/rodent_0.08.zip

This is a little open source engine, based on Sungorus 1.4 by Pablo Vazquez, with eval parameters borrowed from excellent "Toga LOG user manual" (link in the readme). As You see, it has never been destined to be completely original. I consiered it rather a didactic exercise: self-teaching by exposition to concise code of the original author, trying to get a feel of object-oriented design and going for simple implementation of a couple of concepts. So You may regard it as a beefed-up, bitboard version of the CPW-Engine (Rodent is probably 2550+).

Rodent is also meant to showcase one idea that I consider interesting - "sliding LMR reduction". This means making LMR reduction depth variable, using fractional plies - currently something like 3/4 ply after trying 6th move in a given node and then 1/4 ply is added after every 4 moves.

The intended effect is that first full reduction happens a bit later than usual (as I start with 3/4 ply reduction), but a series of late moves is reduced much deeper. So difficult move sequences become more difficult to find, but easy shots are easier to spot.

It has been one of the very first things added to Sungorus codebase, so all other modifications had to cope with the effect of that reduction scheme. The funny thing is that I was not able to gain anything from tempo bonus in the evaluation.

Unfortunately Rodent's playing style is boring, this is not Glass and will never be. However, I expect Glass to gain form some search improvements I tested here.
Good stuff :)

I just wonder how it can perform that well, with no SEE pruning in the quiescent search... Probably something you should add.

I'll gladly test it in my GPL Blitz rating list, if you decide to make the code portable.

Pablo Vazquez
Posts: 154
Joined: Thu May 31, 2007 7:05 pm
Location: Madrid, Spain
Contact:

Re: open source gift for Christmas

Post by Pablo Vazquez » Mon Dec 26, 2011 6:46 pm

lucasart wrote:
PK wrote:http://www.koziol.home.pl/rodent_0.08.zip

This is a little open source engine, based on Sungorus 1.4 by Pablo Vazquez, with eval parameters borrowed from excellent "Toga LOG user manual" (link in the readme). As You see, it has never been destined to be completely original. I consiered it rather a didactic exercise: self-teaching by exposition to concise code of the original author, trying to get a feel of object-oriented design and going for simple implementation of a couple of concepts. So You may regard it as a beefed-up, bitboard version of the CPW-Engine (Rodent is probably 2550+).

Rodent is also meant to showcase one idea that I consider interesting - "sliding LMR reduction". This means making LMR reduction depth variable, using fractional plies - currently something like 3/4 ply after trying 6th move in a given node and then 1/4 ply is added after every 4 moves.

The intended effect is that first full reduction happens a bit later than usual (as I start with 3/4 ply reduction), but a series of late moves is reduced much deeper. So difficult move sequences become more difficult to find, but easy shots are easier to spot.

It has been one of the very first things added to Sungorus codebase, so all other modifications had to cope with the effect of that reduction scheme. The funny thing is that I was not able to gain anything from tempo bonus in the evaluation.

Unfortunately Rodent's playing style is boring, this is not Glass and will never be. However, I expect Glass to gain form some search improvements I tested here.
Good stuff :)

I just wonder how it can perform that well, with no SEE pruning in the quiescent search... Probably something you should add.

I'll gladly test it in my GPL Blitz rating list, if you decide to make the code portable.
It's not visible in the quiescence search function but it actually does, NextCapture() filters bad captures.

User avatar
lucasart
Posts: 3031
Joined: Mon May 31, 2010 11:29 am
Full name: lucasart
Contact:

Re: open source gift for Christmas

Post by lucasart » Mon Dec 26, 2011 7:29 pm

Pablo Vazquez wrote:
lucasart wrote:
PK wrote:http://www.koziol.home.pl/rodent_0.08.zip

This is a little open source engine, based on Sungorus 1.4 by Pablo Vazquez, with eval parameters borrowed from excellent "Toga LOG user manual" (link in the readme). As You see, it has never been destined to be completely original. I consiered it rather a didactic exercise: self-teaching by exposition to concise code of the original author, trying to get a feel of object-oriented design and going for simple implementation of a couple of concepts. So You may regard it as a beefed-up, bitboard version of the CPW-Engine (Rodent is probably 2550+).

Rodent is also meant to showcase one idea that I consider interesting - "sliding LMR reduction". This means making LMR reduction depth variable, using fractional plies - currently something like 3/4 ply after trying 6th move in a given node and then 1/4 ply is added after every 4 moves.

The intended effect is that first full reduction happens a bit later than usual (as I start with 3/4 ply reduction), but a series of late moves is reduced much deeper. So difficult move sequences become more difficult to find, but easy shots are easier to spot.

It has been one of the very first things added to Sungorus codebase, so all other modifications had to cope with the effect of that reduction scheme. The funny thing is that I was not able to gain anything from tempo bonus in the evaluation.

Unfortunately Rodent's playing style is boring, this is not Glass and will never be. However, I expect Glass to gain form some search improvements I tested here.
Good stuff :)

I just wonder how it can perform that well, with no SEE pruning in the quiescent search... Probably something you should add.

I'll gladly test it in my GPL Blitz rating list, if you decide to make the code portable.
It's not visible in the quiescence search function but it actually does, NextCapture() filters bad captures.
Ah ok! I was wondering how your program could perform any good without this ;)

User avatar
Graham Banks
Posts: 32367
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: open source gift for Christmas

Post by Graham Banks » Tue Dec 27, 2011 1:22 am

PK wrote:...Rodent is probably 2550.
Could be a little conservative.
Rodent just beat Murka 2.0 by 8.5-1.5 here. Trying it against GarboChess 3.0 next.
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

Post Reply