Strelka = Rybka 1.0 =Fruit 2.1 = Toga?? Oh how disappointing

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

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka = Rybka 1.0 =Fruit 2.1 = Toga?? Oh how disappoin

Post by Dann Corbit »

OliverBr wrote:
bob wrote:
OliverBr wrote:
bob wrote:
Uri Blass wrote:
Peter Aloysius wrote:You're completely wrong.

Strelka is already proven to not contain any part of Rybka code, because Yuri is smart enough to change variables name. He is also smart enough to change the order of variables declaration.

He is completely right when he think he can fool us all.
I am convinced that strelka contains parts of Rybka's code but I am
not convinced that Rybka contains part of Fruit's code(Strelka also contains very little of Fruit from my point of view and some programmers including Tord Romstad said that Strelka is an original engine after looking at the source).

I remember Tord writing that Strelka is original as his own engine.

The claim that Strelka is based on Rybka1.0 is accepted by most people and this is the reason that Strelka is not tested by organizations like CEGT.

Uri
Occasionally I almost fall out of my chair laughing at things posted here. "accepted by most people"???? :)

The _author_ of Rybka has claimed Strelka as his own code. I'd think that is evidence enough for any rational thinking person...
But the _author_ of Strelka is denying it. So it's his word against his. I am only sure of that formula:

OliThink != Crafty != Glaurung != OliThink.
I don't follow. The author of Strelka specifically stated that he "reverse-engineered" Rybka, then made some improvements.
I don't follow either. All this is very confusing.
So I have a queation to you respecting Crafty:

I use Crafty 21.4 Win32bit here on my machine and do a lot of testing with Arena. When a tournament is finished, my file system is full of files called log.* game.* *.lrn etc..etc... And they become more and more...

For what purpose do Crafty create all those files?! It doesn't use them in later games, or does it?

Code: Select all

White(1): help
command synopsis

!command....................... passes command to a shell.
adaptive NPS a b c d........... enables adaptive hash mode.
alarm on|off................... turns audible alarm on/off.
analyze........................ analyze a game in progress.
annotate....................... annotate game
ansi........................... toggles reverse video highlighting.
bench.......................... runs performance benchmark.
black.......................... sets black to move.
book........................... controls book
cache=n........................ sets tablebase cache size.
clock.......................... displays/adjusts chess clock times.
display........................ displays chess board.
display [n].................... sets display options
draw accept|decline............ decline always declines.
draw offer|nooffer............. nooffer never offers a draw.
drawscore n.................... sets default draw score.
echo........................... echos output to display.
edit........................... edit board position.
egtb........................... enables endgame database probes.
epdhelp........................ info about EPD facility.
end............................ terminates program.
<return> for more...
evaluation..................... adjust evaluation terms.
exit........................... restores STDIN to key.
force move..................... forces specific move.
hash n......................... sets transposition table size.
                                 &#40;n bytes, nK bytes or nM bytes&#41;.
