Author: Vincent Vega
Date: 18:37:28 03/15/01
Go up one level in this thread
On March 15, 2001 at 02:40:21, Bruce Moreland wrote: >On March 14, 2001 at 21:12:55, Vincent Vega wrote: > >>On March 14, 2001 at 03:20:07, Bruce Moreland wrote: >> >>>On March 13, 2001 at 19:06:27, HECTOR MUNOZ wrote: >>> >>>>There are some who might argue that a computer chess program is not a >>>>demonstration of intelligence in particular, a program which uses Shannon's >>>>Type A Approach. I need to present a solid argument that such a program >>>>does involve intelligence. >>> >>>Everyone tries to answer this question without figuring out what they mean by >>>"intelligence" first. >>> >>>The OED definition takes the better part of a page, and gives various usages >>>dating back to 1390, although some aspects of the word are extremely new. In >>>particular, the use of the term "intelligence quotient" is said to date back >>>only to 1921, as expressed in English. That's the part of the definition that >>>gets everyone tied up in knots these days. >>> >>>The first definition is "[t]he faculty of understanding; intellect." The second >>>one is "[u]nderstanding as a quality of admitting of degree; spec. superior >>>understanding; quickness of mental apprehension, sagacity." The others don't >>>seem to apply much. >>> >>>I don't think the dictionary is very helpful here. This word seems too large >>>for the dictionary. Perhaps someone has written a book or an article that gets >>>to the point, but failing that, I'll take a crack at it, as it relates to >>>computer programs. >> >>Well, most posts so far have made a direct or indirect mention of the fact that >>"intelligence" is a very hard concept to define. The discussion about the >>difference between intelligence and IQ, etc., has been played out over and over >>hundreds of times on the Net so I don't find it too interesting to go into these >>general cases again. Defining chess-specific intelligence is much more >>interesting though. >> >>> >>>I believe that intelligence is displayed if a program can generalize effectively >>>within a sufficiently complex problem domain. It's not enough to be able to >>>handle specific cases, it must be possible to be effective in a wide variety of >>>cases, via the use of general-purpose code. >>> >>>Chess, a game that has fascinated humans for hundreds of years in its current >>>form, and much longer if we allow for precursor forms, seems like it would >>>qualify as a sufficiently difficult domain. Humans devote their lives to the >>>game and the game remains fresh and challenging. >> >>I disagree. Chess is an extremely limited problem domain. The fact that it is >>interesting and difficult for humans doesn't make it any less limited. >>Successful chess approaches have not been successful in other turn-based, >>full-information, finite games like Go, not to even mention less similar >>problems. > >Full-board alpha-beta is not going to work with Go, and programmers haven't come >up with a replacement that gets them to where we've gotten with chess, but that >doesn't detract from chess as much as people want to say it does. So what if Go >is harder to do? It doesn't detract from chess-playing programs (after all most of them are made to play well, not to be some AI demonstrations) but it detracts from the claim that these programs exhibit some level of intelligence that isn't limited to chess. Since the techniques successfully used in chess programs (like alpha-beta, transposition tables, variable depth, move sorting, null-move, tablebases, opening books, etc.) don't appear to be enough to make a computer Go player even a respectable opponent, I question if these abilities could be called intelligence since they can't be adapted to new situations even in problem domains close to chess - and adapting to new situations might be called a requirement for demonstrating intelligence. > >>>I believe that the current programs generalize very well. They can play >>>essentially any position. >> >>I disagree. They barely generalize at all. Generalization is inferring rules >>from particular cases. Most programs do it rarely, if at all, instead the >>programmer or his references do it and the program simply uses these ready-made >>rules. > >They generalize across the entire domain of chess. I'm not talking about what >the eval function does, I'm talking about what the program does. The programs >play quite well in positions that weren't anticipated by anybody. That's a lot >of positions. I don't think that being able to play well in a new position can be called "generalization" if there is no earlier step of inferring rules that actually make it play this well. The difference is similar to what neural nets do during training and during actual computation based on new inputs. Most chess programs are like already-trained nets that only do the second part - they are able to handle unexpected new cases just like a trained net can handle an unexpected input vector. But their programmers are the only ones doing the first part that involves the creation of their "brain" and requires real generalization. > >>>There are some that cause them problems, but there >>>are a great many that they play well enough to challenge a strong human when the >>>human plays against the program, and they can be used even by very strong humans >>>in order to provide insight in very difficult positions. These positions are >>>rarely foreseen by the program's author, but the program is still very >>>effective. >> >>This is not an example of the ability to generalize. I don't think you can >>argue that these insights are caused by any generalization ability. Instead, I >>think that other abilities like quickly and accurately classifying positions, >>having great memory capacity and calculation speed, or having access to large >>databases of ready-made solutions make their insights useful. > >People have latched on to the endgame database notion as a means of accusing the >programs of being cheap. You could delete the endgame databases and there would >be no significant change in play until there are few pieces left, and even then >the programs would do okay without endgame databases. Endgame databases are a >means of getting a little bit more performance out of something that is already >good. > I am not saying that databases are somehow cheating or anything like that. What I mean is that they are one of program's qualities (with others I mentioned like the calculation speed) that make it seem insightful. I don't think most programs' generalization abilities factor into making them seem insightful. >A program could play alright without an opening book, but these are added as a >cheap way of adding randomness and improving strength cheaply. > >During the middlegame, the programs are creating strength from search and a >pretty limited evaluation function. It works surprisingly well and there aren't >many special cases coded in, mostly just notions of material, space, and >structural issues. > Sure. But a computer can also calculate a square root of 63462132 faster than a human can. One might argue in the similar way that this ability makes it intelligent. >>>I think that intelligence is essentially the ability to effectively handle >>>difficult specific cases with general-purpose methods, and the chess domain, >>>while very specific, is rich enough that it requires the ability to generalize >>>in order to tackle the wide variety of practical cases a program is apt to face. >> >>Handling special cases with general-purpose methods is not generalization. >>Creating these methods is and few programs do it. Even if they were able to do >>it well, I still wouldn't call them "intelligent" because I find chess to be way >>too limited of a domain. > >I don't think that the all of the less complex games are boring, and I don't >think that a game program is boring unless it's a million lines long. Humans >play more complex games than chess, but there are obviously theoretical games >beyond those which are much more complex. I don't think this fact diminishes >the games like Go and Shogi, anymore than the existence of Go and Shogi diminish >chess. Hey, I've worked on some million-line programs and one was actually pretty interesting, except when I had to wait for that thing to build. :-o > >Chess was until recently a game that was considered to be too difficult for >computers to play well. That this has been proven false is a great achievement. > >bruce Yes, I agree that it is a very nice achievement but I don't know if too many people actually thought that humans would always be superior to computers in chess. Weren't there some failed predictions that computers would soon defeat best GMs throughout the history of computer chess? I hope these predictions didn't make the actual achievement of this goal seem less important.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.