Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Symbolic: The TNS (Thousand Node Search)

Author: martin fierz

Date: 05:14:07 02/18/04

Go up one level in this thread


On February 17, 2004 at 18:07:30, Will Singleton wrote:

>On February 17, 2004 at 04:36:40, martin fierz wrote:
>
>>On February 16, 2004 at 19:12:54, Will Singleton wrote:
>>
>>>On February 16, 2004 at 17:11:57, martin fierz wrote:
>>>
>>>>On February 16, 2004 at 16:06:00, Robert Hyatt wrote:
>>>>
>>>>>On February 16, 2004 at 15:38:58, Uri Blass wrote:
>>>>>
>>>>>>On February 16, 2004 at 14:43:48, Robert Hyatt wrote:
>>>>>>
>>>>>>>On February 16, 2004 at 10:31:03, Steven Edwards wrote:
>>>>>>>
>>>>>>>>Symbolic: The TNS (Thousand Node Search)
>>>>>>>>
>>>>>>>>The idea of limiting the cognitive search in Symbolic to under a thousand nodes
>>>>>>>>is based upon psychological studies that suggest top level human chessplayers
>>>>>>>>usually visualize between 100 and 1,000 positions per move in complex
>>>>>>>>middlegames.  My personal time control upper limit preference for non-blitz
>>>>>>>>chess is a minute per move, and so the resulting target figure for node
>>>>>>>>frequency is about 20 Hz.
>>>>>>>
>>>>>>>I think you are starting off here using an unsound assumption.
>>>>>>>
>>>>>>>"100 to 1000 positions per move" is probably nowhere near right.  There is a
>>>>>>>difference between a human mentally moving pieces around, and his comparing them
>>>>>>>to pattern-recognition information that in itself is the result of searching
>>>>>>>significant amounts of tree space.
>>>>>>>
>>>>>>>Who knows _what_ I actually do after thinking a few minutes and moving the
>>>>>>>pieces around in my head, to decide 'this position is one I want to reach."  Did
>>>>>>>my "static evaluation" fold in a bunch of past experiences via pattern matching?
>>>>>>> IMHO picking some number like 1K is just picking a number like 1K, not that 1K
>>>>>>>is more or less meaningful than 100 or 10K...
>>>>>>>
>>>>>>>
>>>>>>>trying to quantify how many "positions" a human searches is pointless until we
>>>>>>>know how a human really "searches".  To date, we have no idea.  this probably
>>>>>>>won't change for many years, until all the marvelous abilities of the human
>>>>>>>brain have been analyzed and understood.
>>>>>>
>>>>>>I think that it is not necessary to know how the human brain analyze and it may
>>>>>>be possible to generate something better because humans do not do something that
>>>>>>is close to optimal.
>>>>>>
>>>>>>Humans do a lot of mistakes and they use a lot lazy evaluation.
>>>>>>When humans visualize positions they do not count exactly pawn structure of
>>>>>>every position and other factors and their lazy evaluation may miss an important
>>>>>>positional factor that they could see by looking at the relevant position for
>>>>>>another second.
>>>>>>
>>>>>>Humans also do not have a perfect memory and they may analyze the same line
>>>>>>again because they forgot that they already analyzed it or they forgot the
>>>>>>result of their analysis.
>>>>>>
>>>>>>Uri
>>>>>
>>>>>
>>>>>I wouldn't argue that point at all.  however, the original reason for choosing
>>>>>"1000" was based on some perceived human ability to evaluate that many positions
>>>>>(upper bound).  I think that concept is what is flawed.  Trying to do a good
>>>>>program with only 1K nodes is an interesting goal.  But thinking that the 1K
>>>>>number has something to do with human thought processes is probably incorrect.
>>>>>I say probably because no one knows, just yet...
>>>>
>>>>i believe it's fundamentally wrong to force computers into some human
>>>>straight-jacket. we have our capacities, the computers have theirs.
>>><snip>
>>>
>>>Yes, now.  But think about how strong a computer might be if it could emulate
>>>the human approach to chess.  Pattern-recognition and extrapolation, at which
>>>the brain can excel, are probably the best way to limit tree size (at least
>>>better than what we do now).  As computers get faster, with access to huge
>>>memory, the standard minimax with alpha/beta approach will improve.  But the
>>>real breakthrough will occur when our primitive knowledge of brain function
>>>becomes better understood, and we can take advantage of vast memory and
>>>processing speed to replicate, and then improve upon, the human approach to
>>>chess.
>>
>>why should a computer emulate the human approach to chess? not everything in
>>nature is perfect...  are our aeroplanes equipped with big feathery flapping
>>wings? if we find a better solution, we should use it. chess computers can do
>>many things the best human players are quite uncapable of, and sacrificing this
>>kind of power seems wrong to me (and you would be sacrificing it if you wanted
>>to build in sophisticated pattern recognition in a program, slowing it down by
>>many powers of 10...).
>>
>
>Yes, I agree.  But you missed my point.  The brain is able to play a superior
>game of chess today because it can search more efficiently.  Once it's search
>methods become understood, then combining those algorithms with the speed of the
>computer will yield a superior method to play chess.  Not now, maybe not for 50
>years, but it will happen.  It's inevitable, just as it is inevitable that
>machine intelligence will surpass our own.

