Author: Sven Reichard
Date: 03:22:09 12/02/03
Go up one level in this thread
On December 01, 2003 at 21:47:29, Thanasis wrote: >This message will be funny for most of you but I really need some help. > >I know just a litle about programming and so I know nothing about computer chess >programmin. > >Nevertheless I would like to start from somewhere but I don't know from where... > >If anyone believes that can help me with some advice even a bit I would >apreciate it a lot!! > >Thanks. Thanasis, the following is my personal opinion, and I'm sure many people will disagree with it. So take it with a grain of salt. First of all, don't look at research papers. They cover highly sophisticated techniques which might be useful to you a couple of years down the road, but will just confuse you now. Maybe there is an exception if you have access to papers from the 1950's (by Shannon, Turing, Samuel) if you like reading Mathematics. Start with something simple. E.g., try to write a program that solves Mates in 2. The following concepts (class if you do object-oriented programming) are likely to appear: Board, Pieces, Colors, Moves. Find appropriate implementations for those, and don't worry too much about performance. You will need to deal with the following problems: Input/output of the board, generation of all possible moves for one side, check detection, and maybe others I forget right now. If you want, use simplified rules, without castling, en passant captures, and promotion. Try to find information on Forsythe notation or EPD to simplify the input. When this works, try to read about the alpha-beta algorithm, which will speed things up and allows you to find Mates in 3, 4, 5... I think this will keep you busy for a while, and you'll appreciate some of the difficulties. If you think that this is too easy, get back to us. Again, just my personal opinion. Cheers, and have fun, Sven.
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.