DiscoChek is written from scratch?

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

Moderators: hgm, Rebel, chrisw

User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: DiscoChek is written from scratch?

Post by velmarin »

Bouquet is sucks derivative, is not the question.

You think that this is Scratch, thanks for replying,
see are not difficult.
:D
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: DiscoChek is written from scratch?

Post by elcabesa »

I don't like too much Velasco's way to write things.
but I think that this thread from Velasco is a provocation just to let people think/understand that lot of engine are now WRITTEN from scratch and that defining a rule for /original/derivative/from scratch is all but EASY.

just my 2 cents
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: DiscoChek is written from scratch?

Post by elcabesa »

I write too fast, what I wnted to write was:
elcabesa wrote:I don't like too much Velasco's way to write things.
but I think that this thread from Velasco is a provocation just to let people think that lot of engine are not WRITTEN from scratch but contains code from others and that defining a rule for /original/derivative/from scratch is not easy at all.

just my 2 cents
everyone acknowledge discocheck is a very good program and lucas has done a very good work.
a new tournament has begun with "from scratch" engines and discochek was selected to play the tournament.
what i think it that everyone has a own way to understand "from scratch" and Joseph asked you if for your vision discocheck is ORIGINAL or not.

that said discocheck is GPL and has inside code from GPL engines so no lgal problems arise.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: DiscoChek is written from scratch?

Post by michiguel »

elcabesa wrote:I don't like too much Velasco's way to write things.
but I think that this thread from Velasco is a provocation just to let people think/understand that lot of engine are now WRITTEN from scratch and that defining a rule for /original/derivative/from scratch is all but EASY.

just my 2 cents
Not directly to anybody in particular:

To me, this question was clearly asked in the context of Sedat's tournament and his rule for a _private_ tournament. If that is the case, the question has nothing to do with the legitimacy of an engine. If it was, this would in EO already (at least). As I said before, people tend to react very rapidly with issues like this. We had a problem two days ago with The Baron and Movei. There is absolutely nothing wrong with any of those engines, but exchanges started to heat up. IMHO, for no valid reason.

If the people think Jose is trolling, then do not answer and in about 24 hrs the thread will be in the second page. Or just answer "no" and let's move on. But, if the people start "counter arguing" that Bouquet is this or that, then this become a snowball, and I know how these things end up. But at that point, it is a mess and we have to intervene, lock threads, warn people, hear that "he started it, no he did" and I do not like that. This is not paranoia from our part, it just happened. So, I am begging my fellow members (before it comes) to keep it simple and not personal.

Miguel
PS: I hope that spending few minutes to write this post will save us a lot of time by prevention.
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: DiscoChek is written from scratch?

Post by pedrox »

elcabesa wrote:I don't like too much Velasco's way to write things.
but I think that this thread from Velasco is a provocation just to let people think/understand that lot of engine are now WRITTEN from scratch and that defining a rule for /original/derivative/from scratch is all but EASY.

just my 2 cents
I do not think the question of Jose is a provocation. I think his question is logical for the criterion chosen by Sedat for their tournament.

I do not particularly know DISCOCHECK code, without this from what I know I think the engine can be written from scratch.

But we have about 500 engines and if we remove clones and derivatives recognized the other engines should have the same treatment.

For example I also consider my DanaSah engine was written from scratch although his generator of moves is based on FirstChess. But as my engine you can find 300 more.

I believe that if an engine is not a clone or is not a derivative it has great potential to be written from scratch.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: DiscoChek is written from scratch?

Post by lucasart »

DoubleCheck 1.0 was really written from scratch with zero foreign code, and this part was added later. Initially I was using my own implementation of rotated bitboards from an old (and really crappy) engine of mine.

Currently, the only non-trivial piece of foreign code in DiscoCheck is magic bitboards. It is well documented that it comes from Umko 1.2, by Borko Boskovic (GPL compliant). While this code is no game-playing code and has zero value by itself, it makes writing high level code (mainly eval) much more pleasant, and more efficient (in certain cases).

Now ask yourself this question:
* how do you consider that a closed source engine contains no foreign code? You blindly trust the author, and use similarity testing which is vaguely better than astrology. I can make a few trivial changes to Stockfish and pass the similarity tests, any day!
* open source engines have nothing to hide! anyone can scrutinize the source code and look for whatever they want. and they do!

NONE of the closed source engines included in SCCT have been scrutinized. And, until proven otherwise, I see NO REASON TO BELIEVE THAT THEY CONTAIN ZERO FOREIGN CODE. Why do you penalize open source and consider closed source above suspicion ?

Please don't talk to me about these idiotic similarity tests. They prove nothing. What they especially fail to do is demonstrate the ABSENCE of foreign code. I can assure you that anyone (even the lease competent programmer) can take Stockfish, tear it down and modify the eval enough so that it passes the similarity and release it closed source. And since this community considers closed source above suspicion and it passes similarity tests, it's clean! SERIOUSLY ?
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
ThomasJMiller
Posts: 96
Joined: Fri Jan 11, 2013 12:22 pm

Re: DiscoChek is written from scratch?

Post by ThomasJMiller »

lucasart wrote:Please don't talk to me about these idiotic similarity tests. They prove nothing. What they especially fail to do is demonstrate the ABSENCE of foreign code. I can assure you that anyone (even the lease competent programmer) can take Stockfish, tear it down and modify the eval enough so that it passes the similarity and release it closed source. And since this community considers closed source above suspicion and it passes similarity tests, it's clean! SERIOUSLY ?
I agree with the first part: the similarity tester can't detect if there is foreign code in an engine. But I think you are wrong on the second one: you won't be able to hide the origins of a modified Stockfish, unless you make it several hundred points weaker.
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: DiscoChek is written from scratch?

Post by Uri Blass »

lucasart wrote:I can make a few trivial changes to Stockfish and pass the similarity tests, any day!
Then please do it and release the source.
It may be interesting to know how much elo do you lose for it and if the engine that you get is stronger than DiscoCheck(note that 60% is not enough and you need similarity that is smaller than 55%)
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: DiscoChek is written from scratch?

Post by Uri Blass »

ThomasJMiller wrote:
lucasart wrote:Please don't talk to me about these idiotic similarity tests. They prove nothing. What they especially fail to do is demonstrate the ABSENCE of foreign code. I can assure you that anyone (even the lease competent programmer) can take Stockfish, tear it down and modify the eval enough so that it passes the similarity and release it closed source. And since this community considers closed source above suspicion and it passes similarity tests, it's clean! SERIOUSLY ?
I agree with the first part: the similarity tester can't detect if there is foreign code in an engine. But I think you are wrong on the second one: you won't be able to hide the origins of a modified Stockfish, unless you make it several hundred points weaker.
I agree with you.
Sedat Canbaz
Posts: 3018
Joined: Thu Mar 09, 2006 11:58 am
Location: Antalya/Turkey

Re: DiscoChek is written from scratch?

Post by Sedat Canbaz »

lucasart wrote:DoubleCheck 1.0 was really written from scratch with zero foreign code, and this part was added later. Initially I was using my own implementation of rotated bitboards from an old (and really crappy) engine of mine.

Currently, the only non-trivial piece of foreign code in DiscoCheck is magic bitboards. It is well documented that it comes from Umko 1.2, by Borko Boskovic (GPL compliant). While this code is no game-playing code and has zero value by itself, it makes writing high level code (mainly eval) much more pleasant, and more efficient (in certain cases).

Now ask yourself this question:
* how do you consider that a closed source engine contains no foreign code? You blindly trust the author, and use similarity testing which is vaguely better than astrology. I can make a few trivial changes to Stockfish and pass the similarity tests, any day!
* open source engines have nothing to hide! anyone can scrutinize the source code and look for whatever they want. and they do!

NONE of the closed source engines included in SCCT have been scrutinized. And, until proven otherwise, I see NO REASON TO BELIEVE THAT THEY CONTAIN ZERO FOREIGN CODE. Why do you penalize open source and consider closed source above suspicion ?

Please don't talk to me about these idiotic similarity tests. They prove nothing. What they especially fail to do is demonstrate the ABSENCE of foreign code. I can assure you that anyone (even the lease competent programmer) can take Stockfish, tear it down and modify the eval enough so that it passes the similarity and release it closed source. And since this community considers closed source above suspicion and it passes similarity tests, it's clean! SERIOUSLY ?

Thanks for your response dear Lucas

And this is very normal that there will be such questions about engine

Don't forget you are on Top ! :)

Regarding the current issue,
I know very well that the simtest does not proof about X engine is a clone or original or derivative
But however, I think that Don's utility is a quite good indicator about
which chess engines have relationship or similarities with other chess programs

Or at least this great tool recognizes us about which chess programmers studied from X engine code
And as far as I noticed, many strong engines (mainly new releases) have similarities with Fruit 2.1

And these Fruit 2.1's similarity percentage numbers are going mainly between 40% - 50%

I really wonder,
Can you release a new version of Discocheck, where to have same Elo performance,
but where Discocheck vs Fruit 2.1 similarity percentage to be less than 40 % ?

Note: I have no doubt that your engine is original work... just out of curiosity I am asking this

Btw, why I prefer to check Simtest or CCRL's ponder hits:
- I am a little bit naive, but not so much :)

And there is a such saying in Russian:
Доверяй, но проверяй = Trust, but verify!


Greetings,
Sedat