Page 1 of 2

The Baron and TSCP

Posted: Mon Jan 27, 2014 8:41 am
by pijl
I'm not a frequent visitor of this forum anymore and I just noticed a thread on the origin of the Baron. As that thread is locked due to the copious amount of speculation in it I start a new one providing some details. I haven't read all of that thread but suspected most questions will be answered below.

Work on the Baron started in August 2001. I had quite a lot of programming experience, was an active chess player, but had no experience in chess programming.

I wanted some chess analysis tools that were not available at that time and decided to try and modify an existing engine (Crafty) to incorporate my ideas on that.

Looking at that source code I quickly gave up. I did not understand enough of it to be able to modify the search code. Instead, I looked around for simpler engines to try and test the idea with. I selected TSCP. My first task was to understand the source code, and while looking at it I found some pretty straightforward improvements. Implementing these made me go and look for more (I contacted Tom to show him the improvements I found and he basically encouraged me to do that) and before I knew it I forgot about the original goal for which I started to look at TSCP in the first place. I started to read a lot of online resources, looking for things missing in TSCP that could enhance it further. All of the search and evaluation (there isn't much of it in TSCP anyway) was replaced in that process, as well as the supporting functions and some of them kept their original name as given by Tom.

The statement found by Miguel actually belongs to the 0.x versions that I started to release in December 2001. Although the code was rewritten, some of the TSCP heritage could still be found if you know where to look for it. Some of the function names, support for TSCP specific commands like 'on', 'off' and 'bye' are a few of them. And of course, many things were added, as well as rewriting most functions of the engine multiple times.
The change in major revision numbers was done because of some fundamental changes in the engine.
In 1.x I changed all of the GUI interfacing code with a parser generated by flex and bison (not the best idea, I'm willing to admit now), and in 2.x a different book format was introduced.

Therefore I do not consider the released versions of the Baron (not even the 0.x versions) as a derivative of TSCP. The statement was included in the README file in the distribution to honour Tom as well as the authors of other engines I took a close look at, like Beowulf and Crafty (once I started to understand it :-)). I never made a secret of that.

The current Baron versions (3.x) are an evolution of a rewrite I started in 2006 (I think). For quite some time the development of the Baron 1.x and 2.x versions were done in parallel with the development of Crashtest Dummy (CTD). CTD was started from scratch, and no code from any engine was used as a base. No code from the Baron 1.x and 2.x was used for it either as I wanted a 'clean' new engine. There is still some 'knowledge' inside the older Baron versions that would probably be useful for 3.x but has not made it in so far. The good thing though: I did implement the ideas I had more than 12 years ago in 3.x!

I hope this clarifies this 'issue'
Richard.

Re: The Baron and TSCP

Posted: Mon Jan 27, 2014 9:06 am
by michiguel
pijl wrote:I'm not a frequent visitor of this forum anymore and I just noticed a thread on the origin of the Baron. As that thread is locked due to the copious amount of speculation in it I start a new one providing some details. I haven't read all of that thread but suspected most questions will be answered below.

Work on the Baron started in August 2001. I had quite a lot of programming experience, was an active chess player, but had no experience in chess programming.

I wanted some chess analysis tools that were not available at that time and decided to try and modify an existing engine (Crafty) to incorporate my ideas on that.

Looking at that source code I quickly gave up. I did not understand enough of it to be able to modify the search code. Instead, I looked around for simpler engines to try and test the idea with. I selected TSCP. My first task was to understand the source code, and while looking at it I found some pretty straightforward improvements. Implementing these made me go and look for more (I contacted Tom to show him the improvements I found and he basically encouraged me to do that) and before I knew it I forgot about the original goal for which I started to look at TSCP in the first place. I started to read a lot of online resources, looking for things missing in TSCP that could enhance it further. All of the search and evaluation (there isn't much of it in TSCP anyway) was replaced in that process, as well as the supporting functions and some of them kept their original name as given by Tom.

The statement found by Miguel actually belongs to the 0.x versions that I started to release in December 2001. Although the code was rewritten, some of the TSCP heritage could still be found if you know where to look for it. Some of the function names, support for TSCP specific commands like 'on', 'off' and 'bye' are a few of them. And of course, many things were added, as well as rewriting most functions of the engine multiple times.
The change in major revision numbers was done because of some fundamental changes in the engine.
In 1.x I changed all of the GUI interfacing code with a parser generated by flex and bison (not the best idea, I'm willing to admit now), and in 2.x a different book format was introduced.

Therefore I do not consider the released versions of the Baron (not even the 0.x versions) as a derivative of TSCP. The statement was included in the README file in the distribution to honour Tom as well as the authors of other engines I took a close look at, like Beowulf and Crafty (once I started to understand it :-)). I never made a secret of that.

The current Baron versions (3.x) are an evolution of a rewrite I started in 2006 (I think). For quite some time the development of the Baron 1.x and 2.x versions were done in parallel with the development of Crashtest Dummy (CTD). CTD was started from scratch, and no code from any engine was used as a base. No code from the Baron 1.x and 2.x was used for it either as I wanted a 'clean' new engine. There is still some 'knowledge' inside the older Baron versions that would probably be useful for 3.x but has not made it in so far. The good thing though: I did implement the ideas I had more than 12 years ago in 3.x!

I hope this clarifies this 'issue'
Richard.
Thanks Richard.

I hope you understand nobody questioned you here, but the issue came up because of the rules Sedat had for his tournaments. Now it is a moot point since rules changed, but he wanted to know how engines started, more than if now they are derivatives or not. For some reason, this got out of proportion and should have never happened.

Miguel
PS: Now that the author has spoken, there should not be much of a debate.

Re: The Baron and TSCP

Posted: Mon Jan 27, 2014 9:39 am
by pijl
I understand that the question was brought up by Sedat, so no problem there. Unfortunately the thread following was blown out of proportion.

And, if in the future, my opinion is needed on some subject, it is probably better to pm me (I'll get an email notification, or send an email directly) as I do not visit this forum frequently anymore (and if I do, mostly only the programmer's section).

Re: The Baron and TSCP

Posted: Mon Jan 27, 2014 10:37 am
by Sedat Canbaz
Thank you dear Richard

Yes...I opened this thread not to show that X engine is a clone or derivative or original....

I was out of chess for some period of time, later I started to think about with what kind of new/different testing i should start and then my new scratch project is born


Btw, is there any possibility to download Baron 3.x , can you post the direct link please? of course if it is private, no problem, currently I don't plan to include the private engines...

Best,
Sedat

Re: The Baron and TSCP

Posted: Mon Jan 27, 2014 11:36 am
by Dr.Wael Deeb
Sedat Canbaz wrote:Thank you dear Richard

Yes...I opened this thread not to show that X engine is a clone or derivative or original....

I was out of chess for some period of time, later I started to think about with what kind of new/different testing i should start and then my new scratch project is born


Btw, is there any possibility to download Baron 3.x , can you post the direct link please? of course if it is private, no problem, currently I don't plan to include the private engines...

Best,
Sedat
Unfortunately Sedat it's private....

I hope one day Richard will release his 3.x series of the engine as I deeply respect it as a playing entity regards,
Dr.D

Re: The Baron and TSCP

Posted: Mon Jan 27, 2014 11:40 am
by Sedat Canbaz
Dr.Wael Deeb wrote:
Sedat Canbaz wrote:Thank you dear Richard

Yes...I opened this thread not to show that X engine is a clone or derivative or original....

I was out of chess for some period of time, later I started to think about with what kind of new/different testing i should start and then my new scratch project is born


Btw, is there any possibility to download Baron 3.x , can you post the direct link please? of course if it is private, no problem, currently I don't plan to include the private engines...

Best,
Sedat
Unfortunately Sedat it's private....

I hope one day Richard will release his 3.x series of the engine as I deeply respect it as a playing entity regards,
Dr.D
Blagodaria ti priatelio !!

Re: Still unclear....

Posted: Mon Jan 27, 2014 11:58 am
by Sylwy
Dr.Wael Deeb wrote:
Unfortunately Sedat it's private....

Dr.D
Mr. Sedat ?????

Doctoral regards,
SilvianR :wink:

Re: Still unclear....

Posted: Mon Jan 27, 2014 12:20 pm
by Sedat Canbaz
Sylwy wrote:
Dr.Wael Deeb wrote:
Unfortunately Sedat it's private....

Dr.D
Mr. Sedat ?????

Doctoral regards,
SilvianR :wink:
:)

Re: Still unclear....

Posted: Mon Jan 27, 2014 12:34 pm
by Sylwy
Sedat Canbaz wrote:
Sylwy wrote:
Dr.Wael Deeb wrote:
Unfortunately Sedat it's private....

Dr.D
Mr. Sedat ?????

Doctoral regards,
SilvianR :wink:
:)
Hi !

