Author: Ricardo Gibert
Date: 15:42:42 05/09/02
Go up one level in this thread
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.
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.