How effective is move ordering from TT?

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Ajedrecista
Posts: 1405
Joined: Wed Jul 13, 2011 7:04 pm
Location: Madrid, Spain.
Contact:

Re: Off-topic, sorry...

Post by Ajedrecista » Thu Aug 16, 2012 10:49 am

Hello again:
Adam Hair wrote:
Ajedrecista wrote: Viewing some command line examples, I finally wrote this one:

Code: Select all

cutechess-cli -engine conf="Depth_2" depth=2 -engine conf="Depth_3" depth=3 -each tc=40/4 -concurrency 2 -draw 10 5 -resign 5 900 -games 2 -rounds 1250 -pgnin klo_250_eco_a00-e97_variations.pgn -pgnout 02_Vs_03.pgn
It can be improved for sure: I think that the resign factor is good (-resign 5 900), but I also think that I was too conservative with the draw factor (-draw 10 5); I am not sure if openings are played with reverse colours using -games 2 -rounds 1250... I finally used some opening positions from this PGN file. Any suggestions to improve the accuracy of the matches (including the input PGN file) will be welcomed, as usual.
For reversed colors, you have to add the switch '-repeat', and the argument for '-games' has to be even (so '-games 2' is fine).

I think your draw factor may cause some false draws. I have seen plenty of examples where the advantage during a game changes, with intermediate scores near 0 before favoring the other engine. However, I do not know how often that will occur under these circumstances. I would change the number of full moves to something greater than 80, and changes the draw score to 50 centipawns.

I am glad you have cutechess working. I be interested in any tests and results you share with us :wink:

Adam
I added -repeat and changed draw factor to -draw 100 50:

Code: Select all

cutechess-cli -engine conf="Depth_2" depth=2 -engine conf="Depth_3" depth=3 -each tc=40/4 -concurrency 2 -draw 100 50 -resign 5 900 -games 2 -rounds 1250 -pgnin klo_250_eco_a00-e97_variations.pgn -repeat -pgnout 02_Vs_03.pgn
I got a gap of 353 Elo this time (this match was ran in around 75 minutes), which is much more correct IMHO. Jarkko obtained a gap of 326 ± 55 (with 95% confidence) in his experiment. I will continue with those conditions in view of this result.

I repeated the (depth 2) versus (depth 3) match:

Code: Select all

Finished game 2500 (Depth_2 vs Depth_3): 0-1 {Black wins by adjudication}
Score of Depth_2 vs Depth_3: 140 - 2060 - 300  [0.12] 2500
ELO difference: -353
Finished match
I tried BayesElo with the output PGN:

Code: Select all

ResultSet>readpgn 02_Vs_03.pgn
2500 game(s) loaded, 0 game(s) with unknown result ignored.
ResultSet>elo
ResultSet-EloRating>mm
00:00:00,00
ResultSet-EloRating>exactdist
00:00:00,00
ResultSet-EloRating>ratings
Rank Name        Elo     Diff     +     -      Games  Score    Oppo.   Draws
 Win          W-L-D
   1 Depth_3  170.44     0.00   9.05   8.78     2500  88.40%  -170.44  12.00%  82.40%      2060-140-300
   2 Depth_2 -170.44  -340.88   8.78   9.05     2500  11.60%  170.44  12.00%   5.60%       140-2060-300
The error bars seem tiny IMHO: they look more like they are for 1-sigma confidence ~ 68.27% confidence, instead of the usual 95% confidence ~ 1.96-sigma confidence. If I multiply them by 1.96, then I get around ± 17 or ± 18 Elo, which is more less what I obtain by my own method (although my method is less reliable for such unbalanced matches, let us say outside the 15%-85% range, like this case).

The next match will be (depth 1) versus (depth 2); I will open a new topic when I will have enough matches or when I will finish this experiment.

Regards from Spain.

Ajedrecista.

diep
Posts: 1780
Joined: Thu Mar 09, 2006 10:54 pm
Location: The Netherlands
Contact:

Re: How effective is move ordering from TT?

