Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Middle Game

Author: Serge Desmarais

Date: 18:19:20 09/03/98

Go up one level in this thread


On September 03, 1998 at 18:23:31, Robert Henry Durrett wrote:

><snip>
>
>I hope everybody will forgive me for responding to my own bulletin, but after
>posting it, I realized that it was too cryptic and possibly did not have the
>right tone.  Let me try again:
>
>
>>>Chess is like a real war. In the beginning, you try to take control of the
>>>center, just like trying to get on higher ground in a war, so that you can have
>>>an advantage. From there you seek out your opponents weak spots, while
>>>protecting your own. Formulate a plan of attack, by trying to capture his men
>>>while maintaining your own mobility. Never take your eye off his king or
>>>advancing forces.
>>>All of the chess Opening Books in the world stress this. A good opening is one
>>>in which you take control of the center so you can launch an attack.
>>>There is no shame in losing, only in not trying again!
>>>Bill Rogers
>>
>>No arguments with any of that.  I guess this encapsulates "Chess in a Nutshell."
>> In fact, if I recall correctly, someone actually wrote a book by that title!
>>But it was an entire book, not just a couple of paragraphs.
>>
>>Could you write a computer program to implement those ideas?  What would be the
>>main characteristics of such a program?
>
>QUESTIONS:  [Assuming that the opening book is disabled]:
>
>(1) If someone wished to write a simple subroutine or sub-program [which would
>later be incorporated into a chess engine] which had the purpose of "trying to
>take control of the centre,"  what would this software look like?  Is this
>actually done in any of the stronger chess engines?  If so, how is it
>accomplished?


Of course it is! Fritz 5 plays 1.e4 as a first move without a book, while Genius
3 preferred 1.Nf3, which is also a correct move.

>
>(2) If someone wished to write a simple subroutine or sub-program [which would
>later be incorporated into a chess engine] which had the purpose of "identifying
>the weak spots in the position (for both sides),"  what would this software look
>like?  Is this actually done in any of the stronger chess engines? If so, how is
>it accomplished?

Yes, it is already implemented. That is part of the evaluation of a position
(balancing the weak spots for both sides, evaluating the space of both sides,
piece mobility, potential and actual threats etc.). All this to decide which
side is better. Mainly, the better the evaluation's function of a program is,
the more precise it plays. It is of no use to calculate 15 plies deep and at the
end not being able to decide if the resulting positions would be in favor of
White/Black, to which extent (or equal). So, to head for certain positions
instead of others, the program must be sure that position is the best it could
achieve. It is not perfect, but sufficiently good to play relatively strong
chess (probably of a good IM level, as HIARCS 6 showed in beating IM Deen
Hergott in a 6 games match (40 moves in 2 hours), only losing one game. Hergott
had a FIDE rating a little below 2400.

>
>(3) If someone wished to write a simple subroutine or sub-program [which would
>later be incorporated into a chess engine] which had the purpose of "exploiting
>the enemy's weak spots,"  what would this software look like?  Is this actually
>done in any of the stronger chess engines? If so, how is it accomplished?

In fact, as Steinitz pointed it, the only reasonnable place to attack (when you
have the advantage) is at the weakest spot of the ennemy (who would be fool
enough to attack a stronghold at its most well guarded spot?). And yes, programs
do this. They are also good at DEFENDING weak spots (the best programs at
least).

>
>(4) If someone wished to write a simple subroutine or sub-program [which would
>later be incorporated into a chess engine] which had the purpose of "protecting
>one's own weak spots,"  what would this software look like?  Is this actually
>done in any of the stronger chess engines? If so, how is it accomplished?
>
See the end of the answer to your last question.

>(5) If someone wished to write a simple subroutine or sub-program [which would
>later be incorporated into a chess engine] which had the purpose of "Formulate a
>plan of attack, by trying to capture his men while maintaining your own
>mobility,"  what would this software look like?  Is this actually done in any of
>the stronger chess engines? If so, how is it accomplished?
>

There! Planning has about always been the weakest point for computers playing
chess... But now, with the monster CPUs that have come, we see that a deep
calculation resembles to something like a correct plan. Maybe HIARCS 6 is able
to formulate "real" plans as it is supposed to be a strategic programs (slow
searcher). I do not know since I don't have this program, but plan to buy the
engine to put in Fritz later. You must know that for a GM, the planning part is
mostly done saying mental sentences to oneself. Things like :"it would be nice
to go on g5 with the knight and then, after closing the center with d4-d5, push
the kingside pawns and open lines for the rooks there... But it coule be wise to
first transfer the king to the queen-side." So, for a GM, the planning part
(usually in closed positions) involves no calculations, or almost. The chess
programs cannot really do that, so they have to "calculate" a plan. This reminds
me of a story (don't ask me in what book exactly I got it!): 2 players were
analyzing a game (close to the ending phase or already in it) and Capablanca
came near the board and watched the players calculate and try moves for a short
moment. Then he changed all the position, putting the pieces on specific squares
(not playing moves, but creating a position). Then he just said that this
position was winning for this side (don't remember which colour, but it has no
real importance) and now all we have to do is reach that position with our
moves. So the plan was just to try to reproduce that position! And that could be
done!


>(6) If someone wished to write a simple subroutine or sub-program [which would
>later be incorporated into a chess engine] which had the purpose of "launch an
>attack,"  what would this software look like?  Is this actually done in any of
>the stronger chess engines? If so, how is it accomplished?

Fritz 5 is good at attacking, as well as Rebel (I don't own it, but from the
games I looked at from the SSDF database) and the new Junior 5. In fact all the
top programs you find on the SSDF list are good at attacking

>
>COMMENT:  My impression is that doing these things directly would be very
>difficult to program.


Apart from the "planning part", it has all been done!


Serge Desmarais



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.