Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: can anyone help me!!!

Author: Dann Corbit

Date: 12:59:21 10/16/04

Go up one level in this thread


On October 16, 2004 at 15:16:35, F. Huber wrote:

>On October 16, 2004 at 15:01:25, Dann Corbit wrote:
>
>>On October 16, 2004 at 07:19:07, noetse dearmas wrote:
>>
>>>hi, i would like to create my own chess engine, a simple one but i don't know
>>>how to begin. Can anyone please help me. thanks
>>
>>First read some relevant papers.  It will save you a couple of years.
>>The paper "Some Aspects of Chess Programming" from this site:
>>http://www.republika.pl/nesik/
>>Is very complete.
>>
>>This is another very good one for beginners:
>>http://brick.bitpit.net/~blik/
>>
>>After you read those papers, your head will be swimming.  So go here:
>>http://www.chessbrain.net/beowulf/theory.html
>>And read that discussion.
>>
>>Then go here:
>>http://www.seanet.com/~brucemo/topics/topics.htm
>>And read that discussion.
>>
>>Then go here:
>>http://www.gamedev.net/reference/programming/features/chess1/
>>And read that discussion.
>>
>>Then go here:
>>http://members.home.nl/matador/chess840.htm
>>And read that discussion.
>>
>>Then go here:
>>http://www.cis.uab.edu/hyatt/pubs.html
>>And read that discussion.
>>
>>Now that you have read those, you will be ready to read those two papers again.
>>This time, you will understand a lot more.
>>
>>Now, the next thing to do is to NOT write a chess program.
>>Start with tic-tac-toe.
>>Understand how things like alpha-beta work, and what an evaluation function
>>does, etc.
>>
>>Then, read some chess programs by other people.  In my opinion, it is a very bad
>>idea to start with another program and transform it into your own.  It is a very
>>messy thing to do, and most simple programs are really rather bad examples.
>>TSCP uses global variables all over the place, and does not use a hash table
>>(which is fundamentally very important).  And do not try to modify someone
>>else's complicated program like Crafty or Amy to try to learn how chess programs
>>work.  Those are very complicated programs and it will take you years even to
>>understand how all of the parts work together.  There are also legal
>>entanglements if you take someone else's code and modify it quite a bit and now
>>want to call it your own program.  I strongly recommend avoiding this road all
>>together.
>>
>>Instead, start with the most basic fundamental ideas and get simple working
>>models of your own.  When you are done, you will be much happier, because you
>>will understand how each and every piece works, how they fit together, and you
>>will be able to make changes and corrections with ease.
>>
>>After your first chess engine is done and debugged, you will probably want to do
>>a complete rewrite.  That project will be even more fun than the first.
>>
>>It is a very large achievement to create any working chess program.
>
>
>Wow, I´m sure he is totally frustrated now! :-(

If you start to climb K2 in your winter shorts without a backpack, you will find
some dissapointment.  It is important to understand that the mountain is a
serious opponent.  Reading those documents will take at least one week, if you
do it properly.  It will save you three years on your engine, at least.  Will
you trade 3 years for a week?

>BTW, you forgot to mention that he must not be older than about 30 years -
>otherwise he won´t live to see his engine working ... ;-)

In one year, any competent programmer can get a working engine.  You might get
something crude running in one week if you are surprisingly fast, but it will be
a piece of crap.  If you are really good, your first engine could start as high
as Leo's second division.  It will take several years to write a world-beater.
The effort spent on that engine will be many tens of thousands of dollars of
programmer time.  So you had better want to do it pretty badly.



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.