About derivatives

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Olivier Deville
Posts: 937
Joined: Wed Mar 08, 2006 9:13 pm
Location: Aurec, France

About derivatives

Post by Olivier Deville »

Hi all

When ChessWar XVI cycle ended in May, I took a 2 months break.

On the light of recent events, I asked myself whether spending time on computer chess was still worth the effort.

I finally started the Promo division of ChessWar XVII in July, and I found out I still care for computer chess. I am glad I did not give up, and I'm getting very good feedback from the participants of the Promo.

I have deleted several engines from the top division (Rybka was the first to fall). I don't want any derivative from strong open source engines anymore. Some cases are clear cut, but some other ones seem to belong to a grey area.

For instance, I'm wondering what to do of Bison. I only have this statement from Dann Corbit : http://www.open-aurec.com/wbforum/viewt ... it#p193088

Any opinion?

Olivier
tpetzke
Posts: 686
Joined: Thu Mar 03, 2011 4:57 pm
Location: Germany

Re: About derivatives

Post by tpetzke »

Hi Oliver,

I have no clue about bison, I just want to let you know, I'm happy that you still run your tournaments.

My engine (ice) is currently one of the promo participants and with a bit of luck it might finish among the top 20 there. This would be quite a success for my first public engine version.

Thomas...
User avatar
Olivier Deville
Posts: 937
Joined: Wed Mar 08, 2006 9:13 pm
Location: Aurec, France

Re: About derivatives

Post by Olivier Deville »

Hi Thomas, nice to hear from you :)

Yes ice only needs half a point in last round to promote. Even a loss could be enough, but according to people who are following the event on the chat, only a few engines with 7.5 are going to end up in the top 20.

Good luck anyway.

Olivier
smatovic
Posts: 2645
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: About derivatives

Post by smatovic »

Hi Oliver,

I have no clue about bison, I just want to let you know, I'm happy that you still run your tournaments.
I also want to thank you Olivier,
without such Tournaments Chess Programming would make less fun.

--
Srdja
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Bison (Re: About derivatives)

Post by Sven »

Olivier Deville wrote:For instance, I'm wondering what to do of Bison. I only have this statement from Dann Corbit : http://www.open-aurec.com/wbforum/viewt ... it#p193088

Any opinion?
I looked into the most recent source of Bison (google bison chess engine :-) ). I can confirm that ideas from Fruit 2.1 are visible but most of the source code itself is very unique IMO. I found both the evaluation and the search to be very different from Fruit 2.1, so it looks like being even more than "only" an "OO rewrite of Fruit using bitboards". The changes are substantial, even though an analysis of the "eval feature overlap" as it was done recently in the Rybka-Fruit case might result in a high percentage. (I don't want to comment on that method here.)

And the most important point is: Bison sources are published under GPL. So even if a tiny bit of giving credit for using Fruit ideas would have been nice, I see absolutely nothing dubious or even illegal in it. I would not agree to a statement that the Bison source were "derived from the Fruit 2.1 source" since it is obvious for me that the whole program was written from scratch. A strong influence of some Fruit concepts is there, though, no doubt about it.

Since the latest sources seem to date from 2009 you might consider to ask the author whether he is still interested in seeing his engine play in your tournaments. A mail address is given at the top of the source file "main.cpp".

Btw, Bison has nice and compact C++ source code, it was easy to read for me.

Sven
User avatar
Olivier Deville
Posts: 937
Joined: Wed Mar 08, 2006 9:13 pm
Location: Aurec, France

Re: Bison (Re: About derivatives)

Post by Olivier Deville »

Many thanks Sven for the comment :)

Any other opinions?

Olivier
mar
Posts: 2555
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Bison (Re: About derivatives)

Post by mar »

I think it's original. Haven't checked eval though. Hope that noone's going to lych me for that :) And thanks for chesswar.

martin
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Bison (Re: About derivatives)

Post by lucasart »

Olivier Deville wrote:Many thanks Sven for the comment :)

Any other opinions?

Olivier
As a programmer, I can also tell you that Bison is original:
* the code itself is 100% original, there's no copy/paste from Fruit
* the search algorithm are of course inspired from Fruit's ideas, as well as all other open source programs, and so what ? He uses well known search algorithms, like alpha/beta pruning, quiescent search, delta pruning, futility pruning, razoring (not in Fruit), LMR (quite different from Fruit's history pruning), and many others I won't even detail here. But the bottom line is that all these techniques belong to what is now public knowledge, and is well detailed on, for example, the chess programming wiki, and many other chess programming theory pages.

