The near future of computer chess

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

Moderators: hgm, Rebel, chrisw

Sune_F

Re: The near future of computer chess

Post by Sune_F »

Don wrote: 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."
Honestly, I don’t see much diversity, I consider it more like variations on a theme. The same basic algorithms are used by everyone, they suffer from the same nullmove weaknesses etc. You can call it inbreeding and I can call it survival of the fittest ideas or equivalently, convergence towards the optimal solution. There are several factors contributing to this, one is probably the nature of the problem, but another is the flow of information. When strong programs gets disassembled, ideas get reused and programs converge. To get true diversity we need to develop independently in vacuum or at least protect the codes better.
What interests me, is the pattern we have been seeing for the last decade or so. It seems that the most successful methodology has been to build upon existing, strong and well written codes.
Maybe every 10 years we should pick the top 10 engines and only build on those :wink: New diversity can emerge over time from the same starting point, it would just be at a higher level.
Don wrote: 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.
I feel the same way, but objectively it’s just a very inefficient attitude from a scientific or strength/time point of view. When you take a look at all the most successful engines you really can’t say they are the work of a single individual. They have either been developed in teams, be it parallel or sequential in time, or the engines are based heavily on ideas of others through eg. disassembly.
Sometimes I wonder if our feelings on this matter could be standing in the way of progress. It doesn’t seem rational to force everyone to start from scratch and waste 2-3 years, when they could possibly jump right in and start improving an existing top engine. As long as proper credit is given to the original authors I would have no problem with it. It doesn’t seem that much different than eg. disassembling a top engine and using the ideas in your own engine. Why go through these hoops when the result is practically the same? In the latter case proper credit is often not granted making it somewhat more dishonest IMHO.
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: The near future of computer chess

Post by Houdini »

Ron Langeveld wrote: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
Please be consistent with yourself, and stop using the free versions of dirty derivatives like Houdini.

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

Re: The near future of computer chess

Post by bob »

Laskos wrote:
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
You need to get out more. You don't think guys like John Carmack are not among the "smartest game programmers out there?" The guy that wrote what was voted "Greatest game of all time" a few years back???

I had a TI 59 with the "leisure library" that computed USCF ratings and such... I wouldn't even mention that in the same room with someone talking about Doom...
Ron Langeveld
Posts: 140
Joined: Tue Jan 05, 2010 8:02 pm

Re: The near future of computer chess

Post by Ron Langeveld »

I even tell the friends that ask me for advice not to buy Houdini, is that consistent enough for you ?
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: The near future of computer chess

Post by Houdini »

Ron Langeveld wrote:I even tell the friends that ask me for advice not to buy Houdini, is that consistent enough for you ?
Buying or not buying is completely besides the point.
It's just very strange to see people like yourself calling engines "dirty derivatives" yet continuing to use them...

Robert
Gino Figlio
Posts: 95
Joined: Sun Jan 10, 2010 6:10 am
Location: Lamar, Colorado, USA

Re: The near future of computer chess

Post by Gino Figlio »

Robert,

It's not strange, it's a compliment to the strength of your engine.
Ron Langeveld
Posts: 140
Joined: Tue Jan 05, 2010 8:02 pm

Re: The near future of computer chess

Post by Ron Langeveld »

Houdini wrote:
Ron Langeveld wrote:I even tell the friends that ask me for advice not to buy Houdini, is that consistent enough for you ?
Buying or not buying is completely besides the point.
It's just very strange to see people like yourself calling engines "dirty derivatives" yet continuing to use them...

Robert
I don't use Houdini to analyze games! Don't twist my words. Anyway, there are better engines with better origins for that purpose.

You are probably aware where the alliteration comes from : I belief you shouldn't sell what's not yours to sell anyway. There is little I can do about this, but there is also little you can do about my beliefs, which will most likely also be labeled 'besides the point'.

Ron
Ron Langeveld
Posts: 140
Joined: Tue Jan 05, 2010 8:02 pm

Re: The near future of computer chess

Post by Ron Langeveld »

Gino Figlio wrote:Robert,

It's not strange, it's a compliment to the strength of your engine.
No it is not meant that way Gino. I wasn't trying to address Houdini's strengths at all, or weaknesses for that matter, but since we are on that subject : from what I have seen I would say Houdini is 'overrated', even though there are rating lists based on many engine blitz games where Houdini is on top.

Ron
Gino Figlio
Posts: 95
Joined: Sun Jan 10, 2010 6:10 am
Location: Lamar, Colorado, USA

Re: The near future of computer chess

Post by Gino Figlio »

Rating lists are unreliable when trying to determine how useful an engine is for game analysis. You are a better correspondence chess player than me, I can't teach you anything but I have done my homework with Houdini when it comes to game analysis. I honestly tell you that if you don't use it to analyze certain openings, you are missing out.
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 »

bob wrote:
Laskos wrote:
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
You need to get out more. You don't think guys like John Carmack are not among the "smartest game programmers out there?" The guy that wrote what was voted "Greatest game of all time" a few years back???

I had a TI 59 with the "leisure library" that computed USCF ratings and such... I wouldn't even mention that in the same room with someone talking about Doom...
That's very nice that you used a "leisure library" of TI-59. I know some serious folks (front-line researchers) who used TI-59 for their research papers in late 70ties and later. In the early 80ties, at the age of 7, I was a co-author of a such published research paper exactly by using TI-59, sorry for mentioning this here. My part of the paper was only the computational one, calculus, integrals, regressions, series, I didn't know basically what the paper was about. Why wouldn't I mention TI-59 when someone is impressing me with uber-Doom? I learnt with TI-59 linear operator egenfunctions, matrices operations, eigenvectors, eigenvalues, diagonalization, determinant, Jordan forms, systems of linear equations, uni- and multi-variate statistics, combinatorics, probability theory, regressions, Legendre and Chebyshev transforms, integration methods, Newton-Cotes or Gauss-Kronord, complex numbers operations, integration over a complex contour, residues, ok, and probably much more. All this in the early 80ties, much, much earlier than reading any textbook on this stuff.
Computer graphics (in Doom too,for that matter) uses matrices both to represent objects and to calculate transformations of objects using affine rotation matrices to accomplish tasks such as projecting a three-dimensional object onto a two-dimensional screen. Should I be impressed that they are using billions of them and with a billion times stronger processor? Sorry, I am not, more so when even a factor of 10 in speed in most of the parts of the code is not a big deal there.

And TI-59 had some very entertaining games, from math puzzles to checkers and even chess. Yes, in the chess case one had to wait for some five hours for a move, so what? At the age of 7-8 it's fun. And I had friends programming better than me TI-59, I was amazed by their feats, faster, shorter code for almost every task.

When I got Spectrum, my own stupidity started to explode, and with my first XT I was finished, it was an overkill, I started to build some stupid graphics too, it's very tempting as a kid. By now I am a very weak programmer.

That you mentioned John Carmack, sure I remember his Wolfenstein 3D (from 1992?), it was huge. But take the recent Wolfenstein. It's literally 1,000 times larger as a whole and ~100 times slower. Sorry, is this all eye-candy shadowing, space partitioning, mega-texture and who knows what worth the size, the time and the effort needed to develop? The game experience is almost the same, more so if one adapts for 1-2 days to 15 years old graphics. Come on, if I remember well, in the Call of Duty, they forgot to implement the law of gravity in the game-play, implementing instead all this visual crap. Some games even regress, take the TW series, Rome (2004) was reasonable, needed some improvements for the field battles, the present Shogun 2 is an uber-candy graphically, unplayable practically 10 times larger game. I am fond of historical battles, there indeed some AI and intelligent modelling of battles, formations, individuals, psychology, decision making, strategy is needed, some hard stuff, in that part exactly they regressed. Do I care that now I can see even the rotating body hair of the soldiers? Really, Moore's law of stupidity in the gaming industry.

Kai

ps Some developers are really good. Wolfram "Mathematica" is simply awesome, adding a feature after another, making faster compiles, MathLink, libraries, etc. All packed up on a single good, old CD.