Norm Schmidt .....and the computer chess

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
bob
Posts: 20547
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: For Clones we dont need private police but Good logic

Post by bob » Tue Sep 01, 2009 7:52 pm

One other note. In the detection of clones, one needs copies of both that have an accurate date/timestamp. For example, I could cite _several_ current open-source programs that have some code lifted directly from Crafty. Some have taken specific scoring values (and I know they are copied because I know when they were first discovered via cluster testing). So you could conclude that Crafty is a clone of X, rather than vice-versa, unless you knew which was first available.

This makes things a bit stickier, but in my case, the source has been around for 14+ years now and publicly available, so when I say "I first tried this in version X", most can verify this easily enough. A few will try the rather lame "I tried this 10 years ago," even though 10 years ago they had no known program and were not known in the computer chess community at all. Most can see thru that easily enough.

But the copying goes on. I'm not particularly concerned with people copying bits and pieces of my code, but I do get more concerned when they claim the program as being 100% original, yet I can see the numbers for myself. There is some non-Bob code in Crafty. I've given Pradu credit for it also (magic move generation). And Eugene for the egtb.cpp stuff. I mentioned Fruit in the comments when I first added "history pruning" and then later pointed out that I had dropped the "history" part as it was completely ineffective. I think that is a reasonable, as in the history pruning case, I copied nothing since the program structures were so different, but the idea was quite simple to reproduce in Crafty's code framework.

But today, too many believe it is allowable to copy almost everything, which is a bewildering concept for me. Sort of like entering (say) the Olympics 100 meter dash, but having a proxy run the race for you. What is the "thrill of victory or agony of defeat" in that case???

Alexander Schmidt
Posts: 1086
Joined: Thu May 10, 2007 12:49 pm

Re: For Clones we dont need private police but Good logic

Post by Alexander Schmidt » Tue Sep 01, 2009 8:00 pm

Bill Rogers wrote:a complete 10% change in the software to declare it a new program.
And?

Then you have a "new program" but still broke copyright laws...

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 7:17 pm

Re: For Clones we dont need private police but Good logic

Post by mcostalba » Tue Sep 01, 2009 8:15 pm

bob wrote:If you look at stockfish, in my testing it is +120 better than the most recent Glaurung I have. The changes do not appear to be massive.
There is no silver bullet in Stockfish. There isn't any "win all" idea.

From Glaurung to SF 1.4 there are 47 tagged "features", apart from code reformatting and speed optimizations (that have been a lot).

It is marked as "feature" a patch that introduces a fuctional change, differencing it from a mere speed optimization or a code clean-up.

User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 2:54 am
Location: San Jose, California

Re: For Clones we dont need private police but Good logic

Post by Bill Rogers » Tue Sep 01, 2009 8:28 pm

Alexander Schmidt wrote:
Bill Rogers wrote:a complete 10% change in the software to declare it a new program.
And?

Then you have a "new program" but still broke copyright laws...
These were the copyright laws that I was quoting. The company I worked for wrote an accounting package that ran citys and counties across the nation. It normally sold for $50,000.00 so they were very much aware of all the copyright laws.
Like I said in the previous post if anything has changed then point me to the legal area where it is quoted.
Bill

User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 10:14 pm
Location: Munster, Nuremberg, Princeton

Re: For Clones we dont need private police but Good logic

Post by Rolf » Tue Sep 01, 2009 8:48 pm

bob wrote: Your math escapes me. If they copied 99%, then they only changed/added 1%. We do have to deal with the conservation of numbers here where 99% + x = 100% means X must be 1%.

Toga is a clone of fruit, plain and simple, No one argues that fact that I am aware of. Toga can't participate because ICGA rules do not allow derivative works. One could probably enter Toga, with Fabien listed as an author, if Fruit does not play. But both could not play. Ditto for Glaurung 2 and Stockfish, or any of the other such derivatives.

As far as "is it doable" to get a significant increase in Elo with just a few changes, the answer is yes. Null move search is maybe 10 lines of code, with a +80 Elo improvement. LMR is maybe 10-20 lines of code depending on how it is implemented, with a +80 improvement if you don't use null move, maybe 40 if you do (actual numbers have been posted in the past after I tested, I don't remember them exactly). It is quite easy to imagine yet another such idea being discovered, say going from Fruit to Rybka 1. If you look at stockfish, in my testing it is +120 better than the most recent Glaurung I have. The changes do not appear to be massive.
I am really shocked by what you say here. Because it proves my theoretical suspicions as justified. I find it really interesting. In special such counter expected process NM brings 80, LMR brings you 40 WITH NM, but if you dont NM then you get 80 again. This sort of topology (?) asks for a closer research, but since ELO is chess-related measuring, shouldnt these inventions be connected to very specific situations in a game of chess? Isnt it expectable that that program is scoring better if ignition starts in optimized modes for these tools?

Sorry, if that from my address must sound rather crazy but I assume that I have discovered a special routine in some RYBKA games which should be followed by others too.

If I am not completely misleaden it seemed to me that RYBKA is playing in a sub-optimal style. As if its programmer knew from experience that if he would order optimal play that then RYBKA would stumble in certain typical situations in chess, simply because the actual strength is not yet allowing to go for certain positional solutions. So he ordered the program to play another silent line where he then could score in higher percentages. I'm not really a chess master but I hope that some here wont find my discovery total nonsense.

With the above reflection I would say that strong play in correlation with scores cant be the same as searching for the "best" move in any position. So that a calculated test strength is not necessarily reflecting the true strength in game practice.