Post by diep » Thu Aug 16, 2012 11:10 am

chrisw wrote:
Is that where you get your also-ran ideas from? Reverse engineer stuff at the top of rating lists, find the new idea, implement it, if it gives more Elo keep it, else throw it away?

Seems a bit parasitical, doesn't it?
Without wanting to involve Bob there, it seems indeed what you describe here has massively happened past few years in the clone / open source community in computerchess.

I guess that's what you get if you pay dudes, under the condition that they improve an engine elowise. That's why i call them average programmers. Everyone who misses a part of the brain called 'ethics' can do this.

chrisw
Posts: 2298
Joined: Tue Apr 03, 2012 2:28 pm

Re: How effective is move ordering from TT?

Post by chrisw » Thu Aug 16, 2012 4:42 pm

bob wrote:
chrisw wrote:
bob wrote:
Rebel wrote:
bob wrote:
Rebel wrote:
bob wrote:
chrisw wrote: Yes, I have indeed been on about "heavy eval" for years. Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.

On GM play, the sad truth is that you have no idea.
Fruit? Heavy Eval?
Chris did not say the Fruit eval is heavy.
How does that jive with the following quote?

Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.
By the mouth of Dann Corbit a quote from Anthony Cozzie:

Anthony Cozzie quit chess programming because he felt that the winning program was nothing more than the biggest bag of tricks collected from all the existing programs.

How could you miss Chris' point?

Insult snipped.
How can one make a point with an outright false statement? There is nothing "heavy" (heavy is commonly a synonym for complex or computationally expensive in computer chess discussions) in Fruit's eval at all. Does he REALLY want to claim that a very simple bean-counter evaluation was derived from HIS evaluation? :) One never knows what one is going to read here nowadays. But clearly, accuracy is not exactly a description of things like this.