i don't know about this. it's fairly clear that the brain does extensive pattern
recognition to select a small number of candidate moves instead of looking at
all moves. insofar i think the difference between computer and human chess is
quite well understood. however, it's rather unclear to me that porting this type
of chess-playing to a computer is the right way to go because
1) you need lots of processing power for the pattern recognition
2) any selective search is prone to errors when it's candidate move selection
misses an important move.

about 1), humans simply cannot do what computers can do, namely compute millions
of positions. our brain is completely unable to do that. however, it's good at
pattern recognition which is why we (i mean the best of our species at chess of
course, not you and me!) have a chance against the machines. for other tasks,
like adding two numbers, all our pattern recognition doesnt help a bit, and we
are chanceless against the machines.
i think when comparing the human and the machine approach to chess, you should
not forget that we humans have no choice about our search algorithms. our brain
has certain capabilities, and we are playing chess exactly in such a way that we
are using these capabilities as well as possible.
so i would conclude that you have to adapt your way of playing chess to the
underlying hardware. if it's good at pattern recognition, go the human way. if
it's good at calculating, do what machines do. just don't force either system to
do things it's no good at.
you say that you want to combine our algorithms with the speed of the computer.
IIRC it has been estimated that human GMs have several 10'000 patterns stored in
their brain. if you want to process several 10'000 patterns at every node, you
probably will reduce your program to crawl, no matter how fast your hardware is.
i think it's a big mistake to assume that our brain is slow compared to
computers when it comes to this kind of task.

about 2), you see the following zillions of times in chess magazines by now. a
GM comments on a game, and then at some point he writes: "with the computer move
XY white could have saved himself / could have won", the term computer move
referring to a move a human GM throws out of his list of candidate move because
it doesnt fit in his thinking patterns. so if you decide that doing things the
way humans are doing them is a good idea, and steven's idea of a thousand node
search is good, you have to be very aware that even if your pattern recognition
is up to human super-GM standards you will still be missing things any stupid
chess program can see.

>btw, you brought up an interesting area of study with your reference to bird
>wings.  There are many people working on new flight technologies based on bird
>wings and tails, not the least of whom are in or working for the defense dept.
>Imagine an airplane, just as one example, that could dive, hover, and change
>direction instantly, for use in surveillance.  Or targeting.  There is also
>development on submarines using the propulsion methods of fish.

who knows, perhaps this is a good idea. but there again, i would point out that
the US defense department (i assume you're referring to the US, but probably all
defense departments are similar in this respect...) often studies "way out"
ideas. i have seen many reports of the latest activities of the DOD pop up in
physics journals with some very cynic remarks about them - like that they are
financing crazy ideas which are completely impossible according to some rather
elementary laws of physics. but if you tell the generals you will be able to
shoot down XY or do something else which would be really cool for a general,
they usually give you a chance to prove it.

>Emulating systems that have developed over millions of years of natural
>selection seems a reasonable approach.

perhaps - perhaps not. without referring to religion, i do believe that
"intelligent design" is superior to random evolution, even if you let the
randomness work for a long time. perhaps millions of years is enough to make
random evolution work better than intelligent design, but then again, perhaps
not.

cheers
  martin



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.