hashp n........................ sets pawn hash table size.
history........................ display game moves.
import filename................ imports learning data (.lrn files&#41;.
info........................... displays program settings.
input filename &#91;title&#93;......... sets STDIN to filename, and positions
                                 the file at the line containing 'title'.
kibitz n....................... sets kibitz mode n on ICS.
learn n........................ enables/disables learning.
level moves time inc........... sets ICS time controls.
list........................... update/display GM/IM/computer lists.
load file &#91;title&#93;.............. load a position from problem file.
log on|off..................... turn logging on/off.
mode normal|tournament......... toggles tournament mode.
move........................... initiates search &#40;same as go&#41;.
name........................... sets opponent's name.
new............................ initialize and start new game.
noise n........................ no status until n nodes searched.
operator seconds............... sets operator time per move.
<return> for more...
perf........................... times the move generator/make_move.
perft.......................... tests the move generator/make_move.
personality save|load fn....... saves/loads a personality file.
pgn option value............... set PGN header information.
ponder on|off.................. toggle pondering off/on.
ponder move.................... ponder "move" as predicted move.
read &#91;filename&#93;................ read moves in &#40;from &#91;filename&#93; if given.)
reada &#91;filename&#93;............... read moves in &#40;from &#91;filename&#93;&#93;) and append.
                                 &#40;appends to current game history.)
reset n........................ reset game to move n.
resign m n..................... set resign threshold to m pawns.
                                 n = # of moves before resigning.
savegame &#91;filename&#93;............ saves game in PGN format &#40;to filename&#41;.
savepos &#91;filename&#93;............. saves position in FEN string &#40;to filename&#41;.
score.......................... print evaluation of position.
sd n........................... sets absolute search depth.
search move.................... search specified move only.
selective min max.............. set null move depths.
setboard FEN................... sets board position to FEN position.
settc.......................... set time controls.
show book...................... toggle book statistics.
sn n........................... sets absolute search node limit.
speech on|off.................. enables &#40;disables&#41; audio output.
<return> for more...
st n........................... sets absolute search time.
store val...................... stores position/score &#40;position.bin&#41;.
swindle on|off................. enables/disables swindle mode.
tags........................... list PGN header tags.
test file &#91;N&#93;.................. test a suite of problems.
time........................... time controls.
timebook....................... out of book time adjustment
trace n........................ display search tree below depth n.
usage percentage............... adjusts Crafty's time usage up or down.
whisper n...................... sets ICS whisper mode n.
white.......................... sets white to move.
wild n......................... sets ICS wild position &#40;7 for now&#41;.
xboard......................... sets xboard compatibility mode.

Type "help command" to see more detailed help information, if it is
available.  Note that help is not available for all possible commands.
White&#40;1&#41;&#58;
So "log off" in the crafty.rc file (on Windows) or .craftyrc file (On unix) is what you need.

P.S.
Every winboard engine needs a help command so we can know what commands are allowed (I know feature is something like this but it does not cover all the bases -- such as processing an EPD set or other non-winboard commands that an engine might handle).
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka = Rybka 1.0 =Fruit 2.1 = Toga?? Oh how disappoin

Post by Dann Corbit »

Peter Aloysius wrote:You're completely wrong.

Strelka is already proven to not contain any part of Rybka code, because Yuri is smart enough to change variables name. He is also smart enough to change the order of variables declaration.

He is completely right when he think he can fool us all.
Since Rybka came as a binary, there are zero variable names available and the order is likely permuted by the compiler anyway (at least compared to the original source).

Or, rather, the variable names that Yuri saw will be goofy things like:
dword_66D620 dd ? ; DATA XREF: .text:0040E6C7
After the disassembly engine finishes.

I think we can safely say that Strelka is full of Rybka ideas (in fact, Vas has confirmed this). The most important of which are probably the material imbalance tables, which seems quite novel to me as far as other programs that I have examined.

Rybka's original notes indicated that Rybka was inspired by Fruit and it was clear that Vas had studied Fruit (And glaurung among others) extensively.

Whether Vas has gone beyond some line in taking ideas or not is a matter of conjecture. There is not enough evidence to decide either way in my opinion.

Even whether Yuri has done something illegal or not is not clear to me. It is clear to me that he originally hid the derivations of Strelka as coming from both Fruit and Rybka, and that was at least intellectually dishonest.

In my opinion, we should decide for ourselves. Anyone can get Rybka 1.0 and Strelka and Fruit and disassemble them to compare the assembly output.

I disassembled Rybka 1.0 with 3 different decompilers:
Directory of C:\chess\winboard\Rybka

04/30/2008 04:04 PM 30,505,744 rybka.asm
08/26/2008 07:07 PM 30,505,740 rybka1-0-ida.asm
08/26/2008 03:10 PM 27,991,429 rybka1-0.asm
3 File(s) 89,002,913 bytes

And I disassembled Strelka 1.0 with 2 different decompilers:
Directory of C:\chess\winboard\strelka

08/26/2008 07:10 PM 19,434,578 strelka1-0-ida.asm
08/26/2008 06:35 PM 17,032,525 strelka1-0.asm
2 File(s) 36,467,103 bytes

One thing we notice is that Rybka is 10 MB bigger than Strelka. So the claims that they are line for line identical except for 1 or 2 lines are simply ludicrous. The IdaPro disassembly engine also creates really nice flow charts and call graphs. The flow charts and call graphs for these two chess engines are very different.

Rybka and Strelka are primarily bitboard engines and Fruit is not.
Rybka and Strelka both parse with strtok() inline (but the UCI parsers are not the same).

Ummm...
That's about it from my standpoint.
I hope we don't get into another: "He's a cheater -- No he's not!" debate.
I don't see those as ever going anywhere.
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: What happened to moderation?

Post by Dann Corbit »

OliverBr wrote:
Graham Banks wrote:
OliverBr wrote:Why doesn't Rybka's author public its sources?
People should invent their own engine!


My big respect for the great programmers Bob Hyatt and Tord Romstadt and their fantastic programms that are OPEN SOURCE and no clones.

-Oliver
Why does this thread remain when the moderators have made their position clear here?
http://www.talkchess.com/forum/viewtopic.php?t=23021
Hi Graham,
sorry, I didn't want to bother anyone here, especially not you. I was quite surprised about what I read and wanted to discuss it, not more. Furthermore, as the moderators mentioned, I did start my thread with 2 question marks.
I hope, you understand.

Regards,
Oliver
You missed the earlier fun, evidently.
Search for :
strelka rybka fruit
with "Search for all terms" checked and you will see lots and lots of posts about it.
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: What happened to moderation?

Post by Dann Corbit »

swami wrote:
Zach Wegner wrote:Swami and I agreed that it's not an accusation (and Chris is away for holidays). The thread title has a question mark, it doesn't make any statements. However, if the thread continues on this meta-discussion path it will likely get locked.

Oliver had earlier written "Rybka" instead of "Rybka 1.0". I asked Oliver to give permission for mods to edit the engine name to include version number in it else we would delete the whole thread,He agreed.

Previous discussions about this same topic were allowed as it was about Rybka 1.0, as long as there no words about the commercial Rybka. I don't understand why we shouldn't allow this?

On a side note, I have on numerous occasion stated that I believe Rybka 1.0 to be genuine and completely Vas's work. But Mods can't just squash the discussion, this is not an accusation as Zach had pointed out.
As an aside:
I do not believe that any working chess engine is completely the work of one author. In fact, 90% of the ideas in every chess engine are borrowed from somewhere.

IID, Null move, PVS, alpha-beta, mobility, history heuristic, etc. were all invented by someone. But not the same person. So every decent chess engine borrows from others and borrows a-plenty.

IMO-YMMV.
User avatar
Graham Banks
Posts: 41510
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: What happened to moderation?

Post by Graham Banks »

OliverBr wrote:
Graham Banks wrote:
OliverBr wrote:Why doesn't Rybka's author public its sources?
People should invent their own engine!


My big respect for the great programmers Bob Hyatt and Tord Romstadt and their fantastic programms that are OPEN SOURCE and no clones.

-Oliver
Why does this thread remain when the moderators have made their position clear here?
http://www.talkchess.com/forum/viewtopic.php?t=23021
Hi Graham,
sorry, I didn't want to bother anyone here, especially not you. I was quite surprised about what I read and wanted to discuss it, not more. Furthermore, as the moderators mentioned, I did start my thread with 2 question marks.
I hope, you understand.

Regards,
Oliver
Don't worry about it. I'm too upset by the loss of one of my little kittens to start giving anybody a hard time at present anyway. :cry:

Cheers, Graham.
gbanksnz at gmail.com
Tony Thomas

Re: What happened to moderation?

Post by Tony Thomas »

Graham Banks wrote:
OliverBr wrote:
Graham Banks wrote:
OliverBr wrote:Why doesn't Rybka's author public its sources?
People should invent their own engine!


My big respect for the great programmers Bob Hyatt and Tord Romstadt and their fantastic programms that are OPEN SOURCE and no clones.

-Oliver
Why does this thread remain when the moderators have made their position clear here?
http://www.talkchess.com/forum/viewtopic.php?t=23021
Hi Graham,
sorry, I didn't want to bother anyone here, especially not you. I was quite surprised about what I read and wanted to discuss it, not more. Furthermore, as the moderators mentioned, I did start my thread with 2 question marks.
I hope, you understand.

Regards,
Oliver
Don't worry about it. I'm too upset by the loss of one of my little kittens to start giving anybody a hard time at present anyway. :cry:

Cheers, Graham.
What happend to the kittne? Ran away? Time to get them fixed.

Argh: I read what happend in your cat thread.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: What happened to moderation? Why Zach &Swami are wro

Post by Rolf »

Dann Corbit wrote:
swami wrote:
Zach Wegner wrote:Swami and I agreed that it's not an accusation (and Chris is away for holidays). The thread title has a question mark, it doesn't make any statements. However, if the thread continues on this meta-discussion path it will likely get locked.

Oliver had earlier written "Rybka" instead of "Rybka 1.0". I asked Oliver to give permission for mods to edit the engine name to include version number in it else we would delete the whole thread,He agreed.

Previous discussions about this same topic were allowed as it was about Rybka 1.0, as long as there no words about the commercial Rybka. I don't understand why we shouldn't allow this?

On a side note, I have on numerous occasion stated that I believe Rybka 1.0 to be genuine and completely Vas's work. But Mods can't just squash the discussion, this is not an accusation as Zach had pointed out.
As an aside:
I do not believe that any working chess engine is completely the work of one author. In fact, 90% of the ideas in every chess engine are borrowed from somewhere.

IID, Null move, PVS, alpha-beta, mobility, history heuristic, etc. were all invented by someone. But not the same person. So every decent chess engine borrows from others and borrows a-plenty.

IMO-YMMV.
Since everybody, included two moderators, is claimimg that here in this thread no accusations have been made, I must contradict and hereby make a serious accusation on logical grounds. It's unbelievable that I as a foreiner must again lecture about accusations, libel and criminal laws, and not only that, but also about logic and rational reasoning, which is thankfully valid all over the planet, well, otherwise I couldnt take part in such a horrible and dirty debate in English, in particular US-English.

Dann, you will remember that I already have accused you in a friendly manner, that you wouldnt enough speak out in openess what you know and what is rationally reasonable to follow from the known facts. Here you leave out something important, which must really hurt some of our best authors. Following the logic and the facts you have presented, we must conclude that CRAFTY, such an outstanding own and original and genuine and, so help me God, OPEN, program, is to 90% standing on borrowed material, multiple material, so that it cant even be proven to be a clone of a singular former entity. Sorry, but that I had wished you would have spoken out in all clarity. Why? Because it says a lot about the n-th revelation of something allegedly suspicious in connection with RYBKA 1.0, and please also to you the plea, dont ever speak of just 'RYBKA' if you make statements about RYBKA 1.0 or beta.

Now you made a very strong message or statement, that you would believe that RYBKA 1.0 is genuinely Vas' work, but you then say that Zack or Swami, I add, cant just squash a debate (I would ask you to explain what debate you have seen), when no accusations have been made.

I dont like this little twist of what is really going on here. Because I see well that accusations have been made by the thread opener. But it's understandable that Zach doesnt realise it because the accusations are more or less insinated as if talking about a suspicion that basically would tell the truth. Well, in such a context, then the assumption, the hesitated thoughts become the allegation that is normally forbidden to make under that ordered message by the moderation itself. Debate yes, libel no.

And here the circle is closing: we have Bob Hyatt, "author" of CRAFTY, based to 90% on borrowed material (source Dann Corbit), who invites sarcastically all rationally thinking readers to make their own conclusions about RYBKA (1.0 or whatever), which is either also to 90% standing on your mentioned borrowed material - or - totally illogical! - being his own work by Vasik Rajlich, following your second Corbit Statement.

You know what I want to tell you? How in Heaven a 90% borrowed stuff can be a genuinely own work by someone? More, if this is the case, and I have no reason to think otherwise, then about what wrong or illegal or unacceptable are we talking here for years?? Two question marks, I follow that thread opener. And if that questioner is repeating the pleasing topic, at least for Zach, shouldnt the mods intervene? Especially if we are talking now about a program that is in the meantime the World Champion and much stronger than everybody else's thing, called RYBKA 3? Or do we here dome archeological studies to always being able to insult, or insinuate such stuff, that in effect does insult, the original work at the time being at the start of Vasik's own work?

Look, I ask all readers, rational thinkers or not, to explain to me and all, how someone could just - potentially - borrow or take, protected code and then being the only one on this Earth who can profit from that deal? Nobody else were able to do something similar? - in other words, doesnt that PROVE beyond doubts, almost scientifically and logically, that Vas is the best of all programmers alive???!!!

And if this is true or at least trustable, isnt it another smear act to then write the following lines, not in the header, but in the text body of the very forst message of this thread?

QUOTE:

Why doesn't Rybka's author public its sources?
People should invent their own engine!


My big respect for the great programmers Bob Hyatt and Tord Romstadt and their fantastic programms that are OPEN SOURCE and no clones.

-Oliver

QUOTE END

I mean cant the mods read the English text and its meaning? Is there no educated common sense that tells these experts what the author is practically insinuating here? I at least can understand what he wrote. And I'm not even a native speaker of English.

But if these mods cant read properly, shouldnt you, Dann, at least explain in detail what that what you wrote in a self-contradictional confusioning, that always 90% are standing on borrowed material and only these 10% are in question and for these you have stated that it's Vasik's own work? And for all that experts should therefore be very careful with their own messages wehere they potentially alleged always into the 90% part which is really so fruity to elaborate endlessly?

All the best from my side and I apologize for the lengthly message which might have overstressed the patience of many fast readers...
-Popper and Lakatos are good but I'm stuck on Leibowitz
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Strelka = Rybka 1.0 =Fruit 2.1 = Toga?? Oh how disappoin

Post by bob »

OliverBr wrote:
bob wrote:
OliverBr wrote:
bob wrote:
Uri Blass wrote:
Peter Aloysius wrote:You're completely wrong.

Strelka is already proven to not contain any part of Rybka code, because Yuri is smart enough to change variables name. He is also smart enough to change the order of variables declaration.

He is completely right when he think he can fool us all.
I am convinced that strelka contains parts of Rybka's code but I am
not convinced that Rybka contains part of Fruit's code(Strelka also contains very little of Fruit from my point of view and some programmers including Tord Romstad said that Strelka is an original engine after looking at the source).

I remember Tord writing that Strelka is original as his own engine.

The claim that Strelka is based on Rybka1.0 is accepted by most people and this is the reason that Strelka is not tested by organizations like CEGT.

Uri
Occasionally I almost fall out of my chair laughing at things posted here. "accepted by most people"???? :)