Fruit's eval is NOT "heavy" by any possible measure of the term. Here's the typical "slang" definition of heavy (not particularly computer-science specific, but the last one is on point...

heavy

* good.

Usher is a heavy dancer.

* Cool, Awesome

Wow your website is heavy.

* deep, hard to deal with, burdensome, or hard to understand

BTW where does CSTal come in here? It was never open-source, and I have never heard of anyone reverse-engineering the thing since it was never near the top of any rating list or tournament. How, then, did someone (Fabien) supposedly hijack his eval ideas? So other than being totally unrelated to current state of affairs, how exactly was there a point to be made???
Who said anything about Fabien hijacking? Oh, you made it up. Why that?

CSTal doesn't need to be reverse engineered since the ply one static scores are all displayed and the evaluation function idea can be worked out from that, in particular the king attack function idea. Also I made quite enough noise so those other than your blindedness can quite easily work out what it was doing.

For strong chess players with GM level knowledge, of course heavily used by Tal, it's Q plus 2 units is quite possibly a mate, and if not likely there's a perpetual. One of the units can be a pawn, the more and the stronger units, the greater the mate chances. Defenders are irrelevent. Defending king pawn structure damage is very relevent. R+R can substitute for Q.

For slower ones, software engineers who need source code ....

if queen plus unit
get attacks around the king using suitable mask
use the total attacker type melded with pawn destruction to give a suitable bonus.

for CSTal this was along the lines of
Q plus unit plus pawn worth two pawns or so
Q plus two units worth a bishop
Q plus three units worth a rook, all adjusted for pawn defense destruction.

Apart from the bonus size, looks quite like Fruit Rybka and Crafty some time after Fruit, doesn't it?

Not in Fruit or RYbka as far as I know were side next to move bonuses, if safe checks, especially Q checks available, increase bonus quite a lot. If not on move decrease bonus. Twas much more making it probbaly too heavy but I forget nearly two decades later.

This stuff was in first half of 1990s, I suspect quite unique to CSTal. Also other stuff relating to material imbalances. Why does it look similar in fruit? No idea, probably people with minds open more than Hyatt discussed the ideas and worked them out, they are pretty obvious to a strong chess player programmer, again not Blinded ones with preconceived ideas.

One thing is absolutely for sure, the first programmer who got this new idea with relatively low computation costs into a fast searcher was going to wipe the board with the opposition. But Hyatt never realised that, until he copied the concept from Rybka/Fruit.
I didn't copy any king safety stuff from Fruit/Rybka. Not one thing. That seems to be the difference between "us". Some of us can actually design and write code without copying the work of others. Some take the easy way out. Feel free to show me ANY king-safety concept in Crafty that is related to Fruit. Anything at all will do just fine for discussion.

What you describe doesn't look like what Crafty does at all, sorry. If you had looked a bit you would already know that.

Crafty computes two distinct values. King shelter (pawns, holes in them, open files, weak squares, and such, all related to the king's position) and king tropism (how close a piece is to the king (or how close it attacks squares to the king in the case of sliders). These two values are used as indices into an array that makes it more important to attack an exposed king (shelter) and less important to attack a safe king position.

What does that have to do with what you were doing? I've been doing scoring like this forever. The 2d array values have been heavily tuned by cluster testing, but the concept is about as simple as it gets.
Just to be absolutely clear I said you "copied the concept". Nothing about code.

And, the concept in Crafty 2005 did not appear in Crafty 1990's.

Conceptually, CSTAl did the following for king attack inter alia of course .....

A. CSTal, Forget the whole thing if inadequate material to build a King attack.
Crafty, also checks for adequate material and reduces bonuses if found. Concept similar, scale not.

B. CStal, build attacker mask and hence king attackers based on a pattern around the king.
Crafty, build king attackers based on proximity to king. Same concept, implementation different.

C. CSTal, fold in pawn structure destruction. Get exponentially increasing score (based on attack size and pawns)
Crafty, here from my memory, but basically: score the king attack material from an exponential table. Score the pawn destruction and modify the previous score.
Same concept, but implemenation different.

I think the key to the idea is the exponential ramping of the score based on attack strength. CStal, Fruit, Rybka, Crafty. And the use of attacker quantity and pawn destruction. Chessically the concepts are parallel.

Now, Bob, nobody knows where you got these ideas or concepts from, or whether you dreamed them up independently. But timeline facts are CSTal, 1990s. Others 2000s. As I said before, I am not complaining, nor do I think anythign "bad" has happended, just pointing out that there seems to be a developmental pattern here, one person has a new idea, and within some time, everybody, or most are usign the idea, possibly much modified, but the idea nevertheless.

chrisw
Posts: 2298
Joined: Tue Apr 03, 2012 2:28 pm

Re: How effective is move ordering from TT?

Post by chrisw » Thu Aug 16, 2012 4:56 pm

bob wrote:
chrisw wrote:
bob wrote:
Rebel wrote:
bob wrote:
Rebel wrote:
bob wrote:
chrisw wrote: Yes, I have indeed been on about "heavy eval" for years. Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.

On GM play, the sad truth is that you have no idea.
Fruit? Heavy Eval?
Chris did not say the Fruit eval is heavy.
How does that jive with the following quote?

Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.
By the mouth of Dann Corbit a quote from Anthony Cozzie:

Anthony Cozzie quit chess programming because he felt that the winning program was nothing more than the biggest bag of tricks collected from all the existing programs.

How could you miss Chris' point?

Insult snipped.
How can one make a point with an outright false statement? There is nothing "heavy" (heavy is commonly a synonym for complex or computationally expensive in computer chess discussions) in Fruit's eval at all. Does he REALLY want to claim that a very simple bean-counter evaluation was derived from HIS evaluation? :) One never knows what one is going to read here nowadays. But clearly, accuracy is not exactly a description of things like this.

Fruit's eval is NOT "heavy" by any possible measure of the term. Here's the typical "slang" definition of heavy (not particularly computer-science specific, but the last one is on point...

heavy

* good.

Usher is a heavy dancer.

* Cool, Awesome

Wow your website is heavy.

* deep, hard to deal with, burdensome, or hard to understand

BTW where does CSTal come in here? It was never open-source, and I have never heard of anyone reverse-engineering the thing since it was never near the top of any rating list or tournament. How, then, did someone (Fabien) supposedly hijack his eval ideas? So other than being totally unrelated to current state of affairs, how exactly was there a point to be made???
Is that where you get your also-ran ideas from? Reverse engineer stuff at the top of rating lists, find the new idea, implement it, if it gives more Elo keep it, else throw it away?

Seems a bit parasitical, doesn't it?
Nope. The FIRST chess engine I have done RE work on was Rybka, in the Rybka/Fruit comparison process. Sorry to burst your bubble, but what I have used in the past has always been my own coding, derived from publicized ideas (such as Beal's paper on null-move, Hsu's paper on singular extensions, Etc. Not EVERYONE copies code.

It would seem that SOME commercial authors don't feel constrained by ethics, however. And some amateurs as well. Witness the current ippolit derivative problem, not to mention past issues with Fruit, Crafty and others that were clearly copied.
Your previous posting does appear to imply that it was standard practice to reverse engineer anythign "at the top of a ratign list or tournament", you did not do this yourself, but you also imply that you would get to hear about it.

What happens at this point? Do you boycott the revealed idea on ethical grounds or do you decide on the usual capitalist/materialistic grounds that there's no such thing as ethics in capitalist competition, all that is required is to stay within the law whilst maximising shareholder return, and reimplementing an idea you got to hear about by RE at some point, is not against the law, is it?

chrisw
Posts: 2298
Joined: Tue Apr 03, 2012 2:28 pm

Re: How effective is move ordering from TT?

Post by chrisw » Thu Aug 16, 2012 5:11 pm

diep wrote:
chrisw wrote:
Is that where you get your also-ran ideas from? Reverse engineer stuff at the top of rating lists, find the new idea, implement it, if it gives more Elo keep it, else throw it away?

Seems a bit parasitical, doesn't it?
Without wanting to involve Bob there, it seems indeed what you describe here has massively happened past few years in the clone / open source community in computerchess.

I guess that's what you get if you pay dudes, under the condition that they improve an engine elowise. That's why i call them average programmers. Everyone who misses a part of the brain called 'ethics' can do this.
Usually I dislike argumenation by analogy, but will do so anyway. I think you mentioned old boys network or somethign similar the other day. From this, and some decades ago, was the ethical concept of an Englishman's word is his bond, and whilst no doubt Englishmen did some bad stuff to others at this time, the word is bond ethic was the basis of the banking and financial system, verbal contract really did work. Historians think this broke down when foreigners, with different ethical ideas, entered the system, and the social trust built up fell apart because the ethical base was no longer constant.

Likewise, the ethical base of computer chess, already struggling with international ethical variance, was hit hard with variance when programmers from the other side of the Oder Neisse line joined in. I am not trying to imply that one set of ethics is any better than any other, although it may be, but suggesting that a system, based on common ethical acceptance, breaks when just one successful member only departs from the commonality. At this point, the others have the unsurprising human reaction, that if he does it, we have to too, else we will be left behind.

Again at this point we have two choices, either we accept we have to go to the everything is allowed within the law concept, or we have to engage in repression to try and force and punish the alternate ethical bunch. The current Rybka debacle proves only one thing, Vas can't be forced into anything, and the punishment has probbaly backfired. Meanwhile, you have the suspicion that everybody is "at it" anyway.

bob
Posts: 20667
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: How effective is move ordering from TT?

Post by bob » Thu Aug 16, 2012 7:55 pm

chrisw wrote:
bob wrote:
chrisw wrote:
bob wrote:
Rebel wrote:
bob wrote:
Rebel wrote:
bob wrote:
chrisw wrote: Yes, I have indeed been on about "heavy eval" for years. Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.

On GM play, the sad truth is that you have no idea.
Fruit? Heavy Eval?
Chris did not say the Fruit eval is heavy.
How does that jive with the following quote?

Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.
By the mouth of Dann Corbit a quote from Anthony Cozzie:

Anthony Cozzie quit chess programming because he felt that the winning program was nothing more than the biggest bag of tricks collected from all the existing programs.

How could you miss Chris' point?

Insult snipped.
How can one make a point with an outright false statement? There is nothing "heavy" (heavy is commonly a synonym for complex or computationally expensive in computer chess discussions) in Fruit's eval at all. Does he REALLY want to claim that a very simple bean-counter evaluation was derived from HIS evaluation? :) One never knows what one is going to read here nowadays. But clearly, accuracy is not exactly a description of things like this.

Fruit's eval is NOT "heavy" by any possible measure of the term. Here's the typical "slang" definition of heavy (not particularly computer-science specific, but the last one is on point...

heavy

* good.

Usher is a heavy dancer.

* Cool, Awesome

Wow your website is heavy.

* deep, hard to deal with, burdensome, or hard to understand

BTW where does CSTal come in here? It was never open-source, and I have never heard of anyone reverse-engineering the thing since it was never near the top of any rating list or tournament. How, then, did someone (Fabien) supposedly hijack his eval ideas? So other than being totally unrelated to current state of affairs, how exactly was there a point to be made???
Who said anything about Fabien hijacking? Oh, you made it up. Why that?

CSTal doesn't need to be reverse engineered since the ply one static scores are all displayed and the evaluation function idea can be worked out from that, in particular the king attack function idea. Also I made quite enough noise so those other than your blindedness can quite easily work out what it was doing.

For strong chess players with GM level knowledge, of course heavily used by Tal, it's Q plus 2 units is quite possibly a mate, and if not likely there's a perpetual. One of the units can be a pawn, the more and the stronger units, the greater the mate chances. Defenders are irrelevent. Defending king pawn structure damage is very relevent. R+R can substitute for Q.

For slower ones, software engineers who need source code ....

if queen plus unit
get attacks around the king using suitable mask
use the total attacker type melded with pawn destruction to give a suitable bonus.

for CSTal this was along the lines of
Q plus unit plus pawn worth two pawns or so
Q plus two units worth a bishop
Q plus three units worth a rook, all adjusted for pawn defense destruction.

Apart from the bonus size, looks quite like Fruit Rybka and Crafty some time after Fruit, doesn't it?

Not in Fruit or RYbka as far as I know were side next to move bonuses, if safe checks, especially Q checks available, increase bonus quite a lot. If not on move decrease bonus. Twas much more making it probbaly too heavy but I forget nearly two decades later.

This stuff was in first half of 1990s, I suspect quite unique to CSTal. Also other stuff relating to material imbalances. Why does it look similar in fruit? No idea, probably people with minds open more than Hyatt discussed the ideas and worked them out, they are pretty obvious to a strong chess player programmer, again not Blinded ones with preconceived ideas.

One thing is absolutely for sure, the first programmer who got this new idea with relatively low computation costs into a fast searcher was going to wipe the board with the opposition. But Hyatt never realised that, until he copied the concept from Rybka/Fruit.
I didn't copy any king safety stuff from Fruit/Rybka. Not one thing. That seems to be the difference between "us". Some of us can actually design and write code without copying the work of others. Some take the easy way out. Feel free to show me ANY king-safety concept in Crafty that is related to Fruit. Anything at all will do just fine for discussion.

What you describe doesn't look like what Crafty does at all, sorry. If you had looked a bit you would already know that.

Crafty computes two distinct values. King shelter (pawns, holes in them, open files, weak squares, and such, all related to the king's position) and king tropism (how close a piece is to the king (or how close it attacks squares to the king in the case of sliders). These two values are used as indices into an array that makes it more important to attack an exposed king (shelter) and less important to attack a safe king position.

What does that have to do with what you were doing? I've been doing scoring like this forever. The 2d array values have been heavily tuned by cluster testing, but the concept is about as simple as it gets.
Just to be absolutely clear I said you "copied the concept". Nothing about code.

And, the concept in Crafty 2005 did not appear in Crafty 1990's.
How sure of you about that statement? We tried SEVERAL approaches of multiplicative king safety scoring. Including in Cray Blitz. Your statement is simply false. The concept of king tropism * pawn shelter was not new in 2005. Why you want to act like THAT was some remarkable new idea is beyond me. If that was your big secret in the so-called "new paradigm" you kept harping on, that's a bit let-down...




Conceptually, CSTAl did the following for king attack inter alia of course .....

A. CSTal, Forget the whole thing if inadequate material to build a King attack.
Crafty, also checks for adequate material and reduces bonuses if found. Concept similar, scale not.
We have used that concept since the late 60's. Absolutely nothing new about scaling king safety to material since with zero pieces, king safety is irrelevant. Our definition of "adequate material" has also changed a lot over the years, as anyone can see by looking at old sources. I believe we currently require a queen + at least one minor or king safety is turned off completely. In the past it was a material point count of something close to 15 so that 2 rooks and 2 minors was still considered dangerous. Discussions a couple of years ago on CCC led me to test turning it off if queens come off and it actually tested very slightly better..


B. CStal, build attacker mask and hence king attackers based on a pattern around the king.
Crafty, build king attackers based on proximity to king. Same concept, implementation different.

King tropism has been in EVERY program I have ever written. Absolutely not new.

C. CSTal, fold in pawn structure destruction. Get exponentially increasing score (based on attack size and pawns)
Crafty, here from my memory, but basically: score the king attack material from an exponential table. Score the pawn destruction and modify the previous score.
Same concept, but implemenation different.
We have a 2d array, one subscript for tropism, the other for pawn shelter.

I think the key to the idea is the exponential ramping of the score based on attack strength. CStal, Fruit, Rybka, Crafty. And the use of attacker quantity and pawn destruction. Chessically the concepts are parallel.
And chessically, the idea has been around FOREVER.


Now, Bob, nobody knows where you got these ideas or concepts from, or whether you dreamed them up independently. But timeline facts are CSTal, 1990s. Others 2000s. As I said before, I am not complaining, nor do I think anythign "bad" has happended, just pointing out that there seems to be a developmental pattern here, one person has a new idea, and within some time, everybody, or most are usign the idea, possibly much modified, but the idea nevertheless.
Ideas ARE ok to copy, remember. Just not implementation details...

bob
Posts: 20667
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: How effective is move ordering from TT?

Post by bob » Thu Aug 16, 2012 7:58 pm

chrisw wrote:
bob wrote:
chrisw wrote:
bob wrote:
Rebel wrote:
bob wrote:
Rebel wrote:
bob wrote:
chrisw wrote: Yes, I have indeed been on about "heavy eval" for years. Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.

On GM play, the sad truth is that you have no idea.
Fruit? Heavy Eval?
Chris did not say the Fruit eval is heavy.
How does that jive with the following quote?

Curious now how my "heavy eval" from early 1990s is the basis of Fruit. I think you use it too now.
By the mouth of Dann Corbit a quote from Anthony Cozzie:

Anthony Cozzie quit chess programming because he felt that the winning program was nothing more than the biggest bag of tricks collected from all the existing programs.

How could you miss Chris' point?

Insult snipped.
How can one make a point with an outright false statement? There is nothing "heavy" (heavy is commonly a synonym for complex or computationally expensive in computer chess discussions) in Fruit's eval at all. Does he REALLY want to claim that a very simple bean-counter evaluation was derived from HIS evaluation? :) One never knows what one is going to read here nowadays. But clearly, accuracy is not exactly a description of things like this.

Fruit's eval is NOT "heavy" by any possible measure of the term. Here's the typical "slang" definition of heavy (not particularly computer-science specific, but the last one is on point...

heavy

* good.

Usher is a heavy dancer.

* Cool, Awesome

Wow your website is heavy.

* deep, hard to deal with, burdensome, or hard to understand

BTW where does CSTal come in here? It was never open-source, and I have never heard of anyone reverse-engineering the thing since it was never near the top of any rating list or tournament. How, then, did someone (Fabien) supposedly hijack his eval ideas? So other than being totally unrelated to current state of affairs, how exactly was there a point to be made???
Is that where you get your also-ran ideas from? Reverse engineer stuff at the top of rating lists, find the new idea, implement it, if it gives more Elo keep it, else throw it away?

Seems a bit parasitical, doesn't it?
Nope. The FIRST chess engine I have done RE work on was Rybka, in the Rybka/Fruit comparison process. Sorry to burst your bubble, but what I have used in the past has always been my own coding, derived from publicized ideas (such as Beal's paper on null-move, Hsu's paper on singular extensions, Etc. Not EVERYONE copies code.

It would seem that SOME commercial authors don't feel constrained by ethics, however. And some amateurs as well. Witness the current ippolit derivative problem, not to mention past issues with Fruit, Crafty and others that were clearly copied.
Your previous posting does appear to imply that it was standard practice to reverse engineer anythign "at the top of a ratign list or tournament", you did not do this yourself, but you also imply that you would get to hear about it.

What happens at this point? Do you boycott the revealed idea on ethical grounds or do you decide on the usual capitalist/materialistic grounds that there's no such thing as ethics in capitalist competition, all that is required is to stay within the law whilst maximising shareholder return, and reimplementing an idea you got to hear about by RE at some point, is not against the law, is it?
I didn't imply anything. It is pretty apparent that commercial authors have resorted to this frequently. One can find posts by donninger for starters showing he had done it to Rybka previously...

As far as ideas go, I could name a half-dozen ideas I have tested, given to me by others, with the request that they not be made public. And they will tell you that I did exactly that and did not leave the idea in my code. The "Cricket" author is one, asking me to try the "one sane response to check" idea back in the Cray Blitz days, which I did and which I did not use in tournaments nor reveal to others until he did...

diep
Posts: 1780
Joined: Thu Mar 09, 2006 10:54 pm
Location: The Netherlands
Contact:

Re: How effective is move ordering from TT?

Post by diep » Sat Aug 18, 2012 8:13 am

chrisw wrote:
diep wrote:
chrisw wrote:
Is that where you get your also-ran ideas from? Reverse engineer stuff at the top of rating lists, find the new idea, implement it, if it gives more Elo keep it, else throw it away?

Seems a bit parasitical, doesn't it?
Without wanting to involve Bob there, it seems indeed what you describe here has massively happened past few years in the clone / open source community in computerchess.

I guess that's what you get if you pay dudes, under the condition that they improve an engine elowise. That's why i call them average programmers. Everyone who misses a part of the brain called 'ethics' can do this.
Usually I dislike argumenation by analogy, but will do so anyway. I think you mentioned old boys network or somethign similar the other day. From this, and some decades ago, was the ethical concept of an Englishman's word is his bond, and whilst no doubt Englishmen did some bad stuff to others at this time, the word is bond ethic was the basis of the banking and financial system, verbal contract really did work. Historians think this broke down when foreigners, with different ethical ideas, entered the system, and the social trust built up fell apart because the ethical base was no longer constant.

Likewise, the ethical base of computer chess, already struggling with international ethical variance, was hit hard with variance when programmers from the other side of the Oder Neisse line joined in. I am not trying to imply that one set of ethics is any better than any other, although it may be, but suggesting that a system, based on common ethical acceptance, breaks when just one successful member only departs from the commonality. At this point, the others have the unsurprising human reaction, that if he does it, we have to too, else we will be left behind.

Again at this point we have two choices, either we accept we have to go to the everything is allowed within the law concept, or we have to engage in repression to try and force and punish the alternate ethical bunch. The current Rybka debacle proves only one thing, Vas can't be forced into anything, and the punishment has probbaly backfired. Meanwhile, you have the suspicion that everybody is "at it" anyway.
The problem was not caused by the other side of the Oder Neisse, Inshallah.

Post Reply