Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Strategy vs Tactics in Computer Programs

Author: Russell Reagan

Date: 11:14:42 04/20/02

Go up one level in this thread


On April 20, 2002 at 13:55:19, Uri Blass wrote:

>On April 20, 2002 at 13:32:01, Russell Reagan wrote:
>
>>On April 20, 2002 at 08:36:39, Mike Hood wrote:
>>
>>>After the Smirin vs Shredder match voices became loud saying "Today's computer
>>>programs may be brilliant at chess tactics, but they are still weak at chess
>>>strategy". I agree with this statement, except for the word "still". My
>>>contention is that it is not possible to give computer programs any strategical
>>>understanding whatsoever.
>>
>>Then your contention is wrong.
>>
>>>Everything is based on positional evaluation and
>>>search depth. If the search depth is deep enough, a computer may make a series
>>>of moves that simulate a strategy, but that's all it is: a simulation; a fake.
>>
>>Not really. How do you think a grandmaster forms his strategy? Do you not think
>>that he looks ahead to some depth, analyzing different lines? A computer does
>>the same thing. It looks ahead at many lines. The only difference is that
>>computers look at MANY more lines than a grandmaster does. The GM is better at
>>pruning off lines that are inferior, so the computer "wastes" a lot of it's
>>time, but it's really fast so it can afford to look at almost everything. You
>>say it's a "fake", a simulation. Yes, a computer simulates looking many moves
>>ahead, but then again so do humans, if you want to get technical. They don't
>>actually move the pieces on the board, that's illegal. They simulate moving the
>>pieces on the board in their head. So if computers strategies are "fake", then
>>so are human's strategies.
>
>Humans may think like this:
>f5 is a good square for the white knight because by getting there it can attack
>the weak pawn d6.
>
>The shortest way to go with the knight to f5 is Nb1-d2-f1-g3-f5 so let extend
>thess moves.
>
>I believe that no program with known source code calculates in that way.
>
>My program also does not calculate in that way because I believe that for
>programs that are not top programs and probably even for top programs there are
>more important things to work about but I do not think that it is impossible to
>teach programs to do it.
>
>Uri

No top human player plays without calculating a great deal. Basically what a
chess player does (if they're good) is calculate variations. I bet before that
player thought that f5 was a good square for his knight he calculated a bit to
make sure that it was a good square. At least, if he was a good player that's
what he would do.

A computer program would act similar. It only doesn't have the initial thought
that f5 might be a good square, although it wouldn't be hard to program into the
engine, so I disagree with your idea that no program calculates this way.

For example, you have your program analyze a database of GM games and so it has
some statistics about which squares are good for certain pieces, which can
easily be stored in a 64-byte array. There is unlimited room for improvement on
this scheme. Maybe you have an entire database of 64-byte arrays giving
different values to the pieces depending on other circumstances on the board.
It's really not that hard to give the program some idea that f5 might be a good
square to try first in this position.

At that point, the program begins calculating. The main difference here is that
a human CAN'T calculate every variation or he would. A computer simply does lazy
calculation and calculates pretty much everything. Both computer and human would
find the best way to get the knight to f5. If the computer's evaluation function
dictated that it should get to f5, the computer would probably be better at
getting it there than the human, because the only way to get it there is to use
tactics to make sure that you can make the moves needed without the opponent
throwing a wrench or two into your "strategy".

Computers and humans don't play chess the same way, but they can be made to to a
certain degree, and computer and humans both definetly make use of strategies. A
computer's strategy might not be as specific as "I'd like to get my knight to
f5", but a computer's strategy will be more general. For example, "keep the
position wide open when playing a human opponent". That's a strategy the program
learned from it's author.

Russell



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.