The _author_ of Rybka has claimed Strelka as his own code. I'd think that is evidence enough for any rational thinking person...
But the _author_ of Strelka is denying it. So it's his word against his. I am only sure of that formula:

OliThink != Crafty != Glaurung != OliThink.
I don't follow. The author of Strelka specifically stated that he "reverse-engineered" Rybka, then made some improvements.
I don't follow either. All this is very confusing.
So I have a queation to you respecting Crafty:

I use Crafty 21.4 Win32bit here on my machine and do a lot of testing with Arena. When a tournament is finished, my file system is full of files called log.* game.* *.lrn etc..etc... And they become more and more...

For what purpose do Crafty create all those files?! It doesn't use them in later games, or does it?
No, they are logs of each game as it is played. you can add "log=off" to the crafty.rc file and they will not be created...
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: What happened to moderation?

Post by Michael Sherwin »

Dann Corbit wrote:
swami wrote:
Zach Wegner wrote:Swami and I agreed that it's not an accusation (and Chris is away for holidays). The thread title has a question mark, it doesn't make any statements. However, if the thread continues on this meta-discussion path it will likely get locked.

Oliver had earlier written "Rybka" instead of "Rybka 1.0". I asked Oliver to give permission for mods to edit the engine name to include version number in it else we would delete the whole thread,He agreed.

