Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Crafty is Cray clone, yes/no/maybe, depends on the weather.
1 2 3 4 Previous Next  
- - By Alkelele (****) Date 2013-09-04 13:47 Upvotes 1
Bob, 2013-08-26:

"Crafty.  1995 creation. Completely written from scratch.  New programming language (C, Cray Blitz was written in Fortran).  New data structures (bitboards vs mailbox).  New programming approach using recursion (Early FORTRAN did not support recursion).  People can and DO write new engines from scratch. Several post questions and their source code on CCC asking for someone to look at something they are not sure about, for example.  SOME copy.  Not EVERYBODY."
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=480149#pid480149

Bob, 4 days later:

"You cite "Rybka is bitboard fruit is mailbox" as if one can't copy from one to the other. I did it in developing the early versions of Crafty.  I had a functional chess program, written in FORTRAN.  A program that worked, had a well-developed parallel search, and which was extremely strong.  I wanted to move to bitboards, AND to C, since FORTRAN is not exactly main-stream as it was in the 60's and 70's (it was the first language taught in MANY early CS programs).  Was Crafty original at the time?  Hardly.  Even though it was in a different programming language, using a different board representation, and using different design features such as recursion (which was not possible in early versions of FORTRAN). But it was clearly a copy/translate process.  What about today?  VERY DIFFICULT to find any traces of Cray Blitz left, directly.  I can think of a few places that look "similar".  Code to parse a FEN string.  Not spent much time fiddling with that since it has worked since the early 70's...  Repetition detection?  similar.  Search?  completely rewritten with nothing at all remaining.  making/unmaking moves?  Look nothing alike.  Evaluation?  Might be a couple of similarities still, but for the most part, all rewritten.  Multiple times.  Is Crafty today a derivative?  Much more difficult question. It played its first move in late 1994 (December in fact).  It was clearly a derivative then.  20 years later?  I don't think there's enough left to even talk about."
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=481024;hl=crafty%20cray

This may certainly seem confusing, so just to clarify:

1) Crafty is shining example of engine completely written from scratch.
2) Crafty is also shining example of a copy/translate derivative.

It all depends on the weather and whatever discussion we are trying to win today. But, never worry, Crafty will never let you down! Bonus: Be the first one to mention Crafty, and you automatically win the discussion!
Parent - By Carl Bicknell (*****) Date 2013-09-04 13:55
Crafty.
Parent - By Venator (Silver) Date 2013-09-04 13:59
This may certainly seem confusing, so just to clarify:

1) Crafty is shining example of engine completely written from scratch.
2) Crafty is also shining example of a copy/translate derivative.

It all depends on the weather and whatever discussion we are trying to win today. But, never worry, Crafty will never let you down!


LOL!! Priceless :lol: :lol: :lol:
Parent - - By John (**) Date 2013-09-04 14:01
Funny, Hyatt even calls Crafty a "derivative". But I am sure there is a perfect explanation for this!
Parent - - By bob (Gold) Date 2013-09-04 15:40
A derivative of an original program _I_ wrote.  Just as version 23.1 is a derivative of 23.0, 23.2 is a derivative of 23.1.  Does not make them "non-original" in the context of same author or different authors.  I wrote em "ALL".  Starting with "blitz" back in the late 60's...
Parent - - By John (**) Date 2013-09-04 15:52
Then why call it a "derivative"? You are such a funny guy, mr Hyatt!
Parent - - By bob (Gold) Date 2013-09-04 16:07
It was "derived from".  Not a derivative according to rule two, for the reason I just cited in another post.  Rule two excerpt:  "Programming teams whose code is derived from or including game-playing code written by others must name all other authors".  Cray Blitz and Crafty had one AUTHOR.  Me.  I brought this up in the context of "copy and modify" because I actually did it, rather than as everyone here has done and "just talked about it without knowing a damned thing about it."  It is a straight-forward process that does not produce original code.  It produces an identical (semantically) copy.  If the original program was yours, and it was written only by you, then the copy is just as original as the the first, according to rule 2.  A person technically can't copy his own code and be considered guilty of copying, except HERE.

simple enough?
Parent - - By John (**) Date 2013-09-04 16:12
According to marcelk Cray Blitz had more than one author.

And how about Pradu Kannan's magic bitboard code? He surely is not on the ICGA entry form, now is he?
Parent - - By bob (Gold) Date 2013-09-04 20:01
Cray Blitz had ONE author.  Always did.  I'd have look at the application stuff, but generally I mention magic move generation, nalimov EGTBs.  But the ICGA and participants had already agreed that both of those can be included without any originality issues.  Ergo, this means zero.  Nada.  Just more nonsense.  About ALL you can deliver, based on appearance...
Parent - - By John (**) Date 2013-09-05 15:28
Many disagree about your Cray Blitz "one author" story. History repeats itself, again.