I can only hope that you for your open source project, but also all the others have brain power/man in reserve so that all this could be fairly researched.

Good luck and thanks for all your super answers like usual. Rolf
-Popper and Lakatos are good but I'm stuck on Leibowitz

hawkeye
Posts: 62
Joined: Thu Apr 03, 2008 6:54 pm

Re:Original project

Post by hawkeye » Tue Sep 01, 2009 9:12 pm

[quote][quote="Michael Diosi"]Did you try the newest very strong engine called Vegetable ? You should.[/quote]
[/quote]

Where can one download this engine from?

thanks,
Steve

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

Re: For Clones we dont need private police but Good logic

Post by bob » Tue Sep 01, 2009 10:16 pm

Bill Rogers wrote:
Alexander Schmidt wrote:
Bill Rogers wrote:a complete 10% change in the software to declare it a new program.
And?

Then you have a "new program" but still broke copyright laws...
These were the copyright laws that I was quoting. The company I worked for wrote an accounting package that ran citys and counties across the nation. It normally sold for $50,000.00 so they were very much aware of all the copyright laws.
Like I said in the previous post if anything has changed then point me to the legal area where it is quoted.
Bill
Check the GNU GPL agreement. When a piece of code is distributed under that license, all the terms of the license apply. Even if more restrictive than copyright laws.

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

Re: For Clones we dont need private police but Good logic

Post by bob » Tue Sep 01, 2009 10:17 pm

mcostalba wrote:
bob wrote:If you look at stockfish, in my testing it is +120 better than the most recent Glaurung I have. The changes do not appear to be massive.
There is no silver bullet in Stockfish. There isn't any "win all" idea.

From Glaurung to SF 1.4 there are 47 tagged "features", apart from code reformatting and speed optimizations (that have been a lot).

It is marked as "feature" a patch that introduces a fuctional change, differencing it from a mere speed optimization or a code clean-up.
That is exactly what I was saying. There are not thousands of lines of changes, if you ignore formatting issues. Yet there is a very significant performance improvement.

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

Re: For Clones we dont need private police but Good logic

Post by bob » Tue Sep 01, 2009 10:21 pm

Rolf wrote:
bob wrote: Your math escapes me. If they copied 99%, then they only changed/added 1%. We do have to deal with the conservation of numbers here where 99% + x = 100% means X must be 1%.

Toga is a clone of fruit, plain and simple, No one argues that fact that I am aware of. Toga can't participate because ICGA rules do not allow derivative works. One could probably enter Toga, with Fabien listed as an author, if Fruit does not play. But both could not play. Ditto for Glaurung 2 and Stockfish, or any of the other such derivatives.

As far as "is it doable" to get a significant increase in Elo with just a few changes, the answer is yes. Null move search is maybe 10 lines of code, with a +80 Elo improvement. LMR is maybe 10-20 lines of code depending on how it is implemented, with a +80 improvement if you don't use null move, maybe 40 if you do (actual numbers have been posted in the past after I tested, I don't remember them exactly). It is quite easy to imagine yet another such idea being discovered, say going from Fruit to Rybka 1. If you look at stockfish, in my testing it is +120 better than the most recent Glaurung I have. The changes do not appear to be massive.
I am really shocked by what you say here. Because it proves my theoretical suspicions as justified. I find it really interesting. In special such counter expected process NM brings 80, LMR brings you 40 WITH NM, but if you dont NM then you get 80 again. This sort of topology (?) asks for a closer research, but since ELO is chess-related measuring, shouldnt these inventions be connected to very specific situations in a game of chess? Isnt it expectable that that program is scoring better if ignition starts in optimized modes for these tools?
No. The issue is they overlap. Null-move does a reduced-depth search and uses that to "prove" that the full-depth search is not required to prune here. LMR uses a reduced-depth search on moves that are somehow felt to be inferior. If you use one already, and add the other, then you get less improvement than you got when you added the first one by itself. There is some redundancy involved that reduces combined efficiency.

Sorry, if that from my address must sound rather crazy but I assume that I have discovered a special routine in some RYBKA games which should be followed by others too.

If I am not completely misleaden it seemed to me that RYBKA is playing in a sub-optimal style. As if its programmer knew from experience that if he would order optimal play that then RYBKA would stumble in certain typical situations in chess, simply because the actual strength is not yet allowing to go for certain positional solutions. So he ordered the program to play another silent line where he then could score in higher percentages. I'm not really a chess master but I hope that some here wont find my discovery total nonsense.
Can't imagine writing chess software like that. The trees searched are so big as to be incomprehensible to a human. So playing sub-optimally is a foreign concept. Now if you want to tune your evaluation to be less speculative, so that you lose fewer games due to gross misjudgements, but also win fewer games with outlandish attacks, that is an issue of tuning.

With the above reflection I would say that strong play in correlation with scores cant be the same as searching for the "best" move in any position. So that a calculated test strength is not necessarily reflecting the true strength in game practice.

I can only hope that you for your open source project, but also all the others have brain power/man in reserve so that all this could be fairly researched.

Good luck and thanks for all your super answers like usual. Rolf

User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 2:54 am
Location: San Jose, California

Re: For Clones we dont need private police but Good logic

Post by Bill Rogers » Tue Sep 01, 2009 11:55 pm

Robert
I have heard of GPL but only as it applies to chess. Is it an amendant to the Nations copyright laws? If not then I don't know how well it would stand up in a court of law.
Bill

Post Reply