C# Performance

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

RoadWarrior
Posts: 73
Joined: Fri Jan 13, 2012 12:39 am
Location: London, England

Re: C# Performance

Post by RoadWarrior »

Hey, you're going quite a bit faster than me. The whole family has had flu last week, so I've had no chance to work on Amaia apart from adding Zobrist hashing. This has reduced my search speed by around 5%, although my eval function is still fairly crude. Currently it's just material, mobility, tapered PSTs, and doubled/isolated/passed pawns - no king safety yet.

The next step is to get the alpha-beta search working properly. How messy is it to add FICS playing ability? That could be useful for testing, and also JabbaCs and Amaia could play some games.
There are two types of people in the world: Avoid them both.
Richard Allbert
Posts: 792
Joined: Wed Jul 19, 2006 9:58 am

Re: C# Performance

Post by Richard Allbert »

Hi Mark,

well, with just Material + PSQTable eval and nothing esle - just AB search, Jabba is at 1946 elo Blitz on FICS.

It may seem a fast dev pace all of a sudden, but I have a few years of writing weak C++ engines (Bitboard, Mailbox, 0x88) to fall back on, so the basics of Search are familiar.

What I never seemed to be able to do was test properly to make improvements. I've no idea how some of the monster engines get so strong - well, that's a lie, after speaking to some of the Authors at the CPT tournament, it's clear that a huge amount of time, discipline and knowledge is involved in tuning.

Hoping to change that now...

Onto FICS:

It's easy to get onto FICS - I use winboard. If you pm me your email, I'll send you my batch file I use to start it, and the logon file so you have an example. Or I can give you a link for download.

Of course, you'll need to have implemented the UCI or Winboard protocol. I can send you my sourcefor that if you need a quick reference - I implemented the bare minimum UCI protocol.

Winboard uses Polyglot to run as a translation between the Winboard and UCI protocols - and does it for you.

If you haven't, don't forget that you'll need to be able to parse input whilst thinking. I do this by having a thinking Thread and an input / output thread.

Also, it takes a few days to get an account approved on FICS as a computer. But it's worth it - games galore vs humans.

Let me know if you need anything!