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.
open source gift for Christmas
Moderator: Ras
-
- Posts: 903
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
-
- Posts: 154
- Joined: Thu May 31, 2007 9:05 pm
- Location: Madrid, Spain
Re: open source gift for Christmas
Very nice. Thank you, Pawel 

-
- Posts: 903
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
Re: open source gift for Christmas
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
at the very least, now You can see potential of Sungorus

Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
http://www.pkoziol.cal24.pl/rodent/rodent.htm
-
- Posts: 154
- Joined: Thu May 31, 2007 9:05 pm
- Location: Madrid, Spain
Re: open source gift for Christmas
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.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
-
- Posts: 43811
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
-
- Posts: 1346
- Joined: Sun Jul 17, 2011 11:14 am
- Full name: Hannah Ravensloft
Re: open source gift for Christmas
What is the correct way to compile, as there is no Makefile?
(I don't have MSVC++, nor even Windows)
Matthew:out[/code]
(I don't have MSVC++, nor even Windows)
Matthew:out[/code]
tu ne cede malis, sed contra audentior ito
-
- Posts: 3241
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: open source gift for Christmas
Good stuffPK 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.

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.
-
- Posts: 154
- Joined: Thu May 31, 2007 9:05 pm
- Location: Madrid, Spain
Re: open source gift for Christmas
It's not visible in the quiescence search function but it actually does, NextCapture() filters bad captures.lucasart wrote:Good stuffPK 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.
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.
-
- Posts: 3241
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: open source gift for Christmas
Ah ok! I was wondering how your program could perform any good without thisPablo Vazquez wrote:It's not visible in the quiescence search function but it actually does, NextCapture() filters bad captures.lucasart wrote:Good stuffPK 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.
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.

-
- Posts: 43811
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: open source gift for Christmas
Could be a little conservative.PK wrote:...Rodent is probably 2550.
Rodent just beat Murka 2.0 by 8.5-1.5 here. Trying it against GarboChess 3.0 next.
gbanksnz at gmail.com