Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Are there any engines with a dynamic parameter algorithim

Author: Majd Al-Ansari

Date: 14:12:16 10/17/05

Go up one level in this thread


On October 17, 2005 at 14:40:52, Uri Blass wrote:

>On October 17, 2005 at 08:42:12, Mike Hood wrote:
>
>>On October 17, 2005 at 08:03:49, Vladimir Medvedev wrote:
>>
>>>
>>>>I was thinking why not have an algorithim that can recognize certain aspects of
>>>>the position and then accordingly change parameters "on the fly".  For example
>>>>in the opening it would use certain parameters, then when the position becomes
>>>>dynamic again a change in parameters, if both bishops are on again another
>>>>parameter.
>>>
>>>A brilliant idea: when position is good algorithm should evaluate it as good,
>>>and when position is bad, it should be evaluated as bad. I wonder why no chess
>>>programmer implemented this simple approach during 40+ years of chess
>>>programming...
>>
>>The problem with this approach is: apart from very general classifications
>>("opening", "middlegame", "endgame") it would be necessary to build the position
>>recognition and parameter alteration into the algorithm in order to analyse a
>>position. And if a position is recognized, why not just add a positional offset
>>point or two to the evaluation rather than alter the parameters? Even obvious
>>positional criteria such as passed pawns aren't as clear cut for parameter
>>changes. There may be a passed pawn on the board now, but it could be gone after
>>6 plies into the search.
>>
>>I'm not saying that the dynamic parameter approach is impossible to implement.
>>All I'm saying is that this approach would probably lead to an overall weaker
>>engine.
>
>
>I think that it is possible to use this approach in opening book.
>
>opening book today include only moves.
>
>I think that it may be better to include after every move recommended
>personality to use in case that the opponent get you out of book.
>
>The main problem with this approach is that you may need a lot of testing to do.
>
>You may find that personality X does the engine 50 elo better in lines that are
>A54 based on the ECO but you may need months of testing by a tester in order to
>get the details of personality X .
>
>I think that in order to succeed with this approach you may need hundrends of
>testers when everyone of them will investigate different ECO line and no
>programmer have today hundreds of testers to help him to improve his program.
>
>Uri


Maybe I didn't make myself clear.  I was thinking on more in terms of solving
certain test problems.  You can change the engine parameters where one setting
does very well on a test suite but somehow results are weaker.  If an algorithim
can be designed in such a way so as to understand a certain position and thus
adjust its parameters on the fly, I think would not need too much testing.  I
think this would be an amazingly powerful implementation of the engine.  For
example if the position is starting to get blocked the parameters would be more
on looking for long term solutions that require conservative manoeuvering and
less aggressive settings.  Now if the position has lots of heavy pieces near the
enemy king the parameters would change to much more aggressive settings, looking
to possibly pile more pieces there or look for sacrificial attacks that expose
the king.  In theory at least it seems like it would be worth a try.  It would
certainly make engines much more human like.  I have seen games from engines
such as Junior which will do fantastic build ups and dramatic attacks, but seem
to feel uncomfortable in quite positions and try to stir up complications
because of their aggressive settings.  Then they over extend themselves and are
helpless when the initiative is lost.



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.