Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Neurosis 1.9.

Author: Stan Arts

Date: 02:36:29 06/26/05

Go up one level in this thread


Hi Uri,

>
>I do not understand.
>How can data structure prevent implementing underpromotion?

Because it can't hold the underpromotion-piece information?

>
>In the worse case you need to change your datastructure but not to write
>entirely a new program.

Well, because changing my move datastructures affects almost all parts of my
chessprogram. So changing the current would be very frustrating, probably
introduce bugs because of that, and also a lot of work. Then it's tempting
to start over with a (clear) new one, and it's not so bad to start with a new
program after so much time anyway. (Because you learned a lot from the
previous, and can make some important decisions early on.)

>I had in the past move as struct and I changed it to int.
>I did not need to start writing an entirely new program but only to replace in
>the relevant places.

Ah, only the relevant places.
Well, Neurosis has a lot of extra stuff implemented over time, and has become
a big and messy program with lots of relevant places I would probably forget.
Well, now it's solved by adding an extra byte, only in some cases, and with
minimal hasle, (A bit of a hack.) but works fine. For instance the hashtable
can't hold underpromotionpiece information, That's not a problem for search,
but also the PV can't show it until it's the actual move to play. (but the
score reflects it.) the minor-promotions are always at the back of movelists,
and so on.

Stan



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.