1 At the time when you had contact with the computerchess scene for the last time, was there any form of contact either via direct talking or via ... I wished that I could inspire a debate about the given points. Thanks for now.

Your first post here and with such disrespect and arrogance. IMO, I think mods should ban you and not allow you to come back here.

Fully Agreed,

BTW, i checked about fabien, He lives in Lille (so that's correct) (Rijsel for the dutch people) and he's in the Lille Go club. He is the tresholder there.
I only lives 50km from Lille so i could check for all those who think it's a fake one....

Best
Johan

I suggest that Rolf should restrict himself to reading without posting in CCC.

Matthias.

Hi Mathias,

Yes, he would than be making significant progress from psychological point of view. '' Read first before writting any meaningless discussions''...

"I just want to clarify a few things. Sorry if that's old but there is some misunderstanding I need to fix, and I found out only yesterday. Bear in mind that I am mostly unaware of what has happened for five years though."

What is there to interpret? It seems perfectly clear and concise...

Professional discretion and decency, please. I'm not joking but to me it looks obvious. Actually I'm reading on page 18 and I could see that Fabien now completely agrees with you, Bob. Thanks for your feedback.

P.S. Also thanks to Ted for the link from 2008, when I still could be certain that Fab didnt take any offense by Vas. Also thanks to Dann Corbit who insisted that the possibility of potentially being able of doing something wrong isnt the same as if this wrongdoing already had been proven.

In that line I judge the position of Vas he has taken when he argued that either you can waste your precious lifetime with fighting Don Quichottes windmills or by using your talents to create the best computerchess entities what Vas surely became famous for in the last decade... On the other hand there is still way of space for activities to court cases. But also here I tend to believe you, Bob, who you claimed since long that you couldnt see realistic attempts into that direction, even not from your team of analysts.

So, we should just move on and watch how Vasik is winning Wch tournaments on and on.

Personally, as a chessplayer, I am looking forward to the so-called Rybka cloud which allows us all to use its analytical power for all our questions.

Already now I am very happy with tournament games transmissions on Chessbomb, with live analysis by a strong CC program (with Stockfisdh I guess because I saw even Tord lecturing about Rook endgames the other day.

So I can enjoy a cup of coffee in town and follow top chess events with my handheld!!

Let's all enjoy chess and the power of the (for humans) unbeatable machines. Of course this will open a new source of financial income for many programmers too. Let's all join this new epochee of CC in daily life.

bob wrote:Just for the record, to eliminate this specific argument, when Zach, CT, I and others looked at the fruit/rybka1 question, we did _not_ involve Strelka. Strelka was the thing that exposed the issue, but we directly compared fruit to rybka, so the strelka issue could not be raised again...

What happened then?

Fabien.

We found _lots_ of similarities. Zach created a web page that went into great detail with the analysis. There are some obvious differences between Fruit and Rybka, but there are a _ton_ of similarities. Too many to be pure luck.

But these similarities are not a proof of code copying.

Sven

If you look at my previous comments, "similarity" is "identical code". The entire program was not copied. But large chunks were. That _is_ proof of code copying...

Since large chunks were copied, but not everything, I chose to not say "identical" to be accurate. But they are _very_ similar. Moreso when you factor out the bitboard changes...

So your statement reads like this: "The proof of code copying is that large chunks were copied."

Sven

Or, "the proof of code copying is that we compared Rybka and fruit and found large chunks of duplicate code.:"

Sven Schüle wrote:
So your statement reads like this: "The proof of code copying is that large chunks were copied."

Sven

No, his statement is that if too-large-to-be-coincidental parts of code match, it doesn't matter that there are parts that don't for there to be proof of copying.

Somehow we can't get past this impasse. For me, blocks of code that match indicate copying. For others, any blocks of dissimilar code prove the engine is not a copy of anything. IE you either copy all, or nothing, but anywhere in between is treated the same as "nothing".

I don't agree, however...

I have had people copy 100% of Crafty, then change the internal strings used for output into German or whatever. I have seen people copy big chunks (like the eval) and get excluded from tournaments for that. I think the idea of copying code is simply distasteful. Ideas are great. Duplicated code is not...

bob wrote:For a translation from mailbox to bitboard, you just start at the coding stage and go.

The mapping from mailbox to bitboards seems surjective

For me, vice versa from bitboards to mailbox would be almost impossible. SIMD fill stuff everywhere, pawn-spans, pawn attack-spans, disjoint direction-wise SIMD kogge-stone fills rather than piecewise attack generation, zillions of patterns with set-wise operations, white to move always by color-flipping the quad-bitboard in make, etc..

If you use your head-exploding stuff, yes it might be a pain. But going to/from bitboards, in general, is a pure programming exercise. Assuming one can deal with arrays and with strings of bits reasonably well.

But we are talking about fruit to bitboards, here, and I find that translation process to be straightforward having done it once myself with CB to Crafty...

playjunior wrote:Can a top chess engine have good architecture at all? Doesn't it have to be over-optimized in a way that it nearly becomes a mess?

There isn't really any conflict between a good (high-level) architecture and a significant degree of (low-level) optimizations.
In C++ a lot of optimizations can be hidden in templates or classes, and become effectively hidden for the rest of the application.

It's a nice theory.

But it's only a theory.

I've yet to see practical evidence that it's possible to achieve that. Just look a the top open source engines.

I believe that there is clean code, and that there is fast code, but there is no clean code that is as fast as possible, and there is no fast code that is completely clean.

The architecture details dictate some aspects of programming if speed is important... Cache characteristics are not changeable as one example, one has to live with what we have and use it as efficiently as possible.

If you look at "blocked algorithms" that are designed to manipulate very large arrays, but work on cache-sized chunks for efficiency, nobody says that the extra loop required is clean. But it is fast...

"I just want to clarify a few things. Sorry if that's old but there is some misunderstanding I need to fix, and I found out only yesterday. Bear in mind that I am mostly unaware of what has happened for five years though."

What is there to interpret? It seems perfectly clear and concise...

Which might explain why ....

Rolf wrote:"Now I read that Fabien as the owner of Fruit didnt take offense by Rybka code."

One of the reasons this post is so long is that for some reason it did not fragment. For some reason many interesting threads get re-authored but this one didn't right away.

Don

JuLieN wrote:And here is an absolute useless post to celebrate the fact that this thread is now officially the biggest one ever on CCC!
(But it is one of mankind's aspects to celebrate about anything, so let's celebrate!)

At the moment I'm posting : 542 posts and 69049 views.

It wins on both charts :
- most posts (ancient record looks pale by comparison : 289 posts in the "Robbolito 0.09 New Edition VS Rubka 3" thread)
- most views (ancient record : 69043 in the "On Robots" thread)

Congrats and kuddos to all for this wonderfully useless achievement ^^