In fact I have all The Barons from 3.29 to 3.35a . Superb engines with a spectacular play. An unique and complex learning function , own endgame bitbases, a huge book (coming from Mr. Ochoa), MP capabilities , 32 and 64-bit versions, WB + UCI protocols...........and a very special architecture ! A jewel for a chess player.

http://www.talkchess.com/forum/viewtopi ... 89&t=51063

Regards,
SilvianR :wink:

Re: Still unclear....

Posted: Mon Jan 27, 2014 12:38 pm
by Sedat Canbaz
Sylwy wrote:
Sedat Canbaz wrote:
Sylwy wrote:
Dr.Wael Deeb wrote:
Unfortunately Sedat it's private....

Dr.D
Mr. Sedat ?????

Doctoral regards,
SilvianR :wink:
:)
Hi !

In fact I have all The Barons from 3.29 to 3.35a . Superb engines with a spectacular play. An unique and complex learning function , own endgame bitbases, a huge book (coming from Mr. Ochoa), MP capabilities , 32 and 64-bit versions, WB + UCI protocols...........and a very special architecture ! A jewel for a chess player.

http://www.talkchess.com/forum/viewtopi ... 89&t=51063

Regards,
SilvianR :wink:

Thanks for the info dear SilvianR

Is the latest Baron 3.35a is a UCI engine ?
And what about private Baron's strenght, how much is it stronger than Baron 2.23?