The Baron and TSCP

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

Moderators: hgm, Rebel, chrisw

pijl
Posts: 115
Joined: Mon Sep 17, 2012 8:59 pm

The Baron and TSCP

Post 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.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: The Baron and TSCP

Post 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.
pijl
Posts: 115
Joined: Mon Sep 17, 2012 8:59 pm

Re: The Baron and TSCP

Post 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).
Sedat Canbaz
Posts: 3018
Joined: Thu Mar 09, 2006 11:58 am
Location: Antalya/Turkey

Re: The Baron and TSCP

Post 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
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: The Baron and TSCP

Post 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
_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….
Sedat Canbaz
Posts: 3018
Joined: Thu Mar 09, 2006 11:58 am
Location: Antalya/Turkey

Re: The Baron and TSCP

Post 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 !!
User avatar
Sylwy
Posts: 4469
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: Still unclear....

Post by Sylwy »

Dr.Wael Deeb wrote:
Unfortunately Sedat it's private....

Dr.D
Mr. Sedat ?????

Doctoral regards,
SilvianR :wink:
Sedat Canbaz
Posts: 3018
Joined: Thu Mar 09, 2006 11:58 am
Location: Antalya/Turkey

Re: Still unclear....

Post by Sedat Canbaz »

Sylwy wrote:
Dr.Wael Deeb wrote:
Unfortunately Sedat it's private....

Dr.D
Mr. Sedat ?????

Doctoral regards,
SilvianR :wink:
:)
User avatar
Sylwy
Posts: 4469
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: Still unclear....

Post 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:
Sedat Canbaz
Posts: 3018
Joined: Thu Mar 09, 2006 11:58 am
Location: Antalya/Turkey

Re: Still unclear....

Post 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?