Rocinante, why ?

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

Moderators: hgm, Rebel, chrisw

Antonio Torrecillas
Posts: 90
Joined: Sun Nov 02, 2008 4:43 pm
Location: Barcelona

Rocinante, why ?

Post by Antonio Torrecillas »

During this year I have had several expressions of interest in Rocinante.

- A request for a new feature from Lucas Chess.
- Rocinante and Simplex were among the first engines migrated to Android.(Aart and Jim)
- I recently discovered that Rocinante is included in the list CCRL 40/4.

This unexpected fact, made me reconsider a new release of Rocinante.

Rocinante was developed as experimentation around the algorithm B*.
It is not particularly well built, his evaluation is very simple and
his strength is not remarkable.
but as I was not aware of no other engine using B*. I decided to make it public.
I expected that this engine was quickly forgotten.

All this makes me ask those who use it.

Rocinante, why ?
What is the use made of it? Man versus engine, Testing engine versus engine, others.
What is the characteristic of Rocinante you would not want to lose?
What new features you want?

Waiting for feedback regards, Antonio.
lukasmonk
Posts: 45
Joined: Sun Feb 07, 2010 7:35 pm
Location: Spain

Re: Rocinante, why ?

Post by lukasmonk »

Rocinante, why ?
Based on the following comment :

"Rocinante is not an evolution, but rather a different engine at a lower level. What strikes me is how it plays, it goes beyond what is expected to see at a low level program. I mean, is so different from other engines and so comfortable to play that seems too good to train and encourage those who start in chess. "

This comment was made by Pietra in siliconchess forum(in spanish), and corroborated by a colaborator of Lucas chess, that help me with engines.
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Rocinante, why ?

Post by pocopito »

lukasmonk wrote:
Rocinante, why ?
Based on the following comment :

"Rocinante is not an evolution, but rather a different engine at a lower level. What strikes me is how it plays, it goes beyond what is expected to see at a low level program. I mean, is so different from other engines and so comfortable to play that seems too good to train and encourage those who start in chess. "

This comment was made by Pietra in siliconchess forum(in spanish), and corroborated by a colaborator of Lucas chess, that help me with engines.
I searched for this comment in siliconchess but didn't find it. In the list of comments by Pietra I just found this:
http://siliconchess.foroactivo.net/spa/Pietra

PS: not that I don't trust your sources, but I find this engine quite interesting and I'd like to read the full post :)
lukasmonk
Posts: 45
Joined: Sun Feb 07, 2010 7:35 pm
Location: Spain

Re: Rocinante, why ?

Post by lukasmonk »

pocopito wrote:
lukasmonk wrote:This comment was made by Pietra in siliconchess forum(in spanish), and corroborated by a colaborator of Lucas chess, that help me with engines.
I searched for this comment in siliconchess but didn't find it. In the list of comments by Pietra I just found this:
http://siliconchess.foroactivo.net/spa/Pietra

PS: not that I don't trust your sources, but I find this engine quite interesting and I'd like to read the full post :)

My source = Google : siliconchess pietra rocinante
And looking at the google cache.
Old messages of this forum have been lost.
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Rocinante, why ?

Post by pocopito »

Thanks a lot: the cache did the trick :)

http://webcache.googleusercontent.com/s ... clnk&gl=es
Antonio Torrecillas
Posts: 90
Joined: Sun Nov 02, 2008 4:43 pm
Location: Barcelona

Re: Rocinante, why ?

Post by Antonio Torrecillas »

The development of Rocinante was never abandoned.
It has only evolved to an testing and a statistical tool.

to say a few things, he has tools to convert pgn to epd, run epd test suites,
statistic as explained Larry K. in his evaluation of material imbalances,
a MCTS,a GTP implementation, an undetermined number of evaluation functions.

these are the changes that affect Rocinante:
Now the move generator is mailbox 16x12 rather than bitboard.
I have suppressed PVS/Alpha beta evaluation from B*.
Bstar now run on top of a minimax on top of a quiescent search.(1 ply minimax).

I have plugged the ufo evaluation, and run a quick and dirty test.
The result was +271-208=292 at TC: 60/6 for the new Rocinante.
Still inside the error bar but encouraging.
I just need to clean it up or extract the relevant code and
I'm ready for a new development sprint.

it's time to plan a new release.

Requirements:
Personal:
- to be +100 elo stronger than release 1.01.(engine versus engine).
- to prepare a framework to add a segond game to Rocinante.(go?).

Community:
- be a better partner training.

This is the most challenging part.
use a +3000 Elo engine dumbed to 1800 is probably not the best
for training a 1700 Elo human player.
Since Rocinante is already in the bottom of the rating lists.
He can be a good starting point to learn how to do that.

Let discuss now, what the ideal training partner must have?

- Winning probability close to 50%. Human versus engine.
- Help to learn new concepts.

others? ideas ?

