Che ver. 1.0, a free, open-source clone of Igorrit 0.086v4

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

Moderator: Ras

lucasart
Posts: 3241
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by lucasart »

mar wrote:
kranium wrote:To clarify:

Dimitri Gusev has a PhD and is an associate professor of computer science at Purdue University:
https://tech.purdue.edu/profile/dgusev

and is the author of Gusev hashing...
(a variation of Zobrist hashing that does not need a pseudo-random generator)
Powerpoint presentation and source code download here:
http://firenzina.wikispaces.com/
So being a PhD justifies doing random shuffling of variable initialization, changing engine name and adding oneself to list of authors,
while contributing absolutely NOTHING? (I'm talking about Che) - that's hilarious, reminds me of GPL Robbolito ;)
I'm impressed by what people can do, not by decorated names.

How's this Gusev hashing different from zobrist hashing apart from not using PRNG and some flipping?
Also I don't see any data to back his claims that such artificial values are superior to good PRNG values - not exactly scientific for a scientist if you ask me.
+1
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
Dann Corbit
Posts: 12781
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Dann Corbit »

mar wrote:
kranium wrote:To clarify:

Dimitri Gusev has a PhD and is an associate professor of computer science at Purdue University:
https://tech.purdue.edu/profile/dgusev

and is the author of Gusev hashing...
(a variation of Zobrist hashing that does not need a pseudo-random generator)
Powerpoint presentation and source code download here:
http://firenzina.wikispaces.com/
So being a PhD justifies doing random shuffling of variable initialization, changing engine name and adding oneself to list of authors,
while contributing absolutely NOTHING? (I'm talking about Che) - that's hilarious, reminds me of GPL Robbolito ;)
I'm impressed by what people can do, not by decorated names.

How's this Gusev hashing different from zobrist hashing apart from not using PRNG and some flipping?
Also I don't see any data to back his claims that such artificial values are superior to good PRNG values - not exactly scientific for a scientist if you ask me.
I do not know if it is better or not. It is clearly a different way to do things (based on combination of color, board location and movement pattern for the piece). In theory, we might be able to take the hash and deduce a lot about the position from it.

It might have less collisions or not (so far as I can tell, this has never been tested). If it does have less collisions then it might be superior.

Whether it has less collisions or not, it is surely interesting to those who like to think about such things. Did anyone who complained bother to read the presentation?

My two cents here:
So far as I can tell, everything Mr. Gusev has done is completely harmless at worst and even possibly beneficial at best. There are other people who take the same code base, slap their name on it, and claim it as original work.

It seems to me that some large portion of the chess programming community (and this is NOT aimed at Martin) come off as self-assuming, self-important, haughty, bombastic, crowing, egotistical loud-mouths.

What's the benefit from that?

Anyone impressed by that sort of conduct is a bit bent themselves, I think.

So maybe we don't need to stomp on everyone who we imagine might not meet our impeccable standards for excellence in chess programming.

IMO-YMMV
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Gusev »

Dann, my initial version of Gusev hashing that was tested by Daniel Shawul (many thanks to him for taking his time to test someone else's stuff!) did not perform particularly well. But two features that were proposed as improvements proved to be such. There may very well be more room for improvement there, given that we're interested not in minimizing collisions between random positions (which would be a simple test), but in minimizing collisions within actual chess search trees. That's where the idea to exploit our knowledge of the rules of chess in the design of a hashing algorithm may still have some limited value. Good old Zobrist works very well, of course, so there is no urgency here.
Dann Corbit wrote:
mar wrote:
kranium wrote:To clarify:

Dimitri Gusev has a PhD and is an associate professor of computer science at Purdue University:
https://tech.purdue.edu/profile/dgusev

and is the author of Gusev hashing...
(a variation of Zobrist hashing that does not need a pseudo-random generator)
Powerpoint presentation and source code download here:
http://firenzina.wikispaces.com/
So being a PhD justifies doing random shuffling of variable initialization, changing engine name and adding oneself to list of authors,
while contributing absolutely NOTHING? (I'm talking about Che) - that's hilarious, reminds me of GPL Robbolito ;)
I'm impressed by what people can do, not by decorated names.

How's this Gusev hashing different from zobrist hashing apart from not using PRNG and some flipping?
Also I don't see any data to back his claims that such artificial values are superior to good PRNG values - not exactly scientific for a scientist if you ask me.
I do not know if it is better or not. It is clearly a different way to do things (based on combination of color, board location and movement pattern for the piece). In theory, we might be able to take the hash and deduce a lot about the position from it.

It might have less collisions or not (so far as I can tell, this has never been tested). If it does have less collisions then it might be superior.

Whether it has less collisions or not, it is surely interesting to those who like to think about such things. Did anyone who complained bother to read the presentation?

My two cents here:
So far as I can tell, everything Mr. Gusev has done is completely harmless at worst and even possibly beneficial at best. There are other people who take the same code base, slap their name on it, and claim it as original work.

It seems to me that some large portion of the chess programming community (and this is NOT aimed at Martin) come off as self-assuming, self-important, haughty, bombastic, crowing, egotistical loud-mouths.

What's the benefit from that?

Anyone impressed by that sort of conduct is a bit bent themselves, I think.

So maybe we don't need to stomp on everyone who we imagine might not meet our impeccable standards for excellence in chess programming.

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

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by velmarin »

Dann Corbit wrote:
It seems to me that some large portion of the chess programming community (and this is NOT aimed at Martin) come off as self-assuming, self-important, haughty, bombastic, crowing, egotistical loud-mouths.

What's the benefit from that?

Anyone impressed by that sort of conduct is a bit bent themselves, I think.

So maybe we don't need to stomp on everyone who we imagine might not meet our impeccable standards for excellence in chess programming.
Right now I would give you a box of wine, he deserves it.
Martin put his project Cheng how public domain, even encouraged the others try to improve it. Very generous.
Only ask for recognition.
However, these mixed messages you throw back.
What would be the reaction of Martin if someone catches Cheng code and modify it,
There are issues difficult to understand.
mar
Posts: 2661
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by mar »

Yes cheng is public domain and what that implies is obvious.

The "case" here is simply that I'm just wondering what's the point of releasing engine B (Che) which outputs exactly the same moves as engine A (Igorrit) and releasing it to the public.
Trying to improve something means changing things related to how the engine plays, releasing 1:1 clone improves nothing
(if we neglect the fact that recent compilers can produce slightly faster code, certainly nothing drammatic).
I understand Dmitry needed a new participant, that's fine, but why releasing it to the public? I never said he cannot do it, just that I don't understand why...
Dann Corbit
Posts: 12781
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Dann Corbit »

mar wrote:Yes cheng is public domain and what that implies is obvious.

The "case" here is simply that I'm just wondering what's the point of releasing engine B (Che) which outputs exactly the same moves as engine A (Igorrit) and releasing it to the public.
Trying to improve something means changing things related to how the engine plays, releasing 1:1 clone improves nothing
(if we neglect the fact that recent compilers can produce slightly faster code, certainly nothing drammatic).
I understand Dmitry needed a new participant, that's fine, but why releasing it to the public? I never said he cannot do it, just that I don't understand why...
There is a giant pile of Igorit/Ivanhoe/Robbolito clones, some legitimate (credit given, etc.) and some not ("Look at my brand new fully original program!") and that is a real problem.

That family of programs may have information stolen from Rybka by illegal reverse engineering and that is a real problem.

Early Rybka versions had evaluation highly similar to Fruit and that, along with misappropriation of Crafty code to do beta testing, is a real problem.

The punishment of Vas for having an eval highly similar to Fruit when everyone on God's green earth (including each and every one of the punishers) have also taken things from fruit was so way over the top that it discouraged Vas from computer chess and that is a real problem.

But screaming at people who do something wrong is not a solution, it is another problem.

Don't get me wrong. I scream sometimes too. But it solves nothing when I do.

I should also mention that Cheng is one of my very favorite programs.

I did not mean to pick on you (and said so myself) but I wanted to say something before this forum becomes like one or two others that I know of where all the puffy know-it-all's walk around screaming about how great they are and how stupid everyone else is.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Gusev »

Martin,

Good question! That's easy to explain. Purdue FOSCEC is a contest of free, open-source engines, so Che had to be released in order to be eligible. In retrospect, to release it was my mistake caused by the simple fact that I was unable to find the source for Igorrit 0.086v9 online, so I could not use its existing 64-bit compile in the tournament. An extra effort (a small one) was needed to make a working x64 compile of Igorrit 0.086v4, which was the latest one I was able to locate back in November.

Dmitri
mar wrote:Yes cheng is public domain and what that implies is obvious.

The "case" here is simply that I'm just wondering what's the point of releasing engine B (Che) which outputs exactly the same moves as engine A (Igorrit) and releasing it to the public.
Trying to improve something means changing things related to how the engine plays, releasing 1:1 clone improves nothing
(if we neglect the fact that recent compilers can produce slightly faster code, certainly nothing drammatic).
I understand Dmitry needed a new participant, that's fine, but why releasing it to the public? I never said he cannot do it, just that I don't understand why...
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Gusev »

O, I see now, I missed the moment when Cheng went open-source. :( Also, CCRL did not test its SMP performance. This is an oversight. Cheng supports 8 cores, so it should have been playing in FOSCEC right now. I am sorry!
velmarin wrote:
Dann Corbit wrote:
It seems to me that some large portion of the chess programming community (and this is NOT aimed at Martin) come off as self-assuming, self-important, haughty, bombastic, crowing, egotistical loud-mouths.

What's the benefit from that?

Anyone impressed by that sort of conduct is a bit bent themselves, I think.

So maybe we don't need to stomp on everyone who we imagine might not meet our impeccable standards for excellence in chess programming.
Right now I would give you a box of wine, he deserves it.
Martin put his project Cheng how public domain, even encouraged the others try to improve it. Very generous.
Only ask for recognition.
However, these mixed messages you throw back.
What would be the reaction of Martin if someone catches Cheng code and modify it,
There are issues difficult to understand.
User avatar
Graham Banks
Posts: 44329
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Graham Banks »

Gusev wrote:O, I see now, I missed the moment when Cheng went open-source. :( Also, CCRL did not test its SMP performance.

Code: Select all

CCRL 40/40 Rating List - Custom engine selection
579758 games played by 1621 programs, run by 19 testers
Ponder off, General books (up to 12 moves), 3-4-5 piece EGTB
Time control: Equivalent to 40 moves in 40 minutes on Athlon 64 X2 4600+ (2.4 GHz)
Computed on May 9, 2015 with Bayeselo based on 579'758 games
Tested by CCRL team, 2005-2015, http://computerchess.org.uk/ccrl/4040/

Rank                Engine                 Elo   +    -   Score  AvOp  Games
1 Cheng4 0.38 64-bit 4CPU              2999  +30  -30  47.5%  +12.2   358
  Cheng4 0.36c 64-bit 4CPU             2903  +34  -34  48.3%   +9.5   267
  Cheng4 0.38 64-bit                   2899  +27  -27  53.2%  -19.6   434
  Cheng4 0.36c 64-bit                  2801  +18  -18  50.4%   -3.7  1014
  Cheng4 0.36a 64-bit                  2749  +30  -30  49.1%   +7.0   370
  Cheng4 0.35a 64-bit                  2717  +30  -30  50.7%   -5.7   348
  Cheng3 1.07 32-bit                   2636  +29  -29  44.9%  +33.3   411
  Cheng3 1.07 64-bit                   2633  +21  -21  46.9%  +20.0   810
  Cheng3 1.04 32-bit                   2579  +34  -34  51.6%  -11.9   284
  Cheng3 1.06 32-bit                   2557  +30  -31  46.7%  +20.1   347
  Cheng3 1.05 32-bit                   2556  +32  -32  48.0%  +15.2   324
  Cheng3 1.03 64-bit                   2495  +34  -34  48.0%  +11.8   280
  Cheng3 1.03 32-bit                   2482  +36  -36  49.4%   +4.8   260
  Cheng3 1.02b                         2437  +36  -36  50.6%   -6.7   270
gbanksnz at gmail.com
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Che ver. 1.0, a free, open-source clone of Igorrit 0.086

Post by Gusev »

I had checked 40/4 only. Thanks for the correction!
Graham Banks wrote:
Gusev wrote:O, I see now, I missed the moment when Cheng went open-source. :( Also, CCRL did not test its SMP performance.

Code: Select all

CCRL 40/40 Rating List - Custom engine selection
579758 games played by 1621 programs, run by 19 testers
Ponder off, General books (up to 12 moves), 3-4-5 piece EGTB
Time control: Equivalent to 40 moves in 40 minutes on Athlon 64 X2 4600+ (2.4 GHz)
Computed on May 9, 2015 with Bayeselo based on 579'758 games
Tested by CCRL team, 2005-2015, http://computerchess.org.uk/ccrl/4040/

Rank                Engine                 Elo   +    -   Score  AvOp  Games
1 Cheng4 0.38 64-bit 4CPU              2999  +30  -30  47.5%  +12.2   358
  Cheng4 0.36c 64-bit 4CPU             2903  +34  -34  48.3%   +9.5   267
  Cheng4 0.38 64-bit                   2899  +27  -27  53.2%  -19.6   434
  Cheng4 0.36c 64-bit                  2801  +18  -18  50.4%   -3.7  1014
  Cheng4 0.36a 64-bit                  2749  +30  -30  49.1%   +7.0   370
  Cheng4 0.35a 64-bit                  2717  +30  -30  50.7%   -5.7   348
  Cheng3 1.07 32-bit                   2636  +29  -29  44.9%  +33.3   411
  Cheng3 1.07 64-bit                   2633  +21  -21  46.9%  +20.0   810
  Cheng3 1.04 32-bit                   2579  +34  -34  51.6%  -11.9   284
  Cheng3 1.06 32-bit                   2557  +30  -31  46.7%  +20.1   347
  Cheng3 1.05 32-bit                   2556  +32  -32  48.0%  +15.2   324
  Cheng3 1.03 64-bit                   2495  +34  -34  48.0%  +11.8   280
  Cheng3 1.03 32-bit                   2482  +36  -36  49.4%   +4.8   260
  Cheng3 1.02b                         2437  +36  -36  50.6%   -6.7   270