There's nothing wrong with that. And also, please do not put open/free softwares on the same level as proprietary/commercial softwares like Rybka.

There's nothing wrong with using ideas from other people, so long as credit is given where credit is due. No one can nowadays write a chess program that doesn't use any of the well known search techniques. So this debate is really silly.

What is wrong is to:
1/ use code from an open source program, protected by the GNU GPL, and compile it into a proprietary software. This is simply illegal and a breach of the GPL.
2/ plagiarize an open source program, for example Strelka: it is a rewrite, but strictly following Fruit's design from A to Z, although it introdues some further improvements to the Fruit base. However, this is not as wrong as 1/, amd it is not illegal if the source code is available under the GNU GPL.

I think this debate on engine clones is really becoming completely sterile... Again, no one can write a chess program without using ideas that also happen to be used in strong open source programs. They all use the same seach algorithms, and evaluation patterns. However, how to actually code them and combine them, as well as your own improvements is what makes a program unique, and it is far less simple than people imagine.

What is mostly wrong with this debate is that it is essentially conducted by people who are not programmers, and spread rumors.

Anyway, there is a subforum on here to talk about these subjects. The discussions out there are so stupid and infantile, that it was necessary to seggregate them from inteliggent discussions happenning in the chess programming forum.

Of course, the decision to include whichever program in your chesswar is up to you, but if you exclude Bison for that reason, then you should exclude pretty much all chess programs, as they all use "public domain chess programming knowledge" if you like...

PS: I'm not the programmer of Bison, and have no connection with it, but as a programmer, I know all the time and effort that is involved, and I cannot let people start another smearing campaign based on such vague and unfounded allegations.

Lucas
Last edited by lucasart on Thu Aug 11, 2011 10:06 pm, edited 1 time in total.
F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Bison (Re: About derivatives)

Post by F. Bluemers »

As a programmer, I can also tell you that Bison is original:
* the code itself is 100% original, there's no copy/paste from Fruit
wel,100%? The passed pawn eval part comes from fruit.
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Bison (Re: About derivatives)

Post by Zach Wegner »

lucasart wrote:
Olivier Deville wrote:Many thanks Sven for the comment :)

Any other opinions?

Olivier
As a programmer, I can also tell you that Bison is original:
* the code itself is 100% original, there's no copy/paste from Fruit
* the search algorithm are of course inspired from Fruit's ideas, as well as all other open source programs, and so what ? He uses well known search algorithms, like alpha/beta pruning, quiescent search, delta pruning, futility pruning, razoring (not in Fruit), LMR (quite different from Fruit's history pruning), and many others I won't even detail here. But the bottom line is that all these techniques belong to what is now public knowledge, and is well detailed on, for example, the chess programming wiki, and many other chess programming theory pages.

There's nothing wrong with that. And also, please do not put open/free softwares on the same level as proprietary/commercial softwares like Rybka.

There's nothing wrong with using ideas from other people, so long as credit is given where credit is due. No one can nowadays write a chess program that doesn't use any of the well known search techniques. So this debate is really silly.

What is wrong is to:
1/ use code from an open source program, protected by the GNU GPL, and compile it into a proprietary software. This is simply illegal and a breach of the GPL.
2/ plagiarize an open source program, for example Strelka: it is a rewrite, but strictly following Fruit's design from A to Z, although it introdues some further improvements to the Fruit base. However, this is not as wrong as 1/, amd it is not illegal if the source code is available under the GNU GPL.

I think this debate on engine clones is really becoming completely sterile... Again, no one can write a chess program without using ideas that also happen to be used in strong open source programs. They all use the same seach algorithms, and evaluation patterns. However, how to actually code them and combine them, as well as your own improvements is what makes a program unique, and it is far less simple than people imagine.

What is mostly wrong with this debate is that it is essentially conducted by people who are not programmers, and spread rumors.

Anyway, there is a subforum on here to talk about these subjects. The discussions out there are so stupid and infantile, that it was necessary to seggregate them from inteliggent discussions happenning in the chess programming forum.

Of course, the decision to include whichever program in your chesswar is up to you, but if you exclude Bison for that reason, then you should exclude pretty much all chess programs, as they all use "public domain chess programming knowledge" if you like...

PS: I'm not the programmer of Bison, and have no connection with it, but as a programmer, I know all the time and effort that is involved, and I cannot let people start another smearing campaign based on such vague and unfounded allegations.

Lucas
Well said. I agree on basically everything here.

Bison is maybe a bit too Fruity for comfort, but it's irrelevant because it's open source, and there was no code copied. The eval is further away from Fruit than Rybka 1 anyways...