Proposal:
the Elo of engine versus engine and the one of human versus human
and the one human versus engine are uncorrelated.
So I won't try to match this.

I propose a sufficiently rich set of options to allow you
to match your personal needs.


dumbing options:
- lower time control for engine. (standard uci option go movetime )
- fixed depth. (emulated uci option go depth + custom setoption)

ginger up option:
- use multiple cores. (setoption name cpus value n)
- Add knowledge (setoption name evallevel value n)


B* don't have the concept of iteration,
so we can define the behavior of a fixed depth search.
We can establish whichever criteria we like, linear, exponential.

Next, I will define a collection of evaluation functions.
each function must add the knowledge needed to make
Rocinante +x Elo stronger than the previous evaluation level.(engine versus engine).
+50 Elo looks like a good step.

Bstar is essentially a quiescent algorithm,
if he smell something then he go for it until resolution.
So adding knowledge will increase the eficiency of the search.

The lower evaluation will be UFO (the one used in R1.01).
This evaluation consists of Material + a Piece square table.
The knowledge included is: advance pawns, drive pieces to center.
Keep king castled in opening and go to the center in endgame.Rook to 7º etc...

Left to define the order in which concepts are added to the new evaluation functions.

If you don't have noticed I'm trying to involve my customers in the development process ;-)

Regards. Antonio.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: Rocinante, why ?

Post by Adam Hair »

Antonio Torrecillas wrote:During this year I have had several expressions of interest in Rocinante.

- A request for a new feature from Lucas Chess.
- Rocinante and Simplex were among the first engines migrated to Android.(Aart and Jim)
- I recently discovered that Rocinante is included in the list CCRL 40/4.

This unexpected fact, made me reconsider a new release of Rocinante.

Rocinante was developed as experimentation around the algorithm B*.
It is not particularly well built, his evaluation is very simple and
his strength is not remarkable.
but as I was not aware of no other engine using B*. I decided to make it public.
I expected that this engine was quickly forgotten.

All this makes me ask those who use it.

Rocinante, why ?
What is the use made of it? Man versus engine, Testing engine versus engine, others.
What is the characteristic of Rocinante you would not want to lose?
What new features you want?

Waiting for feedback regards, Antonio.
Hi Antonio,

I tested Rocinante for the CCRL 40/4 list precisely because it uses a best-first search algorithmn, unlike any other engine around today. Unfortunately, it took a while before there were enough engines on the list whose strength is comparable to Rocinante so that Rocinante could be included.

What would I like to see added? Like you said, more knowledge would make the search more efficient. I would like to see just how well B* can work for a chess engine.

Good luck with Rocinante,
Adam
Antonio Torrecillas
Posts: 90
Joined: Sun Nov 02, 2008 4:43 pm
Location: Barcelona

Re: Rocinante, why ?

Post by Antonio Torrecillas »

Hi Adam,
Thanks for your feedback.
How strong a B* program can be? Thats a good point. HiTech B* was 100 Elo weaker than the "conventional" HiTech if I recall correctly.
Translated to myself, Rocinante 2.0 will be close to Simplex 0.9.7.
But that's a +800 elo jump, far more than my inicial intention (or capacity). For sure improving the evaluation function is not enough.Fortunately there is a lot of things to improve in Rocinante.(get rid of all double precision calculation,avoid searches in an unordered tree etc.)

But really I like the idea so the challenge is:
I'll spend the next four month to reengineer the program.
If after that Rocinante raise 400 elo stronger I'll devote the rest of 2012 to Rocinante.
if not I come back to Simplex.

You're in charge to verify the bet. ;-)

I think it is possible, but who knows. Rocinante is so confortable (applied to a chess engine, confortable means weak or pleasant? ).

Regards,Antonio.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: Rocinante, why ?

Post by Adam Hair »

Hi Antonio,

If you want to spend the next four months working on Rocinante, then I will stand in charge of this bet :wink:

Adam
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: Rocinante, why ?

Post by Adam Hair »

Antonio Torrecillas wrote:Hi Adam,
Thanks for your feedback.
How strong a B* program can be? Thats a good point. HiTech B* was 100 Elo weaker than the "conventional" HiTech if I recall correctly.
Translated to myself, Rocinante 2.0 will be close to Simplex 0.9.7.
But that's a +800 elo jump, far more than my inicial intention (or capacity). For sure improving the evaluation function is not enough.Fortunately there is a lot of things to improve in Rocinante.(get rid of all double precision calculation,avoid searches in an unordered tree etc.)

But really I like the idea so the challenge is:
I'll spend the next four month to reengineer the program.
If after that Rocinante raise 400 elo stronger I'll devote the rest of 2012 to Rocinante.
if not I come back to Simplex.

You're in charge to verify the bet. ;-)

I think it is possible, but who knows. Rocinante is so confortable (applied to a chess engine, confortable means weak or pleasant? ).

Regards,Antonio.
I am just letting Antonio know that I have not forgotten about this :wink: