Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Which Algorithm is considered the best ?

Author: Andrew Williams

Date: 02:28:00 08/07/00

Go up one level in this thread


On August 06, 2000 at 20:15:46, Vincent Diepeveen wrote:

>On August 06, 2000 at 16:48:16, Andrew Williams wrote:
>
>>On August 06, 2000 at 16:36:15, Vincent Diepeveen wrote:
>>
>>>Show me an MTD program that uses less nodes a ply as DIEP does.
>>>
>>
>>I've no idea if Diep uses fewer nodes than others. However, even
>>if it does, would you say this is due purely to the superiority
>>of PVS over MTD? Surely your evaluation is different to other
>>programs too?
>>
>>The point I want to make is that it's not helpful to Larry (or anyone
>>anyone else) if you just say "MTD(f) sux! PVS rox!" UNLESS you provide
>>some rationale for your opinion.
>
>DIEP uses hell of a lot nodes more if i use MTD.
>

It's not clear from this if you're saying you've tried it and you've got
the figures, or if you are speculating that DIEP would be worse with MTD?


Andrew


>A pawn in DIEP is 1000 points worth.
>
>So correct me if i'm wrong:
>
>If this iteration i'm at +0.300 next iteration i'm at +0.600 with PVS,
>then how many researches do i need with MTD?
>
>>Andrew
>>
>>PS Your "there are no commercial programs using MTD" argument doesn't
>>really represent a rationale, in my opinion.
>>
>>
>>>What diep is doing is very simple in search:
>>>
>>>  PVS (starting with -infinite)
>>>  check extensions
>>>  checks in qsearch
>>>  nullmove R=3
>>>  no other crap. no pruning. Perhaps at WMCC i prune a bit,
>>>  but that's because against computers playing is different.
>>>
>>>  Yet i'm missing programs using less nodes a ply with MTD.
>>>  I"m missing *any* deep searching program that uses MTD actually.
>>>
>>>On August 06, 2000 at 10:31:58, An
>>>
>>>
>>>
>>>drew Williams wrote:
>>>
>>>>On August 06, 2000 at 09:38:18, Vincent Diepeveen wrote:
>>>>
>>>>>On August 05, 2000 at 11:37:01, Larry Griffiths wrote:
>>>>>
>>>>>>Which Algorithm is considered the best now-adays.
>>>>>
>>>>>Depends upon what kind of program you make.
>>>>>
>>>>>If you have an evaluation function that has patterns which all deliver
>>>>>very small penalties and bonusses, from which the summation also adds up
>>>>>to a near to material only evaluation, then MTD is an interesting
>>>>>alternative.
>>>>
>>>>PostModernist uses MTD. It would be incorrect to describe its evaluation
>>>>as being "near to material-only". This opinion (on MTD) is one that Vincent
>>>>has expounded before, without much in the way of supporting evidence.
>>>>
>>>>>
>>>>>If the evaluation function is either big, using a pawn as being
>>>>>worth 1000 points instead of 1 point, the eval is huge, or having high scores
>>>>>for for example king safety and or passers,
>>>>>then you have only 1 option that outperforms
>>>>>*anything*, and that's nullwindow search also called principal variation
>>>>>search which is pretty easy to implement.
>>>>>
>>>>>Usually at the start of your program MTD looks interesting, if your
>>>>>program gets better (more knowledge in eval, less bugs in search and
>>>>>better move ordering), then PVS usually outperforms anything.
>>>>>
>>>>
>>>>I don't think there is any evidence anywhere that supports Vincent's opinion
>>>>about MTD. Just stating an opinion does not make it true :-)
>>>>
>>>>>My advice is to start with PVS and not look to the rest.
>>>>>
>>>>>>NegaScout? MTD? PVS? Others?  I am looking to implement one of the best search
>>>>>>type algorithms in my program.  I would like to get it into the 2000 rated range
>>>>>>as this has been my lifetime goal.  Then, maybe install winboard or something so
>>>>>>it can compete against other programs to get a rating.
>>>>>>I dont like MTD as it seems to be complex.
>>>>>>
>>>>>>Larry.
>>>>
>>>>My advice would be to get a straight alpha-beta search working, starting
>>>>with bounds of -inf..+inf. This won't be terribly competitive, but you
>>>>can use it as a stable reference when you move on to more sophisticated
>>>>approaches. When you're happy with your alpha-beta search, try implementing
>>>>an aspiration-search, which is like alpha-beta except that you start with
>>>>bounds of score-50 .. score+50, where score is the value returned from the
>>>>previous iteration. You will need to provide some way of handling the case
>>>>where the returned score from *this* search falls outside this "window".
>>>>Once you've got your aspiration search working properly, you'll be in a
>>>>strong position to decide where you want to go with your program.
>>>>
>>>>Above all, have fun with your program!
>>>>
>>>>Andrew Williams



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.