Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: new questions (scott gasch!)

Author: Dan Honeycutt

Date: 10:20:26 11/22/04

Go up one level in this thread


On November 22, 2004 at 13:03:07, Robert Hyatt wrote:

>On November 22, 2004 at 11:59:22, Dan Honeycutt wrote:
>
>>I hear both sides.  When I started grad school in 1972 I gained access to a
>>teletype machine hooked into the campus mainframe.  You could enter a program in
>>BASIC, type run, and get instant answers.  No more card decks and waiting
>>several hours wondering if your program was going to crash.  The teletype
>>machine even had a paper tape that allowed you to save and reload your program.
>>Not a lot faster than typing it in from scratch, but less error prone.
>>
>>With such awesome computing facilities at my disposal I decided it would be fun
>>to write a chess program.  With no forethought whatsoever I began:
>>
>>10 DIMENSION B(8, 8)
>>
>>"There, I've got a board".  Needless to say, I didn't go far before I realized
>>that some planning and design would be necessary if the program was ever going
>>to actually play.  I put the program aside and worked out an outline for what
>>various parts should do.  When I returned to the program I was forced to throw
>>away a fair amount of code.
>>
>>Over the years I've developed my "style".  I do a little planning - what the
>>program should look like at the top - and I begin coding the pieces at the
>>bottom.  The plan grows down and the code grows up.  If I plan too much I end up
>>throwing away plans as unexpected things surface as I code.  If I code too much
>>I end up throwing away code for lack of a plan.  I don't claim what I do is
>>best, but I'm comfortable with it and I know it works for me.  Plus I'm too old
>>to change.
>>
>>It sounds like Daniel is proceeding in the manner that suits his style.  His
>>style may also not be the best, but I believe it will work and he will succeed.
>>I think he deserves a little more encouragement and a little less "that's a
>>recipe for disaster".
>>
>>Good luck to you Daniel.
>>
>>Dan H.
>
>
>Remember where I work.  :)  I consider it a responsibility to try to encourage
>good software development techniques in students here.  Your approach is not
>that far off from mainstream SD.  Design top-down, program bottom-up.  It gets a
>product working more quickly.  Unfortunately, decisions you make at the bottom
>of the graph turn out to be poor for things at the top of the graph, and
>vice-versa.
>
>I did Crafty as you did for your program.  I first wrote the bitboard stuff for
>make/unmake, just to see if it was going to be viable on current hardware
>(current 1994 hardware of course).  Once I did that, I filled in the blanks, and
>re-wrote the initial stuff more than once as well, as I found that I needed more
>information inside the engine and that adding it to the original design was
>going to be inefficient and complicated.
>
>But there is one major point.  In 1994 I was not a new chess programmer.  I'd
>already been doing computer chess for over 25 years, and I'd even been doing
>parallel search for 15 years.  Meaning that I had a lot of design experience in
>computer chess, and experience guides you down the right path most of the time,
>even if you design from the middle-out.
>
>Daniel doesn't have that kind of experience related to parallel search.  Before
>you can write code, you have to have _some_ idea of how you are going to split
>the tree up, how you are going to manage the threads, what data is going to be
>shared, how things are going to be protected, whether you are designing a toy
>search for only 2 processors or a real parallel search that will work for larger
>numbers of processors, recursive or non-recursive basic search, etc.  Lots of
>things to think about _before_ starting on the threading stuff.
>
>It seems pointless to let someone start in a way that is going to cause more
>problems than necessary.  So I (and others) offered what I believe we all
>consider to be "good advice".  Advice is free.  It can be ignored.  But most
>likely there _will_ be repercussions...  Fortunately it doesn't affect me
>directly or indirectly.
>
>There is _no_ substitute for experience, IMHO...
>
>And if you don't have it, listening to those that do is always a good way to
>start.  Or one can proceed at one's own risk.  We've all done that from time to
>time, but later wished we hadn't...

I hear you.  I have a lot I need to do before worrying about a parallel search.
But when I get to that point I'll be looking for advice from you, Anthony, and
Daniel.

Dan H.




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.