root move ordering

Discussion of chess software programming and technical issues.

Moderator: Ras

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: root move ordering

Post by bob »

Releasing every change would be a mistake and waste of time. What if the changes are regressions rather than improvement? It takes time to release everything, and then answer the questions about which version is better, etc. It is much saner to release periodically after changes have been tested thoroughly. It limits the number of interactions and questions, and also a lot of confusion about which version is better. In the old days, the most recent versions of Crafty were often not the best. Today that is not the case, and using the most recent version always gets the strongest engine.
QED
Posts: 60
Joined: Thu Nov 05, 2009 9:53 pm

Re: root move ordering

Post by QED »

Whoa, what is this general discussion doing in this technical thread? Anyway...

I do not claim to understarnd all of the fine points of the discussion, but my name was mentioned here, so maybe you might want to know what my understanding of some things is.

My motivation for playing with Stockfish sources was to obtain some knowledge about decision making algorithms (I converted to singularitarianism recently) and to learn how to code (more efficiently). It was a surprise for me, that I actually started to like it and to invest more time in it.

I have contributed some ideas (in form of patches backed up by tests) to 1.7.1 sources, but none of them made their way to 1.8 surces (because my patches were ugly and messy and 1.8 is clean and beautiful). Therefore I am not named as an author of the code, only as a contribtor of patches and tests.

Speaking about psychological reward, listing me as a contributor was less satisfying comparing to the simple fact, that every tested patch was thoughtfully commented by Marco. Perhaps that is why I was mentioned in this thread. I have done nothing really applicable, but maybe I have showed a promising attitude.

By the way, there really should be a 'how to' page (maybe at http://chessprogramming.wikispaces.com ) describing how to download sources, a book/openingsuite, install a compiler, cutechess-cli, bayeselo, and how to test and publish patches. Yes, I am too lazy to do it, too.

This experience has showed me, that even if I can come up with ideas and I am able to (somehow) code them, there are many other skills that make a good software developer.

I am completely happy with the situation that I only copy sources to my disk; edit, compile, test and publish it in this forum. On the other hand, I would like to hear internal discussion of the authors, including what patches are they testing (and the results).

I understand that publishing any internal information is a burden, but if all that is needed is to set git to be public readable, I would second it (coming from a guy who does not know what git actually is). There could be, besides official (stable) releases, also silent experimental versions (for eager contributors to play with).
Testing conditions:
tc=/0:40+.1 option.Threads=1 option.Hash=32 option.Ponder=false -pgnin gaviota-starters.pgn -concurrency 1 -repeat -games 1000
hash clear between games
make build ARCH=x86-64 COMP=gcc
around 680kps on 1 thread at startposition.
Roger Brown
Posts: 782
Joined: Wed Mar 08, 2006 9:22 pm

Re: root move ordering

Post by Roger Brown »

Uri Blass wrote:
No
We did not need your post to make the point that more releases are going to make more noise and Marco Costalba already explained this opinion.

Here are your words:

"Uri, please do not attempt to argue something which you do not believe in and have never practiced with your own chess engine."

I understand that in other words you blame me that I am not honest about my opinion and I suggest things that I do not support(and the proof is that I did not do similiar things with movei)

Later when I try to defend myself and explain that movei is irrelevant you claim that my statements are correct and totally irrelevant.

I do not understand your point.

Uri



To use your style:

Yes.

It is clear that you do not understand my point at all.

No.

I no longer wish to discuss matters with you. Now I remember why I swore never again respond to your posts....

Yes.

It has been fun.

Later.
Look

Re: root move ordering

Post by Look »

Releasing every change would be a mistake and waste of time. What if the changes are regressions rather than improvement? It takes time to release everything, and then answer the questions about which version is better, etc. It is much saner to release periodically after changes have been tested thoroughly. It limits the number of interactions and questions, and also a lot of confusion about which version is better. In the old days, the most recent versions of Crafty were often not the best. Today that is not the case, and using the most recent version always gets the strongest engine.
Hi,

Ralph Stoesser asked for a 10 elo points change, and IMO very logically so, since it could be that, the improvement suggested by a contributor overlap with improvements from the team. I suppose you already have some interesting figures for such cases. But in fact this is not the real problem, point is as I said SF does not represent an open source project, as far as, contribution from people who are not members of the team(called trolls) is concerned.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: root move ordering

Post by Michel »

mcostalba wrote:
If this practice can foster the desire of people to see their names listed somewhere and hence their willing to contribute to SF then we should seriously reconsider this choice because could "attract" wrongly motivated (for my opinion, of course) people.
You call this "wrong motivation" but honestly I can't see what's wrong with people being happy about their names being listed somewhere.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: root move ordering

Post by mcostalba »

Michel wrote:mcostalba wrote:
If this practice can foster the desire of people to see their names listed somewhere and hence their willing to contribute to SF then we should seriously reconsider this choice because could "attract" wrongly motivated (for my opinion, of course) people.
You call this "wrong motivation" but honestly I can't see what's wrong with people being happy about their names being listed somewhere.
It is very wrong when this is the main, to not say the only, reason why they do stuff on SF. And it is wrong because it leads to hungers, envy, ego-ism, and so on, it is the "dark side of the force" :-), the good side is not fishing for personal rewards apart from the fun of doing what you are doing.

