The near future of computer chess

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

Moderator: Ras

wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: The near future of computer chess

Post by wgarvin »

Milos wrote:
Thomas Mayer wrote:I don't know whether you program for a living, for me it's part of my business, and so far every new project started with a blank screen, only looking into my own old sources or into some programmers forums how things can be done.
BS.
Most of commercial programming is just coping and pasting, from their own sources, from sources of projects within their company, from sources their company acquired in legal or illegal way, from open-source community and from public domain.
Maybe you personally are different but majority of the commercial programmers certainly is not.
I've worked with lots of commercial software developers for 10+ years and I've never seen copying from sources acquired illegally. [edit: all of my jobs have been in Canada or the United States.] Open source, sometimes (if we can convince the lawyers that we can accept the terms of the license; GPL'd stuff almost never gets allowed). Most closed-source code I've been employed to work on was written entirely from scratch. Even in the game industry--a very results-focused industry--we usually just write our own code because getting permission to reuse open source code takes too long, and reusing existing code is not free in terms of time and effort and maintenance etc.

Its possible I've just been lucky to not work for scuzzy shops that use pirated software and blatantly ignore source code licenses; I suppose they exist, but every company I've worked for has been very serious and scrupulous about properly licensing third-party code before touching it.
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: The near future of computer chess

Post by geots »

SzG wrote:
Terry McCracken wrote:
kranium wrote:
Terry McCracken wrote:
I don't drink.
you're just naturally belligerent?
You're naturally a jerk?
I would like to join in your sublime conversation but I have nothing useful to add, unlike you.


Gabor, I think those 2 ought to get married.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: The near future of computer chess

Post by Laskos »

wgarvin wrote:
Milos wrote:
Thomas Mayer wrote:I don't know whether you program for a living, for me it's part of my business, and so far every new project started with a blank screen, only looking into my own old sources or into some programmers forums how things can be done.
BS.
Most of commercial programming is just coping and pasting, from their own sources, from sources of projects within their company, from sources their company acquired in legal or illegal way, from open-source community and from public domain.
Maybe you personally are different but majority of the commercial programmers certainly is not.
I've worked with lots of commercial software developers for 10+ years and I've never seen copying from sources acquired illegally. [edit: all of my jobs have been in Canada or the United States.] Open source, sometimes (if we can convince the lawyers that we can accept the terms of the license; GPL'd stuff almost never gets allowed). Most closed-source code I've been employed to work on was written entirely from scratch. Even in the game industry--a very results-focused industry--we usually just write our own code because getting permission to reuse open source code takes too long, and reusing existing code is not free in terms of time and effort and maintenance etc.

Its possible I've just been lucky to not work for scuzzy shops that use pirated software and blatantly ignore source code licenses; I suppose they exist, but every company I've worked for has been very serious and scrupulous about properly licensing third-party code before touching it.
Probably that's why the size of the basically same quality and functionality games went from 0.1GB 10 years ago to 10GB now. Shows how efficient those programmers and their practices are.

Kai
Terry McCracken
Posts: 16465
Joined: Wed Aug 01, 2007 4:16 am
Location: Canada

Re: The near future of computer chess

Post by Terry McCracken »

SzG wrote:
Terry McCracken wrote:
kranium wrote:
Terry McCracken wrote:
I don't drink.
you're just naturally belligerent?
You're naturally a jerk?
I would like to join in your sublime conversation but I have nothing useful to add, unlike you.
You just did.
Terry McCracken
Terry McCracken
Posts: 16465
Joined: Wed Aug 01, 2007 4:16 am
Location: Canada

Re: The near future of computer chess

Post by Terry McCracken »

geots wrote:
SzG wrote:
Terry McCracken wrote:
kranium wrote:
Terry McCracken wrote:
I don't drink.
you're just naturally belligerent?
You're naturally a jerk?
I would like to join in your sublime conversation but I have nothing useful to add, unlike you.


Gabor, I think those 2 ought to get married.
I think you shouldn't hang out in locker rooms.
Terry McCracken
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: The near future of computer chess

Post by wgarvin »

Laskos wrote:
wgarvin wrote:
Milos wrote:
Thomas Mayer wrote:I don't know whether you program for a living, for me it's part of my business, and so far every new project started with a blank screen, only looking into my own old sources or into some programmers forums how things can be done.
BS.
Most of commercial programming is just coping and pasting, from their own sources, from sources of projects within their company, from sources their company acquired in legal or illegal way, from open-source community and from public domain.
Maybe you personally are different but majority of the commercial programmers certainly is not.
I've worked with lots of commercial software developers for 10+ years and I've never seen copying from sources acquired illegally. [edit: all of my jobs have been in Canada or the United States.] Open source, sometimes (if we can convince the lawyers that we can accept the terms of the license; GPL'd stuff almost never gets allowed). Most closed-source code I've been employed to work on was written entirely from scratch. Even in the game industry--a very results-focused industry--we usually just write our own code because getting permission to reuse open source code takes too long, and reusing existing code is not free in terms of time and effort and maintenance etc.

Its possible I've just been lucky to not work for scuzzy shops that use pirated software and blatantly ignore source code licenses; I suppose they exist, but every company I've worked for has been very serious and scrupulous about properly licensing third-party code before touching it.
Probably that's why the size of the basically same quality and functionality games went from 0.1GB 10 years ago to 10GB now. Shows how efficient those programmers and their practices are.

Kai
Um, no. That size is all assets--compiled code sizes of modern AAA games are in the 10-30 MB range. Its just that they contain tens of thousands of high-resolution textures, meshes, animations, sounds, and other game-related blobs of data. Hundreds of thousands of assets, all painstakingly created by a team of hundreds of people.

But it is true there is a lot of code in these games (millions of lines) and teams often have dozens of programmers on them for several years. And we do use middleware where it makes sense, some of which is quite expensive. But steal their code? I've never seen that. Getting caught amd sued for that could put a game development studio out of business, it would be a huge, foolish, unnecessary risk.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: The near future of computer chess

Post by Laskos »

wgarvin wrote:
Laskos wrote:
wgarvin wrote:
Milos wrote:
Thomas Mayer wrote:I don't know whether you program for a living, for me it's part of my business, and so far every new project started with a blank screen, only looking into my own old sources or into some programmers forums how things can be done.
BS.
Most of commercial programming is just coping and pasting, from their own sources, from sources of projects within their company, from sources their company acquired in legal or illegal way, from open-source community and from public domain.
Maybe you personally are different but majority of the commercial programmers certainly is not.
I've worked with lots of commercial software developers for 10+ years and I've never seen copying from sources acquired illegally. [edit: all of my jobs have been in Canada or the United States.] Open source, sometimes (if we can convince the lawyers that we can accept the terms of the license; GPL'd stuff almost never gets allowed). Most closed-source code I've been employed to work on was written entirely from scratch. Even in the game industry--a very results-focused industry--we usually just write our own code because getting permission to reuse open source code takes too long, and reusing existing code is not free in terms of time and effort and maintenance etc.

Its possible I've just been lucky to not work for scuzzy shops that use pirated software and blatantly ignore source code licenses; I suppose they exist, but every company I've worked for has been very serious and scrupulous about properly licensing third-party code before touching it.
Probably that's why the size of the basically same quality and functionality games went from 0.1GB 10 years ago to 10GB now. Shows how efficient those programmers and their practices are.

Kai
Um, no. That size is all assets--compiled code sizes of modern AAA games are in the 10-30 MB range. Its just that they contain tens of thousands of high-resolution textures, meshes, animations, sounds, and other game-related blobs of data. Hundreds of thousands of assets, all painstakingly created by a team of hundreds of people.

But it is true there is a lot of code in these games (millions of lines) and teams often have dozens of programmers on them for several years. And we do use middleware where it makes sense, some of which is quite expensive. But steal their code? I've never seen that. Getting caught amd sued for that could put a game development studio out of business, it would be a huge, foolish, unnecessary risk.
You wrote

Even in the game industry--a very results-focused industry

While it's truly results-focused, with Moore's law on hardware, the programmers in the game industry follow a Moore's law on stupidity. The smartest game programmers I know were those for TI-59 from 1970ties, having 960 program steps.

Kai
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: The near future of computer chess

Post by wgarvin »

Laskos wrote:
wgarvin wrote:
Laskos wrote:Probably that's why the size of the basically same quality and functionality games went from 0.1GB 10 years ago to 10GB now. Shows how efficient those programmers and their practices are.

Kai
Um, no. That size is all assets--compiled code sizes of modern AAA games are in the 10-30 MB range. Its just that they contain tens of thousands of high-resolution textures, meshes, animations, sounds, and other game-related blobs of data. Hundreds of thousands of assets, all painstakingly created by a team of hundreds of people.

But it is true there is a lot of code in these games (millions of lines) and teams often have dozens of programmers on them for several years. And we do use middleware where it makes sense, some of which is quite expensive. But steal their code? I've never seen that. Getting caught amd sued for that could put a game development studio out of business, it would be a huge, foolish, unnecessary risk.
You wrote

Even in the game industry--a very results-focused industry

While it's truly results-focused, with Moore's law on hardware, the programmers in the game industry follow a Moore's law on stupidity. The smartest game programmers I know were those for TI-59 from 1970ties, having 960 program steps.

Kai
Perhaps, but give us some credit! The game industry is an industry like any other, and the game programmers I've worked with were not significantly better or worse than non-game programmers. A few of them are wizards, but most of them are just hard-working programmers like you find anywhere. ;) The one thing they all have in common is a passion for games.

There was no game ever made for a TI-59 that compares with a modern console game, nor will there be. Game developers are always trying to get the most out of the hardware they have; modern games are extremely complicated, but that complexity is not for nothing. Compared to 10 or 15 years ago, high-end games now have better animation, better physics, much larger and more detailed environments, much better sound, better NPC behaviour, and of course much better-looking graphics (which comes from a combination of many different factors--better models, texturing, better lighting and shadows, better shader effects for different materials, ...).

We tend to remember the games of the past with rose-colored glasses, but seriously, if you fire up any 15-year-old game (Quake 1, Super Mario 64...) and compare it to a current-generation console epic there's no comparison. =) All this shiny does come at a price, though... modern games are huge and complex, and so are the teams that produce them. Most people outside the industry don't appreciate just how huge (though you can watch the credits of any AAA game to get an idea... they're a lot longer than movie credits).
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: The near future of computer chess

Post by Don »

Laskos wrote:
Don wrote:
Milos wrote:
Don wrote:It's not like that at all. I personally don't believe that you have any right to "own" an idea. I am not a capitalist like you must be if you believe that. U.S. law makes ideas something that can be bought and sold and protected but I don't buy into that.

So now if some disreputable people come up with good ideas and publish them, then I have no obligation to refrain from using them and put myself at a disadvantage. If that were the case then I guess I am a hypocrite for using alpha/beta pruning and Hash tables in my program. That's how stupid and utterly ridiculous your line of reasoning is here.
No you are not a hypocrite for using alpha-beta or LMR.
You are a hypocrite for using ideas that are obtained by the means you personally believe are unethical.
I never said that I believe obtaining ideas from these programs are unethical. Show me where I said that.

I said that the verbatim copying of code from other programs is unethical. Now if I copied code from other programs, that would be unethical and it wouldn't make any difference if the code was from legitimate programs or the illegitimate programs.
That makes you unethical in your own system of values.
Except that you failed to show where this is a violation of my own ethics. To make your case you need to show some quote from me where I claim it is unethical to obtain or use ideas from other programs and you won't find that.

You are an unscrupulous and devious person for making the above statement in bold which is a complete misrepresentation of my position. You say, "ideas that obtained by the means you personally believe are unethical" which recasts my position into a form that you can attack, you are being dishonest for doing this.

If you want to have a constructive debate on this, please stop being devious and dishonest so that we can focus on the actual issues.

And ethics seams to be totally strange to you.
You are not one who should talk about ethics after the way you dishonestly keep misrepresenting our position on the usage of ideas. Also there is this matter of how you desperately need to equate the use of ideas with source code theft. These are 2 separate things but your whole argument falls into pieces unless you can make a strong connection between the two things. You have to keep doing this over and over with deceptive statement like the above because it isn't working for you.
Don, be more nuanced. We all accept that taking ideas is fair. Only by doing that, one could get into solving some experiments (tuning), maybe very similar to what is already done. We have to separate the theoretical part, "ideas", from the experiment. Do I have to re-make all the experiments, knowing the published results? If needed experiments (tuning) are already done, I think it's fair to use to every degree one needs the results of these experiments. That is how research in sciences is working.
I don't believe that you fully understand what you are actually saying here. In a nutshell you are saying to let someone else do the work, and then just start from that. It's already the case that the people doing the least work are taking the most credit.

I there is a serious misconception that perhaps MOST of the readers of this forum have about computer chess programming that is causing a lot of difficulty. They think that if you take 20 good ideas from some really good program, you end up with a good program.

Building a strong chess program is not summing the parts because the whole is not necessarily the sum of the parts, but it can also be much greater than the sum of it's parts. To those of you who start with a program that is already strong, you cannot really even begin to understand the effort to get there - and I suspect it's the reason the legitimate authors are so angry and feel the same way I do about this. You (not necessarily you personally) think that you can take some mundane program and just put in a few tricks "taken" from Ippolit for instance, and have an incredibly strong program. It doesn't work that way.

There is also a factor that most here are completely ignorant about which involves computer science and I believe applies here with a real vengeance. It's called the "local optimum" which means that a better solution exists, but it's probably not close to the point you are starting from. Put in everyday language it means that as long as you promote using Ivanhoe as your starting point and believe that everyone should start from that exact code and build in a straight line from that, you are not going to move towards better solutions. Learning algorithms in general struggle with that exact problem and often incest becomes an issue that exacerbates the problem. The general cure to this is "diversity."

So your "mental model" of how things should be done, in prefabricated assembly line fashion, is seriously broken as a vehicle towards making serious and drastic progress.
Then, as is natural to happen, even a completely original engine like Komodo falls into Fruit/Rybka branch, as shown here:

http://www.talkchess.com/forum/viewtopi ... &start=163
This is not a surprise, most of the top programs have the same basic "Kaufman" evaluation function. Rybka and Komodo have it for legitimate reasons. Still, Komodo is farther away that the other top programs which have the "Kaufman" evaluation function because Kaufman has continue to develop the evaluation function for Komodo, so the other programs are using the older stuff. Whatever modifications they have added have not really served to put much distance between them as seen in the graph.

This is a natural convergence of a way to build a strong engine. I am a theorist by nature, and if some already done experiments are useful to me, then I would not hesitate, and it's a common practice in sciences, to use even literally the results of the experiments. It's even absurd to tune for months some values which were already derived experimentally by others.
If you were as good as you say then you would realize that it doesn't work that way. Every part of a chess program interacts with every other part. For example if you change the evaluation function then you must then re-calibrate the futility margins and every other position based margin. Of course since you seem to be advocating leaving most of the program alone because someone else already did the real work you are unwilling to do, you will be forced into a dead end. At some point you will HAVE to make drastic changes in order to see actual progress and break out of your local optimum.

This is something that Larry and I are not afraid to do, we do not have this monolithic piece of code that we are afraid to touch because we don't understand how it works. We touched every piece of it, know the history of it, and understand it intimately. And we are not afraid to hammer it into a new shape if we have to.


Therefore it's fair to take ideas, and it's also fair to use as much experimental data as possible even literally, if it is of use. Experimental data is an intrinsic property of the theoretically described system, once the experimental data is shown, no one can claim it as his own, no more than the value of the eccentricity of the Earth's orbit or the rest mass of the electron. On the programming forum I saw one guy who presented his engine, as far as I understood, he was building it pretty fairly, but you guys came there to teach some moralistic, pretty wrong lessons, discouraging him to the point of abandoning the project. The lesson is that one shouldn't bother asking you.
You should look at that thread again. I was the only one who gave this guy encouragement, not even the open source guy did that.

Kai
You guys are in the minority here. With very few exceptions the ones advocating this behavior are the one DOING it, or the ones that don't know anything about computer chess programs. The ones actually doing it are followers, not leaders and even though they may have significant talent they lack imagination or are just lazy.

It's not in my own nature to do that. I told Larry once that we could probably take a program like Ivanhoe and easily add 100 ELO by implementing a lot of the ideas in Komodo and fixing the things that are obvious to us. We could also do this with Stockfish. I think Larry secretly would have liked to do this had it been legitimate, but to me it was like taking all the fun out of it. EVEN if it had been fully acceptable and ethical, I could not get satisfaction from doing it this way. I would be a fraud and I would feel that I was being dishonest. Of course I could just be up front about it and make an open source fork of the code, but then it's not my stuff. I would rather have a program that completely sucks than to have the best program out there that is basically someone else's work with my name on it.
Ron Langeveld
Posts: 140
Joined: Tue Jan 05, 2010 8:02 pm

Re: The near future of computer chess

Post by Ron Langeveld »

Well said Don!

You have my full support in this ethical debate, and it won't be just words. For the very same reason I might use dirty derivatives like Houdini but I will never be buying it. Komodo on the other hand I will buy as soon as the MP version is available.

Ron Langeveld
ICCF GM