What the computer chess community needs to decide

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

Moderator: Ras

paulo
Posts: 53
Joined: Wed Dec 15, 2010 7:31 pm

Re: What the computer chess community needs to decide

Post by paulo »

Gian-Carlo Pascutto wrote:
paulo wrote:Furthermore I strongly believe any experienced software developer agrees with this.
No.
Absolutely yes.
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: What the computer chess community needs to decide

Post by Christopher Conkie »

paulo wrote:
Christopher Conkie wrote:
paulo wrote:
Gian-Carlo Pascutto wrote:
paulo wrote: Wow, amazing statement IMHO. If you don't look at the state-of-the-art engines how can you improve your CC knowledge to apply to your engines?
Uh, independent research, perhaps? He's posted extensively here about what he does...

Or has it come so far that everybody thinks copying is the ONLY way to write an engine? Oh my...
Can you imagine, for example, a surgeon saying something similar, that he
never looked at all to recent developed practices and techniques?
hgm is free to do in his free, unpayed time, as he wishes, even if it is not state of the art. Looking at other engines is a good way to quickly approach the state of the art, and to get stuck in the same local optimum as everybody else. Given that hgm is not interested in creating the strongest classical engine, there's no reason for him to do so.
I didn't mention nothing related to copying, did I?
Of course everyone is free to do what he wishes but learning and opening horizons is always a good thing to do.
You said this......
Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
So either hgm is an asshole or your statement is wrong. Which is it?
Sorry, these 2 statements you point are both correct.
Please read again and try to figure out what is my notion "from scratch".
I know what "from scratch" means. The question is....do you? Have you invented a new meaning for it?
paulo
Posts: 53
Joined: Wed Dec 15, 2010 7:31 pm

Re: What the computer chess community needs to decide

Post by paulo »

Christopher Conkie wrote:
paulo wrote:
Christopher Conkie wrote:
paulo wrote:
Gian-Carlo Pascutto wrote:
paulo wrote: Wow, amazing statement IMHO. If you don't look at the state-of-the-art engines how can you improve your CC knowledge to apply to your engines?
Uh, independent research, perhaps? He's posted extensively here about what he does...

Or has it come so far that everybody thinks copying is the ONLY way to write an engine? Oh my...
Can you imagine, for example, a surgeon saying something similar, that he
never looked at all to recent developed practices and techniques?
hgm is free to do in his free, unpayed time, as he wishes, even if it is not state of the art. Looking at other engines is a good way to quickly approach the state of the art, and to get stuck in the same local optimum as everybody else. Given that hgm is not interested in creating the strongest classical engine, there's no reason for him to do so.
I didn't mention nothing related to copying, did I?
Of course everyone is free to do what he wishes but learning and opening horizons is always a good thing to do.
You said this......
Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
So either hgm is an asshole or your statement is wrong. Which is it?
Sorry, these 2 statements you point are both correct.
Please read again and try to figure out what is my notion "from scratch".
I know what "from scratch" means. The question is....do you? Have you invented a new meaning for it?
You win, congratulations.
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: What the computer chess community needs to decide

Post by Christopher Conkie »

paulo wrote:
Christopher Conkie wrote:
paulo wrote:
Christopher Conkie wrote:
paulo wrote:
Gian-Carlo Pascutto wrote:
paulo wrote: Wow, amazing statement IMHO. If you don't look at the state-of-the-art engines how can you improve your CC knowledge to apply to your engines?
Uh, independent research, perhaps? He's posted extensively here about what he does...

Or has it come so far that everybody thinks copying is the ONLY way to write an engine? Oh my...
Can you imagine, for example, a surgeon saying something similar, that he
never looked at all to recent developed practices and techniques?
hgm is free to do in his free, unpayed time, as he wishes, even if it is not state of the art. Looking at other engines is a good way to quickly approach the state of the art, and to get stuck in the same local optimum as everybody else. Given that hgm is not interested in creating the strongest classical engine, there's no reason for him to do so.
I didn't mention nothing related to copying, did I?
Of course everyone is free to do what he wishes but learning and opening horizons is always a good thing to do.
You said this......
Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
So either hgm is an asshole or your statement is wrong. Which is it?
Sorry, these 2 statements you point are both correct.
Please read again and try to figure out what is my notion "from scratch".
I know what "from scratch" means. The question is....do you? Have you invented a new meaning for it?
You win, congratulations.
Thanks. Perhaps you can now rethink your discussion.....from scratch.

