Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: chess engines writen in C

Author: Dann Corbit

Date: 14:53:51 01/13/05

Go up one level in this thread


On January 13, 2005 at 17:27:10, Reinhard Scharnagl wrote:

>On January 13, 2005 at 14:06:58, Dann Corbit wrote:
>
>>On January 13, 2005 at 06:12:12, Reinhard Scharnagl wrote:
>>
>>>On January 13, 2005 at 05:57:08, adam wilks wrote:
>>>
>>>>Where can i find some examples of chess engines written in C, C ++?
>>>
>>>There are a lot.  E.g. Smirf, C++, which restricted beta could be found at:
>>>http://www.chessbox.de/beta.html - Project Chronicle, 2004-Dec-10.
>>>
>>>But if you are interested in source code, write it yourself. You never will
>>>get experiences comparable to those trying to do it with your own means alone.
>
>>I agree that we should write it from scratch.  But if we do not clearly
>>understand what others have done, we will not know if our new ideas are better
>>or not.  So examination of the work of others (both the code and the papers) are
>>important and will save a programmer many years of frustration.
>
>I like to learn sometimes from written explanations where necessary, but never
>by the whole source code. Of course it could be helpful to view other program-
>mer's ways to build a good program, because the scene is interesting and it
>could be a challenge to compete.
>
>But frustration is necessary especially in the beginning. You must create your
>own ideas, to be finally satisfied. The goal is not to reach the top ten by
>copying or patchworking, but to see how far you could proceed on your own. If
>you want only to have a strong program - buy one. If you want to synthetisize
>a program by the ideas of others, it would be unfair to participate at tourna-
>ments. You must know that it would took a huge amount of time. If you want to
>have quick success, keep away from chess programming.
>
>>>P.S.: I would never hand out any code snippet to anyone, who tries to stay
>>>anonymous. It is so easy to update your profile.
>
>>Another thing that I think is a terrible mistake is to start with a simple
>>beginner program and modify it.  This is especially true of many of the simple
>>programs that are loaded with tons of global variables.  These are bad designs
>>fundamentally, and will handicap the programs when they want to take big steps
>>forward.
>
>To learn programming by trying to write a chess program is a bad idea.
>
>But it is also a bad behaviour in the scene of chess program fans to compare a
>newcomer's program immediately with grown up solutions. It would be better to
>see and discuss individual progresses (verbal not by code) instead of pointing
>to very mature detail solutions in published top programs' code.
>
>Any approach based on own ideas is worth ten times a new clone. But a lot of
>so called testers throw new programs into the trash when those engines will
>not reach nearly the crafty level. That is ignorant and counter productive, be-
>cause this cuts maybe promising ideas before finally grown up. So it will be
>hard for new chess programmers to ignore such silly comments and keep on deve-
>loping without covering may be weak parts with copied foreign code snippets.

Also, any revolution (e.g. Alpha-beta over mini-max or addition of Null move)
will require new thinking.  If you just cut and paste other people's stuff, you
will have something that is not nearly as good as any of the originals with
little or no chance that you will innovate in the future.



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.