Is it ever possible to create a chess program with ELO 3000

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Is it ever possible to create a chess program with ELO 3

Post by elcabesa »

it took me 1 year to write my first engine, Vajolet in C#, I implemented what i though was a bitboard egine without magics and added pvs, eval and some other fancies and got a 1400 elo engine, then i started reading chessprogramming blog and added null move futility lmr etc, my engine was weakers, nothing works.
after few years I followed winglet effrot of stephen luthien and i understood chessprogramming a little more, doing some modification to winglt i got something working but not strong at all.
Then i started from scratch, copying from winglet, studying from stockfish and fruit and addidng lot's of code. Today 9 month after my total rewritten I got a 2500 elo (maybe) engine.
Yuo need to study code & idea from other programmer and be ready for lot's of error :)
User avatar
Steve Maughan
Posts: 1227
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: Is it ever possible to create a chess program with ELO 3

Post by Steve Maughan »

I started writing Maverick in March. You can follow my progress and thoughts here:

http://www.chessprogramming.net


It's not playing chess yet but I certainly hope it will be north of 2200 by Christmas.

Best regards,

Steve[/url]
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: Is it ever possible to create a chess program with ELO 3

Post by AlvaroBegue »

Henk wrote:
Tom Likens wrote:I don't want to discourage you, but chess programming is hard. You can spend your entire life on it and still never make it to the top. I don't know how long you've been working on your program, but 2200 isn't that bad if it's only a few months old
It took two years for me to get my chess program as it is now. I'm not working on it full time. Only if I have free time. So there is no proof that it is possible to create a program from scratch with only one developer that gets a ELO of 2200 in a few months.
That's a non-sequitur. I wrote a program in about a month (in February) that I think it's probably 2400 or 2500. So it can definitely be done.
Henk
Posts: 7222
Joined: Mon May 27, 2013 10:31 am

Re: Is it ever possible to create a chess program with ELO 3

Post by Henk »

I do not know how much knowledge you got about chess programming before you started. If you know what to do it's easy if you don't know it's getting complicated. If it's easy it takes less time to develop. If it's complicated ...
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: Is it ever possible to create a chess program with ELO 3

Post by AlvaroBegue »

Henk wrote:I do not know how much knowledge you got about chess programming before you started. If you know what to do it's easy if you don't know it's getting complicated. If it's easy it takes less time to develop. If it's complicated ...
Yes, I wrote a chess program in the late nineties, and I have written programs for many other board games.

I think you should spend more time working on your engine and less time complaining about how hard it is in this forum.
Henk
Posts: 7222
Joined: Mon May 27, 2013 10:31 am

Re: Is it ever possible to create a chess program with ELO 3

Post by Henk »

Before you start to solve a problem, it makes sense to proof that a solution exists, otherwise you keep searching forever.

But in chess it seems no much proof exists it's more trial and error.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Is it ever possible to create a chess program with ELO 3

Post by elcabesa »

just to reply to you, stockfish has no assembler ( except for calling population count and get the firstBit!=0) and it's single core performance is 3000 on CCRL 40/40, so i think it's possible :)
nkg114mc
Posts: 74
Joined: Sat Dec 18, 2010 5:19 pm
Location: Tianjin, China
Full name: Chao M.

Re: Is it ever possible to create a chess program with ELO 3

Post by nkg114mc »

You can try to learn from the src of Sungorus 1.4. I think that's really a good example for the beginers. It really surprised me, because sungorus just apply some of the basic techniques, but got a strength of 2300+ ELO in CCRL 40/4. As I remember, its search only use PVS and NullMove, no IID, no LMR, no insperation window. Also its evaluation is simple. But when all of these are organized together in a proper way, you will see the strength.

That's really a lesson for me. The code of my engine has ten times lines than sungorus, including more techniques that sungorus did not use, but only got a 1600 ELO. A complicated code package that implements a lot of fancy techniques does not equals to a strong engine. I need to understand how much each component can benefit the performance, so that we can get a direction to make the optimization. That's why I decided to rewrite my engine from scratch this year. If I could thoroughly understand how an engine like sungrous was born, and how much each techiques contributes to the performance clearly, I would have the confidence to go further.
PK
Posts: 895
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Is it ever possible to create a chess program with ELO 3

Post by PK »

I couldn't agree more! Sungorus code is a pleasure to read, it's also easy to modify and add Elo. It took me about 2 years to bring it to Fruit level (see http://www.pkoziol.cal24.pl/rodent/rodent.htm) and I learned a lot about programming in the process.
Henk
Posts: 7222
Joined: Mon May 27, 2013 10:31 am

Re: Is it ever possible to create a chess program with ELO 3

Post by Henk »

Evert wrote:Seriously, the first 17 entries are all ranked > 3000 elo. Of course, comparing that to human ratings is another matter (the calibration may well be off).
ELO
When were the last events that human grandmasters played against machines with huge ELO ratings ? In theory you could tune a program to win from a specific class of "stronger" players(chess programs) but loose from another class of players(humans).