:)
paulo
Posts: 53
Joined: Wed Dec 15, 2010 7:31 pm

Re: What the computer chess community needs to decide

Post by paulo »

Christopher Conkie wrote:
paulo wrote:
Christopher Conkie wrote:
paulo wrote:
Christopher Conkie wrote:
paulo wrote:
Gian-Carlo Pascutto wrote:
paulo wrote: Wow, amazing statement IMHO. If you don't look at the state-of-the-art engines how can you improve your CC knowledge to apply to your engines?
Uh, independent research, perhaps? He's posted extensively here about what he does...

Or has it come so far that everybody thinks copying is the ONLY way to write an engine? Oh my...
Can you imagine, for example, a surgeon saying something similar, that he
never looked at all to recent developed practices and techniques?
hgm is free to do in his free, unpayed time, as he wishes, even if it is not state of the art. Looking at other engines is a good way to quickly approach the state of the art, and to get stuck in the same local optimum as everybody else. Given that hgm is not interested in creating the strongest classical engine, there's no reason for him to do so.
I didn't mention nothing related to copying, did I?
Of course everyone is free to do what he wishes but learning and opening horizons is always a good thing to do.
You said this......
Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
So either hgm is an asshole or your statement is wrong. Which is it?
Sorry, these 2 statements you point are both correct.
Please read again and try to figure out what is my notion "from scratch".
I know what "from scratch" means. The question is....do you? Have you invented a new meaning for it?
You win, congratulations.
Thanks. Perhaps you can now rethink your discussion.....from scratch.

:)
Only an asshole would rethink ... from scratch.

:D
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: What the computer chess community needs to decide

Post by hgm »

Don wrote:Is this acceptable? Should we as the computer chess community endorse this behavior, or discourage it?
I think a better defintion is needed of what is meant by "computer chess community". People involved with computers for Chess-related purposes are a very inhomogeneous group. there are:

*) engine authors (commercial or amateur)
*) GUI authors
*) book builders
*) database-manager authors
*) testers (conducting engine-engine tourneys privately, posting the results)
*) rating organizations (analyzing results from the above)
*) tournament organizers (OTB, on-line or broadcasted from a single machine)
*) Operators (on-line or OTB)
*) derivative improvers
*) cloners

And that is only the 'producers'. There are also people that are merely 'users' (and probably vastly outnumber the producers).

*) users that want to analyze their games with engines
*) users that want to play against engines
*) users that want to play engines against each other for their own amusement
*) users that want to get high elo in an on-line engine room
*) fanboys that want to brag the engine they bought is the best
*) fanboys that want to brag the engine they downloaded for free is the best
*) hackers that crack commercial software to redistribute or sell it

Of all these, which would have a say in the 'decision', and which opinions we will simply discard as irrelevant?

It also doesn't seem desirable to have a single standard that judges one thing as OK, and another as deplorable in every situation. Tournament organizers have quite different concerns than rating organizations. People that use engines to analyze games have very different demands from people wanting engine-engine matches to be a fair sport.

And these are not just conflicing interests between groups, because many people can belong 'both sides of the fence'. When I enter in a long-distance running contest, I would be pissed if the gold medal went to someone that did the distance by motor cycle. But when I have to visit my brother living 100 miles away, I am very happy I can use the motor-cycle to get there, rather than having to walk. So I will not be lobbying for outlawing motor cycles, or that everyone that manufactures them should be burned on the stakes...
Gian-Carlo Pascutto
Posts: 1260
Joined: Sat Dec 13, 2008 7:00 pm

Re: What the computer chess community needs to decide

Post by Gian-Carlo Pascutto »

paulo wrote:
Gian-Carlo Pascutto wrote:
paulo wrote: Wow, amazing statement IMHO. If you don't look at the state-of-the-art engines how can you improve your CC knowledge to apply to your engines?
Uh, independent research, perhaps? He's posted extensively here about what he does...

