Moderation has removed several posts in this thread which were personal attacks
Members are advised to stay On Topic without resorting to personal attacks
if there is a recurrence of posts of that nature ..individual members will be notified and warned
Regards
Steve
I'm in doubt if RobboLito is a clone
Moderator: Ras
-
- Posts: 16465
- Joined: Wed Aug 01, 2007 4:16 am
- Location: Canada
Re: I'm in doubt if RobboLito is a clone
Don't you think it's a little odd that some of these posters come out of nowhere?Steve B wrote:Moderation has removed several posts in this thread which were personal attacks
Members are advised to stay On Topic without resorting to personal attacks
if there is a recurrence of posts of that nature ..individual members will be notified and warned
Regards
Steve
Terry McCracken
-
- Posts: 16465
- Joined: Wed Aug 01, 2007 4:16 am
- Location: Canada
Re: I'm in doubt if RobboLito is a clone
SzG wrote:At the Tournaments and Matches section Michaels Sherwin submitted results of an 50-game blitz match between RobboLito and Rybka 2.3.2a. Robbo won 76.5-23.5, which translates to an Elo difference of 210.Terry McCracken wrote: Oh please...And pray tell what ver. of X is 100 elo stronger than Rybka 3???
CCRL blitz has Rybka 3 97 Elos above Rybka 2.3.2a. 210-97=113.
Yes, it is not transitive, but still indicates something.
What do you think it indicates? That's the Sixty Four Thousand Dollar Question.
I have an idea. Others here know exactly what it indicates.
Terry McCracken
-
- Posts: 10121
- Joined: Thu Mar 09, 2006 12:57 am
- Location: van buren,missouri
Re: I'm in doubt if RobboLito is a clone
Looks like you is right Terry.Terry McCracken wrote:Don't you think it's a little odd that some of these posters come out of nowhere?Steve B wrote:Moderation has removed several posts in this thread which were personal attacks
Members are advised to stay On Topic without resorting to personal attacks
if there is a recurrence of posts of that nature ..individual members will be notified and warned
Regards
Steve
All these diff.posts about this subject should be moved to
CTF where they belong.

Best Gerold.
P.S. If this program is as strong as some people think i
want a copy so i can make a million bucks.



I would change the name and call it number 1.

