Computer Chess Club Archives




Subject: Re: chess and neural networks

Author: Ralph Stoesser

Date: 06:08:03 07/04/03

Go up one level in this thread

On July 04, 2003 at 07:06:21, Rolf Tueschen wrote:

>On July 04, 2003 at 06:08:14, Ralph Stoesser wrote:
>>On July 02, 2003 at 04:17:28, Rolf Tueschen wrote:
>>>On July 01, 2003 at 18:20:12, Fernando Alonso wrote:
>>>>On July 01, 2003 at 15:46:06, Ralph Stoesser wrote:
>>>>>Right, that's what I intend with my question. During a 'normal' chess game a
>>>>>chess engine has to face often positions where the difference in evaluation
>>>>>between let's say the 5 best moves or so is very small. In such circumstances a
>>>>>trained neural network maybe could help to find good positional moves better
>>>>>than a classical evaluation.
>>>>I agree with you, that is the important point. To put it in other words, can I (
>>>>a patzer) with my little chessknowledge, beat Fritz 8 using Fritz 8 to analyze
>>>>the moves I my brain "thinks"?. I am sure there is a level of playing were
>>>>someone using a program can beat easily the same program playing alone. But can
>>>>that knowledge be implemented in neural networks?
>>>What knowledge? For the moment nobody addressed Tom's objection IMO. Chess is
>>>very concrete.
>>Chess is very concrete, but for example Backgammon and Checkes (Chinook
>>[Schaeffer, 1997]) are very concrete games too. There the NN-learned evaluation
>>is successfull. In fact you can solve very concrete problems with NNs.
>>>Now what you all are saying that there existed a "knowledge" to find "good"
>>>positional moves. Of course our human GM have that knowledge. It is a mixture
>>>out of the evaluation of the very concrete position, deeper (later) consequences
>>>and again very concrete calculations for these _later_ positions. I dont see why
>>>"fuzzy" approaches should do that job better than the "classical" evaluation.
>>Real GM-like chess knowledge is very hard (if not impossible) to express in a
>>straightforward algorithmic way. From that point of view every classical
>>evaluation function is a fuzzy approach to GM-like chess knowledge. Yes, we have
>>many known rules from chess teaching books. These rules can be implemented
>>directly into the evaluation function. But what about the dependencies between
>>these rules and what about that part of GM knowledge, that is hard to express in
>>a classical evaluation function? (i.e. when a GM says: "I feel good in this
>>position, but I cannot accurately determine why I have this feeling"). Exactly
>>these kind of things could solve a NN based evaluation by learning from GM
>From the games or better from the thought processes of the GM?

From the games, that's how NN works, learning from applied knowledge. We can't
look into the head of a GM and even if a GM claims to have reflected and
verbalized all he knows about playing grandmaster level chess, I think there
often is knowledge which he cannot (at least not easy, but for sure not only
because he has that knowledge) verbalize, because he has a NN in his head which
has been trained over many years to play grandmaster level chess whilst his NN
in general has not been trained to speak about why (in exact details) he's able
to play grandmaster level chess. From knowledge-based systems it's known that
experts from other domains than chess are also not always been able to verbalize
all of there knowledge unless they have learned to do so. And even if they have
learned to verbalize it, there are other reasons why they sometimes can't
translate their knowledge 1:1 into words.

-Experts sometime forget to mention factors, because they beleive they are
evidentely or their knowledge was not triggered from certain stimuli.

-Very complex knowledge, especially pictographic knowledge, cannot verbalized
adequately in general.

-Parts of their knowledge may be unconscientiously.

>I think that a GM who gives the above mentioned statement is of no great help
>for a programmer indeed. And I do also think that a GM who says so is not really
>honest. A GM knows very well why he has the impression that his position is with
>perspectives or why he feels good. But such a GM does not tell us the secrets.
>What is the reason for such an attitude? It's very easy to understand.
>A GM has had similar positions (which required certain techniques) and he knows
>the difficulties for the defense. And he might have won so and so often. But a
>GM had the opinion, if he spoke too much about these details, that he would give
>his opponents important details for their future competition. We, as lays, must
>understand that between GM it is not so much a question about specific openings
>or such but about positions that require certain techniques where different GM
>have different strengths. Just read SUETIN to understand how deep the
>preparation goes into the psychology and talents of opponents. - It is clear
>that players who give in-detail analyses of their games would betray their own
>chances in future competition. - So, no, I do not buy it, that chess strategies
>could not be verbalised in detail.
>But the point of Tom was that chess is concrete and often the difference between
>positions is defined by the position of a R. Or better sometimes. And this
>"sometimes" is difficult to program. If you dont want to do it all by brute

>The reason is also not in the concreteness. Concreteness alone is no guideline.
>You mention that checkers is also concrete. Fine. But then it isn't so "deep" =
>it is decided earlier in the game. And that is always the point with chess and
>even more with GO. How to program something no machine could ever foresee? How
>to program that there the R on e1 is better than d1? When the result is only
>showing up after 35 plies or more?

In case the best players in the world can "feel" that Re1 is better than Rd1,
than they must have some other knowledge than look 35 plies ahead. In this case
a NN should be able to learn it too. In case of Re1 is a "non-positionally" move
but nevertheless the best move only because of very deep tactically reasons,
than only a 35-ply deep search will find it, but no GM and not even a god-like
static evaluation function.

>I wouldn't be so pessimistic. Perhaps some programmers can find a code for such
>depths. We are just not that far in the development. I am not a programmer, but
>why being pessimistic?

35 plies is a lot and instead of waiting for quantum computers, one may have the
idea to try a NN first before he will die :)

>As a hint I could give the three books of Euwe on Chess Training. You know this
>Amateur vs Master etc. You can't find better explanations for chess. But to
>understand Euwe you must be at least a good expert. 1200 wouldn't do it. So, the
>often repeated "chess programmers must not be good chess players" is wrong IMO.
>However the question is buried in hardware progress.
>>>What you in special are proposing is NOT a question of "knowledge" but simply
>>>one of cheating. You know exactly the "thought process" of a program. So you can
>>>always discover a difference in the evaluation of the final position. Now the
>>>trick is to invite the machine to go blindly for a big difference which is then
>>>the win for you. This is typically the approach of smart amateurs with weaker
>>>chess talents. [Dreihirn comes to mind.] But real chess is something else. A GM
>>>does NOT win because he's a clairvoyant but because his judgement (combining the
>>>very concrete with the general experience for the actual and then later
>>>positions) is "better". A weaker chessplayer has no adaequate judgement at all.
>>>I cant see why neural networks should have one - where should it come from? Out
>>>of the blue?
>>>Again, you simply didn't address Tom's objection that "sometimes" it is very
>>>important where your Rook is standing. Very concrete. How to handle that
>>>"sometimes" it is "important"?

This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.