Previous discussions about this same topic were allowed as it was about Rybka 1.0, as long as there no words about the commercial Rybka. I don't understand why we shouldn't allow this?

On a side note, I have on numerous occasion stated that I believe Rybka 1.0 to be genuine and completely Vas's work. But Mods can't just squash the discussion, this is not an accusation as Zach had pointed out.
As an aside:
I do not believe that any working chess engine is completely the work of one author. In fact, 90% of the ideas in every chess engine are borrowed from somewhere.

IID, Null move, PVS, alpha-beta, mobility, history heuristic, etc. were all invented by someone. But not the same person. So every decent chess engine borrows from others and borrows a-plenty.

IMO-YMMV.
I do not want to sound as though I am holier than others, but I have to take exception with your 90% figure in regards to RomiChess. Even at least one other author, Charles Roberson (IIRC), has commented that RomiChess is, (paraphraised) such an original engine. Yes, I use alpha/beta negamax and hash tables and history tables and other things, but almost everything that I have done has strange and original twist to them. There is original code all through RomiChess. And most of it has been laughed at or called crap at one time or another! :D

I am sure that there are other authors that feel the same to some degree about their work as I do about mine.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: What happened to moderation?

Post by Dann Corbit »

Michael Sherwin wrote:
Dann Corbit wrote:
swami wrote:
Zach Wegner wrote:Swami and I agreed that it's not an accusation (and Chris is away for holidays). The thread title has a question mark, it doesn't make any statements. However, if the thread continues on this meta-discussion path it will likely get locked.

