Author: José Carlos
Date: 16:04:18 05/09/02
Go up one level in this thread
On May 09, 2002 at 18:42:42, Ricardo Gibert wrote:
>On May 09, 2002 at 17:06:14, José Carlos wrote:
>
>>On May 09, 2002 at 16:50:24, Uri Blass wrote:
>>
>>>On May 09, 2002 at 14:35:30, José Carlos wrote:
>>>
>>><snipped>
>>>> You said:
>>>>
>>>>"I think that the most important knowledge for amateurs is search knowledge and
>>>>the proof is that a lot of program without that knowledge are clearly better
>>>>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>>than Averno."
>>>>
>>>> But then you didn't mention "a lot" and you're not sure they don't know about
>>>>opposition, so the "proof" is not valid.
>>>> And you also said:
>>>>
>>>>"I did not check more programs but it seems that almost nothing can see based on
>>>>2 plies search that Qg5+ is better for white."
>>>>
>>>> Something can be seen, and very easily, BTW. In two plies (with the check
>>>>extensions), it can be seen that Qg5+ Qxg5+ Kxg5 Kg3! is better for white
>>>>because of opposition.
>>>> The fact that Junior can't see it doesn't mean that no one else can see it.
>>>>It's just Junior that doesn't have the knowledge. Of course, Junior is a very
>>>>good program in many other areas, but that doesn't mean it doesn't have defects.
>>>>
>>>> José C.
>>>
>>>I did not say that programs do not have defects.
>>>
>>>I believe that more than 90% of the programs have the defect of not considering
>>>opposition in their evaluation
>>>
>>>I tried shredder5.32 on p200 and you can see that it also does not have the
>>>knowledge and in the first plies it likes Qg5+ and does not see Kg3 in the main
>>>line.
>>>
>>>I also plan to continue to have this defect in the evaluation of my program at
>>>least in the next year because I do not consider it as important.
>>
>> It's a pity because it is very easy to implement. Took me about 30 seconds to
>>write the code:
>>
>>// Oposición (en principio, sólo me importa si no hay peones pasados)
>>if (!uPasadosB && !uPasadosN)
>>{
>> uDifReyes=abs(PosActual->PosRey[BLANCAS]-PosActual->PosRey[NEGRAS]);
>> switch (uDifReyes)
>> {
>> case 32: // Vertical
>> case 64: // Vertical distante
>> case 34: // Diagonal A8-H1
>> case 68: // Diagonal A8-H1 distante
>> case 2: // Horizontal
>> case 4: // Horizontal distante
>> case 30: // Diagonal A1-H8
>> case 60: // Diagonal A1-H8 distante
>> nEvPos+=(PosActual->Turno==NEGRAS) ? BONUS_OPOSICION : -BONUS_OPOSICION;
>> break;
>> }
>>}
>>
>> I admit it's not _very_ important, but it's soooo easy to implement...
>>
>> José C.
>
>If you think it is easy to implement, you're mistaken. Determining whether a
>side has the opposition requires more than knowing the relative position of the
>Kings and turn to move, since the other side may have more tempi to burn with
>pawn moves. I doubt your program understands the side "with the opposition" must
>have 3 files to work with or they cannot execute a *bypass*. I also doubt your
>program has knowledge about *critical zones*. I also doubt it understands about
>*triangulation*, which neutralizes the "advantage" of the opposition. I also
>doubt....etc.
>
>I fear you may have made your program faster on a few simple positions at the
>cost of being slower at the less than simple positions.
Of course there're things that search must take care of. But doing that simple
eval trick you _guide_ the search, and find triangulation and all that stuff
_way_ faster.
Althougth it migh seem that I haven't, I've though a lot about this. I'm not a
master, but I've been over 2150 ELO in the past (not sure now because I don't
play tournaments anymore) and I understand pawn endings.
The concept of "guide the search" requires small bonus in order to avoid the
problems you mention.
José C.
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.