Or has it come so far that everybody thinks copying is the ONLY way to write an engine? Oh my...
I didn't mention nothing related to copying, did I?
I meant copying as in using ideas, not in the copyright sense. You weren't talking about copyright and neither was I.
Of course everyone is free to do what he wishes but learning and opening horizons is always a good thing to do.
Yes, and that is what hgw is doing. As I said, there are other ways to learn than to look at others ideas. For someone doing this for fun, I can sure see the fun in trying to come up with your own stuff.
Jason Konopka
Posts: 18
Joined: Sat Feb 05, 2011 4:01 pm
Location: Charlottesville, VA

Re: What the computer chess community needs to decide

Post by Jason Konopka »

Hi Don,

A couple of things. First, concerning Rybka 4 being a version of Fruit "by transitivity", couldn't one simply say that this is no longer true IF Rybka 4 no longer has any Fruit code? In this case, I would think that any remaining "essence of Fruit" would simply be "copying ideas" instead of "copying code", and this is pretty much universally accepted as okay.

Second, you say the following:
Don Dailey wrote:He probably blundered by leaving some small bits unchanged, such as the UCI interface parts because presumably that is still identifiable.
Is this "still identifiable" in Rybka 3 and 4, or are you referring here to Rybka 1.0 Beta?
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: What the computer chess community needs to decide

Post by hgm »

paulo wrote:Wow, amazing statement IMHO. If you don't look at the state-of-the-art engines how can you improve your CC knowledge to apply to your engines?
Can you imagine, for example, a surgeon saying something similar, that he never looked at all to recent developed practices and techniques?
I don't have to look at actual source code to learn about latest techniques. They are discussed in this forum (in another section, to be sure!). My engines use null-move pruning, because it was explained here in the forum how this search strategy works, and that it was very benificial. Coding I can do myself, as well as the testing to confirm that it indeed was a big help. My engines use LMR, and I did not have to study the source code of Glauring to know how that worked. It wasalso explained here.

I must admit I did look at the code for the evaluation function of Elephant Eye, in particular the King Safety term. But this was more to get an impression what should be valued and what avoided in keeping your King safe in Xiangqi (a variant for which I had no feeling at all, as I have never played it myself). The King Safety term I ended up with in HaQiKi D looked completely different from that in Elephant Eye. But it does recognize some of the same patterns as Elephant Eye, like the "hollow threat" and "central threat", simply because these are elementary strategic patterns of that game. But I would never have known it, without playing, with virtually no English texts available on its strategy (and none on-line and free), without looking at the Elephant Eye evaluation. It was not so much for getting the state-of-the-art of computer Xiangqi, but more filling in my total lack of knowledge on basic game strategy.
Last edited by hgm on Thu Feb 10, 2011 2:14 pm, edited 1 time in total.
Gian-Carlo Pascutto
Posts: 1260
Joined: Sat Dec 13, 2008 7:00 pm

Re: What the computer chess community needs to decide

Post by Gian-Carlo Pascutto »

Jan Brouwer wrote: But for those who enjoy the competition element, unfortunately the strong open source programs are out there, nothing that can be done about it.

Perhaps we should look at writing programs for other games, less well known games or even newlu invented games,
where there will be a level playing field to start with, and less incentive for cloning / reverse engineering etc.

I am curious to hear the reasons from other chess program authours to pour so much time into this hobby...
One problem of this proposal is that (computer) chess is popular. If we're doing this as a competition, we are competing to win. To be motivating, a win has to have some meaning, and it has more meaning on a popular discipline.

Now, computer chess isn't the most popular of disciplines, but it is more popular than say, Go, or simulating a racing driver around a track...both of which I have done and have seen other computer chess people in.

Of course, as it is now, computer chess is mostly useless as a competition between programmers, so I'm open for alternatives :)

I found out about the Google AI challenge too late, or I would have participated. Kaggle also organises competitions which are interesting, though data mining is perhaps a bit too specific to be real fun in the long term.

BTW: http://www.kaggle.com/ChessRatings2