Again, this is just my opinion.


I also would like to answer to Vratko. We don't have a lot of internal discussion on what pacth to test next, every one of us as a todo list of patches to test but normally we inform other teammates only after patch has been tested (so in the same way is doen here on the forum), sometime we tell before the test just to avoid overlapping, and most of teh time we test pacthes, patches fail and we even don't inform remaining team, so that most of the work we do goes silent.

Regarding to inform about internal info, you may have seen what happened when I, mistakenly, said I have found a tweak of move ordering that gave some good test response :-( Immediately people start to ask for actual patch with persistency, I don't want to repeat that error.

I am sure that if I would post that patch (but I won't) someone would start to mockup a new compile, test it, take noisy results (because test result are always noisy and can be very noisy if test is wrongly approached) and create additional noise and mess up. So I admit my error and that was a lesson I have learned.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: root move ordering

Post by Michel »

It is very wrong when this is the main, to not say the only, reason why they do stuff on SF. And it is wrong because it leads to hungers, envy, ego-ism, and so on, it is the "dark side of the force" Smile, the good side is not fishing for personal rewards apart from the fun of doing what you are doing.
Well all I can say is that refusing to give credit for external contributions on apparently ideological grounds is something really weird. I completely fail to see the point of it.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: root move ordering

Post by bob »

Look wrote:
Releasing every change would be a mistake and waste of time. What if the changes are regressions rather than improvement? It takes time to release everything, and then answer the questions about which version is better, etc. It is much saner to release periodically after changes have been tested thoroughly. It limits the number of interactions and questions, and also a lot of confusion about which version is better. In the old days, the most recent versions of Crafty were often not the best. Today that is not the case, and using the most recent version always gets the strongest engine.
Hi,

Ralph Stoesser asked for a 10 elo points change, and IMO very logically so, since it could be that, the improvement suggested by a contributor overlap with improvements from the team. I suppose you already have some interesting figures for such cases. But in fact this is not the real problem, point is as I said SF does not represent an open source project, as far as, contribution from people who are not members of the team(called trolls) is concerned.
There are projects where the source of all released versions is made public. This is what I do in Crafty, and what the Stockfish people seem to do. That is different from a giant communal project where everybody is contributing changes.

The former is pretty "orderly" and not very time-intensive. The latter produces a _ton_ of noise, changes that do not work when tested properly, etc. I don't see any reason why they (or we) should want to get into that kind of noisy environment, it wastes too much time. I get occasional code changes for Crafty. Some look reasonable and I test to verify, some look like nonsense and are discarded. And some of the reasonable-looking ones are still bad with real testing. Going to the "communal" approach would increase that noise level by 100x or more.

I released the source for Crafty in 1995, not to get others to contribute code to help me improve it, but to show others what is done in a complete engine that works effectively, so that rather than just reading about an idea, one can look at an actual implementation to understand the details that are not obvious in the discussion about the idea. Stockfish, Fruit, et. al. have certainly accomplished that goal themselves...
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: root move ordering

Post by Don »

Michel wrote:
It is very wrong when this is the main, to not say the only, reason why they do stuff on SF. And it is wrong because it leads to hungers, envy, ego-ism, and so on, it is the "dark side of the force" Smile, the good side is not fishing for personal rewards apart from the fun of doing what you are doing.
Well all I can say is that refusing to give credit for external contributions on apparently ideological grounds is something really weird. I completely fail to see the point of it.
I'm a little confused myself by the reason he gives which makes no sense to me. It's a principle of human nature that people need recognition and acknowledgment and this is a positive thing.

However, you have to respect the decision. It's their project, it's in their hands and they get to make the decisions and no matter how you look at it this is a gift to the computer chess community.
Uri Blass
Posts: 10874
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: root move ordering

Post by Uri Blass »

<snipped>
mcostalba wrote: and most of teh time we test pacthes, patches fail and we even don't inform remaining team, so that most of the work we do goes silent.
I think that being silent may be counter productive for improvement of stockfish because knowing about patches that failed may help to think about new patches that help stockfish to become better.

Uri