Its already had a great deal of exposure on CCC.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: I'm in doubt if RobboLito is a clone
Don't you mean "C" in column 1? 6 was a "continuation" column for FORTRAN which is what it seems you are talking about. Glad those days are behind me (CB and predecessors were all FORTRAN or FORTRAN + assembly.jwes wrote:I should have indicated I was joking, mostly. My boss at my first job would strip out comments before looking at code. He said that the code was enough and the comments misled more than helped. Of course, stripping out comments was easy. IIRC, it was just not printing cards with a 'C' in column 6.bob wrote:My point:jwes wrote:Isn't there an emacs macro to do that?Gian-Carlo Pascutto wrote:Given that C doesn't allow nesting them, I'd say it's trivial? Did I miss anything?bob wrote: Do you realize how difficult it is to remove comments?
Don't know. Don't care. Concept makes no sense whatsoever, in the first place.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: I'm in doubt if RobboLito is a clone
It is just about impossible to tell whether the original program used while or for, based on the resulting assembly language. For is a bit more compact since it does the equivalent of three operations on one line, initialization, modification and testing the result. That's one reason why looking at something "syntactically" is only one phase of the comparison. You have to look semantically as well, since the "syntactical" part of the reconstruction is an art rather than a science in most cases, since a compiler has completely mangled things during optimization, particularly.OliverUwira wrote:Out of curiosity, I've just compared a piece of Rybka code (given by VR here: http://rybkaforum.net/cgi-bin/rybkaforu ... 2#pid20132) with the respective code from RobboLito. The following is just an observation, so please don't give too much heat if I'm breaking a taboo (-:
So in Rybka it's
and in RobboLito (Robbo_gen_mossa.h) it'sCode: Select all
for (bb_t knights = Board.pieces [WN]; knights; knights &= knights-1) { int knight_sq = bit_scan (knights); for (bb_t captures = knight_moves [knight_sq] & opponent_pieces; captures; captures &= captures - 1) { int capture_sq = bit_scan (captures); *moves ++ = move (knight_sq, capture_sq); *values ++ = Board.sq [capture_sq] * 256 + 192; } }
The RobboLito code does not seem to have the equivalent ofCode: Select all
#define ALLEGA_AI(T) \ { \ while (T) \ { \ ai = BSF(T); \ ALLEGA(LISTA, (qu << 6) | ai); \ bitLIBERO(ai, T); \ } \ } ... for (U = bitbordo_bianco_cavallo; U; bitLIBERO (qu, U)) { qu = BSF (U); T = attaco_cavallo[qu] & cel; ALLEGA_AI (T); }
The use of "while" instead of "for" in the inner loop might be because the disassembling could have obscured which loop was coded in the original, but the absence of the "values" line could do with an explanation.Code: Select all
*values ++ = Board.sq [capture_sq] * 256 + 192;
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: I'm in doubt if RobboLito is a clone
Think I will change 23.1 to use for() just to be a wise-ass.Osipov Jury wrote:And from Crafty:
Code: Select all
piecebd = WhiteKnights; while (piecebd) { from = LastOne(piecebd); moves = knight_attacks[from] & BlackPieces; temp = from + (knight << 12); while (moves) { to = LastOne(moves); *move++ = temp | (to << 6) | ((-PcOnSq(to)) << 15); Clear(to, moves); } Clear(from, piecebd); }

-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: I'm in doubt if RobboLito is a clone
The only question is, "is this a result of going from C thru a compiler thru an optimizer thru a disassembler to some sort of reverse-compiling process, or is it a result of intentionally trying to make the code difficult to read?"OliverUwira wrote:Ok, this rings a bell.Gian-Carlo Pascutto wrote:cattura_bianca is a preprocessor define for mio_cattura. If you look in that function, you will findOliverUwira wrote: Sorry, what I had posted was specifically meant for captures, at least if the function name "cattura_bianca" wasn't meant to obscure the reader.
for (U = bitbordo_mio_cavallo; U; bitLIBERO (qu, U))
{
qu = BSF (U);
T = attaco_cavallo[qu] & cel;
ALLEGA_AI (T, cattura_valu[conto_mio_cavallo][c]);
}
and the "cattura_valu" is filled like
cattura_valu[conto_pedone_bianco][conto_donna_nera] =
(0xd0 << 24) + (0x02 << 20);
My word, this code really is incredibly obfuscated...
-
- Posts: 198
- Joined: Thu Mar 09, 2006 2:44 am
- Location: Helsinki, Finland
Re: I'm in doubt if RobboLito is a clone
From the site that can't be named
Can you give rough percentage estimates for each engine part( KAISSA, Crafty, Fruit/Toga/Rybka/Strelka) in IPPOLIT/ROBBOLITE codebase? Which is biggest part? Is Rybka code taken as a idea/algorithm copy, not exact assembler code copy?
IgorIppolit re: Engine percentages
Fact: fine ideas cultivate for many gardens.
Whom to admire with: iteratives, history, killer, Zobrist, futility, qsearch, extensions (singular), fractioning ply and the more?
Plus: Chessknowledge (evaluation) is wide-galactic with many.
These form 75% of everything for everyone.
Specific: KAISSA code owned the bounty: nullmove, bitboards (boardroom representatives)
However: KAISSA pruning found ancient.
Crafty code with for rotated bitboards, generated moves, concept
Fruit/Toga/Rybka/Strelka code: evaluation from endpoints, pruning (modern), material stems, extensions
And novel ideas on your boot contained with IPPOLIT.
Knowledge (the mine): code for IPPOLIT bought from self only, yet ideas splurged for miles in ovals. Can enquiry Yakov with validate.
IgorIppolit re: Engine percentages
Conformation (Yakov): no functional code by adversaried ships squats with IPPOLIT. - Igor
Can you give rough percentage estimates for each engine part( KAISSA, Crafty, Fruit/Toga/Rybka/Strelka) in IPPOLIT/ROBBOLITE codebase? Which is biggest part? Is Rybka code taken as a idea/algorithm copy, not exact assembler code copy?
IgorIppolit re: Engine percentages
Fact: fine ideas cultivate for many gardens.
Whom to admire with: iteratives, history, killer, Zobrist, futility, qsearch, extensions (singular), fractioning ply and the more?
Plus: Chessknowledge (evaluation) is wide-galactic with many.
These form 75% of everything for everyone.
Specific: KAISSA code owned the bounty: nullmove, bitboards (boardroom representatives)
However: KAISSA pruning found ancient.
Crafty code with for rotated bitboards, generated moves, concept
Fruit/Toga/Rybka/Strelka code: evaluation from endpoints, pruning (modern), material stems, extensions
And novel ideas on your boot contained with IPPOLIT.
Knowledge (the mine): code for IPPOLIT bought from self only, yet ideas splurged for miles in ovals. Can enquiry Yakov with validate.
IgorIppolit re: Engine percentages
Conformation (Yakov): no functional code by adversaried ships squats with IPPOLIT. - Igor
-
- Posts: 128
- Joined: Sat Sep 23, 2006 7:10 pm
- Location: Prague
Re: I'm in doubt if RobboLito is a clone
Not sure if I am allowed to post this here ... but anyway it is a comment of IPPOLIT people on the comments in the code:
I have to admit that my English is perhaps too limited to understand what he wants to say ...IgorIppolit re: Where are the comments in code?
Comrade,
In a first place, any translatings from ь code distress imperatives for the suppress of comments. Truth of the this concerns all language optionals, due to autotransliteration implementals.
Furthermore: for the RobboLito, parsing of Comrade Roberto edges more turnips, Yet: indent (GNU) worms trickies for the comments. Personal opinion: apparent to suppress (tokenized application) for convenients, anterior indent
Finally: emerge to invigilate on IPPOLIT Wiki (here) for informationals, in the alternative.
Igor
Posted Monday, 4:18 pm
RobertoPescatore re: Where are the comments in code?
My very style is not to have many comments, as they take up visual space. Maybe its a leftbrain/rightbrain thing. Usually I dont have more than a few lines with self reminders:
// think more here!
and just got rid of these with publication.