You haven't mentioned mr Kannan's name in several Crafty versions, as I have found out reading the posts of today. The "nonsense department" therefore can once again welcome another Hyatt story.
Parent - - By bob (Gold) Date 2013-09-05 17:26
I really don't care.  blitz/cray-blitz was a pure "solo author" until 1982 or so when Harry joined up with me, because he thought he could help with speed by rewriting key FORTRAN functions in asm.  Harry then retired a couple of years before CB was retired, and at least a half-dozen new versions were done after he retired.  Crafty is what it is, a one-author program with a few bits and pieces written by others as has been discussed.

So disagree all you want, doesn't matter at all.
Parent - - By John (**) Date 2013-09-05 18:35
Copying a Fruit table, not mentioning mr Kannan (breach of his EULA), not mentioning mr Nelson as co-author......

It is all adding up, don't you agree?
Parent - - By bob (Gold) Date 2013-09-05 18:41
Nope.  Harry was NEVER a co-author of Crafty.  Didn't write one line of the code.

Keep dreaming.  Kannan was mentioned in the comments for at least the last year or so when I noticed the omission.  There is NO requirement to mention his (or anyone's) name in the comments, that is your distorted imagination.

No fruit table was copied, the version with the similar table NEVER competed in an ICGA event, the similar table was replaced quickly.  End of story.

Try to find something else.
Parent - - By John (**) Date 2013-09-05 18:58
Your usual tactic: deny everything.....

Meanwhile, there are "three strikes", which means you are out.

The ICGA condemned mr Rajlich on the basis of "evidence" found in versions that did not play in the WCCC's from the verdict. So you should get a ban yourself, based on the current evidence, which is far more clear cut than Rybka's.

To use your own words: one table copied doesn't mean anything yet. Two cases of plagiarism is getting dubious. Three is the hammer blow.
Parent - - By user923005 (****) Date 2013-09-05 19:33
I think that Bob's arguments on the origins of Cray Blitz are sufficient to show that he has complete ownership of the crafty code.

Just because he's Bob, that doesn't necessarily make him wrong.
Parent - - By Nelson Hernandez (Gold) Date 2013-09-05 20:10
No, but one can make the presumption of mendacity.
Parent - By user923005 (****) Date 2013-09-05 21:01
He owned up to the Pradu Kannan screw up. Why wouldn't he own up to this claim?
Parent - By John (**) Date 2013-09-06 06:10
Because mr Hyatt has mislead me on several occasions, making false statements in the process, I am sceptical. I had a huge respect for him until I visited this forum, where he blew it away quite quickly. Unfortunately he acts like a God figure who is always right, never does something wrong and bashes intelligent people coming up with strong counter arguments. Therefore I have the strong feeling he wants to force an opinion on me, no matter how wrong it is.

It is up to him to earn respect and credibility. At this moment I am of the opinion that anything he says can be wrong or right.
Parent - - By bob (Gold) Date 2013-09-06 01:05
There is ZERO plagiarism in Crafty.  Pradu's code is there solely because he directly gave me permission to use it, before he made his code public in a easy-to-download form.  Don't care whether you like it or not.  I have NEVER made the statement "magic move generation code is my original work."  Not a single time.  I have ALWAYS credited Pradu when the topic comes up.

grow up...
Parent - - By John (**) Date 2013-09-06 06:14
The Fruit table is a clear example. Elsewhere mr Schröder has posted that you have your own 0.0 gate. So sorry, once again you are misleading me.

You've lost my respect and your own credibility and you are not really trying to earn it back.
Parent - - By bob (Gold) Date 2013-09-06 16:03
I have NO 0.0 gate.  There are reasons for all of the FP stuff I did.  The 0.0 is an error.  Produced by early versions using a floating point value, before I decided to convert to int.

But my book learning code was not copied from ANYONE.  Crafty was the first open-source book learning program around.  I think the only other program that did book learning at the time was Mchess Pro, in fact.  NOTHING copied.  Quite unlike the fruit/rybka and crafty/rybka cases...

I really don't care whether I "earn it back" from you at all.  You are in over your head, making silly statements, and imagining that you are scoring points.
Parent - - By John (**) Date 2013-09-06 16:07
There are many people "scoring points" against you. You are sofar behind, that your coach already threw in the towel long time ago. But you didn't notice.

Fruit table and all the things you tried from Fruit, Toga and Glaurung. Non-literal copying. In football (soccer) terms you are 20-0 behind.
Parent - - By bob (Gold) Date 2013-09-06 17:13
I am still waiting for someone to show me "non-literal copying".  MY LMR code has absolutely no connection with fruit/glaurung/any other program, other than the "idea" of reducing the search as you get deeper into the move list.  HOW they do that is far different from how I do it.  Feel free to point out this "non-literal copying" you like to imagine.  The LMR code in Crafty is in file search.c.  You can even focus on the first Search() function in that file and ignore SearchParallel() if you want.  That makes it easy to find and compare to Fruit or glaurung or stockfish or robolito or whatever you want.  How about not posting any more until you discover that non-literal copied code and point it out here for everyone to look at???
Parent - - By John (**) Date 2013-09-06 17:26
You have been taking detailed notes from these programs. By your own admission, you cannot code an idea without it. As you admitted 'you have tried everything from Fruit, Toga and Glaurung' (see the CCC post), this is tantamount to: you have taken detailed notes, otherwise you could not have tried all these ideas. And detailed notes are non-literal copying. Your own words.

It is a pity you cannot even recognize your own goals.....
Parent - - By bob (Gold) Date 2013-09-06 18:27
I have not taken detailed notes from ANY program, sorry.  Nor is there any code in Crafty that looks anything like those programs.  Feel free to look.  If you don't post again until you find something, so much the better...

Where did I even suggest one can not program an idea without detailed notes?  I can think of dozens of things I have implemented with only an idea.  My rotated bitboard stuff for example.  Where did those "detailed notes" come from when no one had thought of the idea even?

such nonsense...

It is a pity you can't recognize how imbecilic your arguments are...
Parent - - By John (**) Date 2013-09-06 18:39
It is time you start remembering what you wrote. It is not about my argument; what I stated above were your own words. So what you really claim, is that your own words are imbecilic arguments. Of course we are in full agreement over that. It is just another own goal, in a mere 2 posts. Which is quite an achievement.
Parent - - By bob (Gold) Date 2013-09-07 00:20
Feel free to show me a quote that says I took "detailed notes".  I mentioned the concept in regard to Fruit/Rybka.  Never in regard to my development.

Sorry.

Your lack of comprehension does not constitute a breach of etiquette on my part.
Parent - - By John (**) Date 2013-09-07 05:16
You have been found doing so (making detailed notes) here, in this discussion:

http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=482544;hl=Toga

Funny that you already forgot it. Read all the posts leading up to your reaction(s).

Thus: not a lack of comprehension on my part, I am just repeating something others have found out.
Parent - - By bob (Gold) Date 2013-09-07 14:51
No detailed notes at all.  I tried some history ideas that were original.  None worked.  I tried something similar to what Fruit was doing.  Didn't work.  I removed history counters from fruit itself, did not HURT whatsoever.  In short, any history-based approach did not work for me, and to convince me it was not just an implementation issue, I removed it from Fruit and found that it was not helping there either.  To this day there is no history counter stuff in Crafty.  Sorry.  It just is not there.

When looking at fruit, I didn't even have a pencil.  History Heuristic (Schaeffer) was well known in the 80's.  Didn't need to take any notes.  I looked to see how fruit made the reduction decisions, and tried a lot of different approaches to limit reductions.  Zilch.  End of story.  No "detailed notes".  I like the way you want to argue 'You can't know what Vas did", but "you can certainly know what I did"...  really consistent.  Shows "equal treatment" and all that...
Parent - - By John (**) Date 2013-09-07 15:37 Edited 2013-09-07 15:40
I am sure many ideas are complex and you really have to write down bits and pieces to remember them. No big deal, unless you are going to claim it is 'code copying'.

And surely you had a pencil when looking at Fruit, we were not in the Stone Ages, were we!?
Parent - - By bob (Gold) Date 2013-09-08 06:27
I do NOT look at other chess programs and write down detailed notes.  If I see (or hear on CCC) about an interesting idea, I will write the basic idea down, add it to my to-do list, and work on it when I have time.  Detailed notes?  NO.

One can look at a program, to see specifically what "history pruning" is all about.  I actually did not even look, as it was discussed on CCC many times.  Didn't need detailed notes, because it would not have "fit" into Crafty as implemented in Fruit.
Parent - - By user923005 (****) Date 2013-09-08 06:56
You did study LMR for at least 4 weeks in three other programs though.  Correct?
Would you agree that 4 weeks of study and concentration are at least as good as one hour of careful note taking?
Parent - By Banned for Life (Gold) Date 2013-09-08 07:10
It drives me crazy when you guys let Bob drive the conversation into a blind alley...

Repeat after me:

THERE IS NOTHING WRONG WITH CAREFUL NOTE TAKING.
CAREFUL NOTE TAKING IS A VALUABLE SKILL TAUGHT IN GOOD ENGINEERING SCHOOLS AND USED BY GOOD ENGINEERS AT GOOD COMPANIES.


I'm not surprised that Bob doesn't take good notes, but this is a weakness, not a strength...
Parent - - By bob (Gold) Date 2013-09-08 14:18
No I didn't.  I looked at Fruit and saw the history counter idea.  It had been discussed on CCC previously, btw.  Glaurung did not use history.  I spent a month trying DIFFERENT history counter ideas that started with Schaeffer's simple idea, and ended with the history counter I discussed on CCC, one which I believe Glaurung switched to.  One which stockfish today uses.  I tried quite a few different ways of measuring "history".  Not 4 weeks studying fruit/glaurung.  Glaurung had about 8 lines of code in its LMR code, for example.  It is remarkable how you want to distort any statement and change it to read as you see fit in trying to make a month.  I don't quite follow the "three other programs, either".  Fruit was the primary example of using history information.  Glaurung used no history information to do LMR.  Fruit did. 

To your question, NO.  Because I didn't study glaurung/fruit for even 30 minutes total.  My time was spent writing my own code, trying a number of different ideas, before settling on the simple approach I use today, still.  Clear enough?
Parent - - By Rebel (****) Date 2013-09-08 19:27
Robert Hyatt - I've tested everything in Glaurung 2, fruit 2, toga 2

I am tired of your word games.
Parent - - By bob (Gold) Date 2013-09-09 00:28
The context, ah, the context.  Do you remember?  Hint "LMR ONLY".

Not "everything".  Glaurung did LMR one way.  Fruit another.  I did not test anything in toga2 as they are clones of fruit.  Don't know why that is in the discussion.

Fruit has 10-12 lines of LMR code.  Glaurung close to that.  Not exactly large.  I ended up doing something completely different from either.  Stockfish moved back to using history counters.  I have not had history counters in years.  SO what "word games"?  You are the game-player here.  You KNOW that was about reductions ONLY.

Context matters.  When you remove it, it shows distortion and dishonesty...
Parent - - By Rebel (****) Date 2013-09-09 09:43
Answered you in a new thread.

Wish you well.
Parent - - By bob (Gold) Date 2013-09-09 13:23
What, EXACTLY, does that nonsensical "new thread" have to do with my post?

You quoted something out of context.  I pointed it out.  You completely branch off into something unrelated?
Parent - By Rebel (****) Date 2013-09-09 17:50
What, EXACTLY, does that nonsensical "new thread" have to do with my post?

That you had enough attention.
Parent - By Venator (Silver) Date 2013-09-06 07:53 Edited 2013-09-06 08:02
There is ZERO plagiarism in Crafty.

You mean There is 0.0 plagiarism in Crafty? That appears to be correct :lol:

Non-literal copying of Fruit, Toga and Glaurung, with many to do things on your list. I bet there is A LOT more to come.

Pradu's code is there solely because he directly gave me permission to use it

You should have credited him in ALL Crafty versions and follow the rules he stated in his EULA. No matter how you want to twist it: YOU are wrong. And it means you are not the guy with high moral standards following the rules of ethics.
Parent - - By Banned for Life (Gold) Date 2013-09-06 04:56 Upvotes 1
Kannan was mentioned in the comments for at least the last year or so when I noticed the omission.  There is NO requirement to mention his (or anyone's) name in the comments, that is your distorted imagination.

This is wrong. Mr. Kannon retains copyright to his work. He has established a EULA defining what must be done to obtain permission to use his work. The conditions established in his EULA are clearly defined and are not onerous. They could be enforced if he so chose.

The fact that he gave you (and everybody else) permission to use his work, does not free you from the reasonable attribution requirements he laid down.

This is all academic of course. No doubt Mr. Kannon has better things to do than chase after people who are abusing his gift to the engine chess community. But since you are always pretending to be such a righteous guy, you should at least try to follow the rules...
Parent - - By bob (Gold) Date 2013-09-06 18:42
This is not wrong.  Pradu gave me permission to use his code before he made any sort of a distribution, period.  As explained.  The code I use was snipped here and there from CCC and winboard as the magic stuff evolved.  I think there are even better versions available today, but it never seemed worth the trouble to "catch up" since what I have works just fine and is not a performance bottleneck in my code...

I didn't abuse anything.  I actually TALKED with him about it.  Dream on.
Parent - - By Banned for Life (Gold) Date 2013-09-06 18:59
This is not wrong.  Pradu gave me permission to use his code before he made any sort of a distribution, period.  As explained.

That is wrong. Pradu gave everybody permission to use his code, but he didn't necessarily give anybody, including Bob, permission to use his code without attribution. The timing isn't relevant of course. Your opining that his code was in the Public Domain was untrue and potentially damaging to his reputation.

I didn't abuse anything.  I actually TALKED with him about it.  Dream on.

You are abusing his EULA. It doesn't matter if you talked with him about it, unless he specifically told you that you didn't need to bother with attribution. Ideally you would have gotten this in writing. Of course it's not likely he actually told you this, since he isn't asking for much...
Parent - - By bob (Gold) Date 2013-09-07 00:19
Sorry, but you simply have no idea what you are talking about.  At the time of MY discussion with him, he had no public source kit available, no copyright notices, no nothing.  I did give him credit in my source.  I did lose his name due to an error.  His name WAS added back a couple of versions back, perhaps a year ago.  ALL versions have had the comments fixed once I became aware there was a problem.

Keep babbling.  Or contact Pradu.  Perhaps HE can "set you straight"...  There WAS no EULA when he gave me permission to copy his code.  I had to extract bits and pieces from two message boards. And piece them together, and add code to make it work in Crafty.
Parent - - By Banned for Life (Gold) Date 2013-09-07 02:28
At the time of MY discussion with him, he had no public source kit available, no copyright notices, no nothing.

You seem to be under the mistaken impression that a copyright notice is required. It's not.

Keep babbling.  Or contact Pradu.  Perhaps HE can "set you straight"...

This is not about Pradu. It is about your handling of Copyright material and other peoples EULAs.

There WAS no EULA when he gave me permission to copy his code.

You have distributed his code many times since his EULA became available. You are not grandfathered in for use of his Copyright material.

I had to extract bits and pieces from two message boards. And piece them together, and add code to make it work in Crafty.

Your code clearly incorporates elements of his code. You should be following his EULA.
Parent - - By bob (Gold) Date 2013-09-07 15:04
There was no EULA.  None.  So you might as well drop that.  His final release appears to have one, but not when I was talking with him and getting permission to cut/paste from his fora posts...
Parent - - By Banned for Life (Gold) Date 2013-09-07 15:43
There was no EULA.  None.  So you might as well drop that.  His final release appears to have one, but not when I was talking with him and getting permission to cut/paste from his fora posts...

Proving once again that you know less than nothing about IP rights. You have made countless additional releases since he established his EULA, and the suggestion that he offered you use in perpetuity, and also encouraged you to claim on forums that his code was Public Domain, is simply not credible. Let's face it; You are a dirtbag.
Parent - - By bob (Gold) Date 2013-09-08 06:24
I took EXACTLY what he offered at the time, and I made that a part of Crafty.  I have not downloaded any new material from him.  He has not asked me to download any new material or to include any specific copyright information.  I've cited his name. 

Don't really care what YOU think.  Feel free to contact Pradu if you want.  Perhaps he can convince you.

He IS the author...
Parent - By Banned for Life (Gold) Date 2013-09-08 07:06
Your students will have a lot to unlearn if they enter the commercial workplace.

I doubt that Mr. Kannan will lose any sleep if he finds out that you are abusing his EULA and telling people that his code is in the public domain. After all, there is no money involved, and he has moved on to bigger and better things. But if you did this kind of thing in the commercial workplace, it could cost a lot of money to clean up the mess you made, all because you consider yourself to be special.
Parent - - By RFK (Gold) Date 2013-09-07 02:16 Edited 2013-09-07 02:24
Computer Chess[edit source | editbeta]
In 1980, Nelson came across a copy of the chess program Cray Blitz written by Robert Hyatt. Using his detailed knowledge of the Cray-1 architecture, Nelson re-wrote a key routine in assembly language and was able to significantly speed up the program. The two began collaborating along with a third team member, Albert Gower, a strong correspondence chess player. In 1983, Cray Blitz won the World Computer Chess Championship, and successfully defended its title in 1986

"Blitz" may have been the program that you started as a student, but  Crafty "is the successor to Cray Blitz"

That would make Crafty a "derivative" of Cray Blitz ! 

Did you ever cite  Harry Nelson for being a co-programmer of Cray Blitz?
Up Topic Rybka Support & Discussion / Rybka Discussion / Crafty is Cray clone, yes/no/maybe, depends on the weather.
1 2 3 4 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill