Author: Simon Read
Date: 09:58:37 02/02/98
Go up one level in this thread
On January 30, 1998 at 14:14:54, Mark Taylor wrote:
>It seems to me that most people define intelligence as whatever we can
>do that "machines" can't do yet.
I have just been struck by a totally different viewpoint.
*** It is very easy to define stupidity! ***
It follows from this that avoiding stupid behaviour is the definition
of intelligence. The trouble is, the ingenuity of fools will defeat
the wise time and time again, i.e. there are many varieties of stupid
behaviour. It is a lot of work and skill to create a program which
avoids all these obvious (to us) pitfalls.
Evaluating at a fixed depth, now that's just plain stupid! Isn't
it obvious that your program's queen is hanging?
Not considering all legal moves, now that's just plain stupid!
You mean that your program thinks a simple algorithm or evaluation
function can out-perform any kind of search?
The horizon effect, now that's just plain stupid! You mean your
program gives up pawn after pawn, just to delay the loss of a
knight, and ends up much worse off when it could have simply
let go of the knight?
Taking that vulnerable pawn, even though it's obvious the queen's
going to get trapped, now that's just plain stupid! You mean your
program doesn't notice that ring of pawns and pieces surrounding
the queen?
Aimlessly wandering the king around, now that's just plain stupid!
You mean you have interlocked pawns and it's so obvious that the
white king needs to stroll over to d6 to threaten promotion of the
pawn and so take black's other pawns, but the king still hangs
around e3?
Allowing two connected pawns on the 6th rank, now that's just
plain stupid! Did your program really think that it was a rook up?
Making the same mistake time and time again, now that's just plain
stupid! You mean your program lets someone take it out of book and
play the same winning line over and over again?
I believe that most of the above have been solved, by
(starting with the simple problems) a quiescence search,
a full-width search, more search depth, a hash table,
more complex evaluation functions, book learning and
position learning.
Endgame tablebases also eliminate some varieties of
stupid behaviour, with the added bonus of entertaining
us with forced mates in 50 or so, from time to time.
They can also produce the peculiar (but not stupid) behaviour of
going for a certain mate in 50, rather than an almost-certain
mate in 15. This is very Karpov.
I had a thought about position learning. When a program remembers
a position and the search depth and evaluation, perhaps it could
also remember evaluations at other search depths as well? A blitz
game encountering a position seen before might well reason,
"I'm searching 6 ply, now here is a position where it says that
a 10-ply search wins large material, now I could make that move,
but when I get to that position and one move beyond it, I'm going
to have to make an 8-ply search to find the gold at the end of
the rainbow and I won't be able to, so will a 6-ply search guide
me in the right direction or will there still be a hill to climb
over?"
More information stored in the saved position might allow this
judgement to be made.
One problem
about which I have reservations is the horizon effect. I think
Berliner's B* Hitech approach addresses this. I'm still not sure
whether singular extensions are a solution to this problem or
not, though.
The "trapped piece" phenomenon really is a tricky one.
There are probably slow algorithms to determine if a piece
is trapped or not, but applying these at every leaf node
is daunting.
As our evaluation functions become more complex, the side-effects
induced by greater search depth will give much better positional
play.
Complex algorithms produce complex and subtle stupidities.
The interaction of all the features of a chess program produce
behaviour which is based on extremely complex calculations and
pinning down the reasons is not always possible. Identifying
varieties of stupidity to avoid is going to get more difficult.
Avoiding those stupidities is even more difficult.
In short, programs really are demonstrating intelligent behaviour.
The next hurdle is evaluation function learning. This should
produce a much higher-order kind of intelligence. There is a
hierarchy of intelligence, depending on the obscurity of the
stupidities which are avoided. It has been said that chess is
a game of least mistakes, so he whose stupidities are more
subtle and obscure can be called more intelligent.
Finally, here is an amusing wise old saying:
Information cures ignorance; nothing cures stupidity.
Regards
Simon (Dr. Read at last!!!!!)
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.