Oliver had earlier written "Rybka" instead of "Rybka 1.0". I asked Oliver to give permission for mods to edit the engine name to include version number in it else we would delete the whole thread,He agreed.

Previous discussions about this same topic were allowed as it was about Rybka 1.0, as long as there no words about the commercial Rybka. I don't understand why we shouldn't allow this?

On a side note, I have on numerous occasion stated that I believe Rybka 1.0 to be genuine and completely Vas's work. But Mods can't just squash the discussion, this is not an accusation as Zach had pointed out.
As an aside:
I do not believe that any working chess engine is completely the work of one author. In fact, 90% of the ideas in every chess engine are borrowed from somewhere.

IID, Null move, PVS, alpha-beta, mobility, history heuristic, etc. were all invented by someone. But not the same person. So every decent chess engine borrows from others and borrows a-plenty.

IMO-YMMV.
I do not want to sound as though I am holier than others, but I have to take exception with your 90% figure in regards to RomiChess. Even at least one other author, Charles Roberson (IIRC), has commented that RomiChess is, (paraphraised) such an original engine. Yes, I use alpha/beta negamax and hash tables and history tables and other things, but almost everything that I have done has strange and original twist to them. Their is original code all through RomiChess. And most of it has been laughed at or called crap at one time or another! :D

I am sure that their are other authors that feel the same to some degree about their work as I do about mine.
I guess that 90% of the fundamental ideas are from others. Of course, the implementations are yours.

The small, clever, new ideas are where the revolutions come (e.g. alpha-beta, null move, LMR are all simple, tiny ideas).