Introducing Weak

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

lorenzo

Introducing Weak

Post by lorenzo »

Hey all,

I am working on a yet another ;-) chess engine, Weak. It's early days, relatively.

I've got fairly fast move generation going. I managed to get around 20Nps perft results off my own back on a macbook air 2.13GHz core duo, but after reading the excellent stockfish's code I found a lot of very nice performance techniques which has taken me to around 43Nps.

Since I ended up using stockfish's ideas and some portions of code that were effectively just a port from C++ to C (I couldn't think of a better way of writing it), I decided it was only right to adopt its license and to declare that weak derives from it, though the amount of code which is common between the two is small. I want to be as honest as I possibly can be about such things, certainly given the furore around Rybka.

Anyway, I thought I'd just say hi. I plan to take Weak to a high standard of play, though I have no idea how long that might take.

The code is a bit rough in many places, I plan to clean it up some (but I guess that's a perpetual state of being for code!)
tpetzke
Posts: 686
Joined: Thu Mar 03, 2011 4:57 pm
Location: Germany

Re: Introducing Weak

Post by tpetzke »

Welcome Lorenzo to our hobby, looking forward to your 1st version.

Thomas...
smatovic
Posts: 2576
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Introducing Weak

Post by smatovic »

Welcome Lorenzo,

nice to see another GPL Engine.

--
Srdja
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Introducing Weak

Post by Sven »

Hi Lorenzo,

welcome at TalkChess! It's nice to see another GPL engine growing.

I have one simple question: what do you mean by "43Nps"? Certainly not "43 nodes per second", so is it perhaps "43.000.000 nodes per second"? That would be quite a lot, though.

Anyway, I wish you good luck for your plans to take your engine to a higher level.

Sven
lorenzo

Re: Introducing Weak

Post by lorenzo »

Hi,

Sorry yes I meant 43MNps. That's simply for perft testing though, not with any degree of searching/evaluation. That's an average over several of the perft test cases at the chess programming wiki.

I spent a long time optimising move generation and have close to Stockfish performance, though not quite at its level.
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Introducing Weak

Post by pocopito »

Hi Lorenzo

Welcome to the forum and thanks for sharing the code.

BTW, for the numbers you provide it seems that the engine's name is a bit inaccurate ;)


Regards

E Diaz
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.
lorenzo

Re: Introducing Weak

Post by lorenzo »

Well, though move generation is ok, for now the search code is very basic + buggy, so the name is accurate for the time being ;-) but the hope is it will eventually become ironic. A bit of British humour...
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Introducing Weak

Post by pocopito »

Ok, fair enough 8-)

I'm looking forward to getting news from NoasWeakasWeakitselfButyetNotEnoughToBeatYouUp :)

Regards

E Diaz

PS: No ofence, but for perft testing, in this forum there are a couple of nice positions that aren't easy to find. For example:
http://talkchess.com/forum/viewtopic.ph ... ight=perft
http://talkchess.com/forum/viewtopic.ph ... ight=perft
PS': I've been peeking Weak's repo and seen that you use clang as compiler. I like it and use it myself, but taking into account that you switched from go to C for performance reasons, are you sure this is the best option?
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.
lorenzo

Re: Introducing Weak

Post by lorenzo »

PS: No ofence, but for perft testing, in this forum there are a couple of nice positions that aren't easy to find. For example:
http://talkchess.com/forum/viewtopic.ph ... ight=perft
http://talkchess.com/forum/viewtopic.ph ... ight=perft
None taken, I am always happy to have new tests to find bugs, I shall take a look. :-)
PS': I've been peeking Weak's repo and seen that you use clang as compiler. I like it and use it myself, but taking into account that you switched from go to C for performance reasons, are you sure this is the best option?
I've found Clang to be faster than gcc, for some bizarre reason.

The main reason I was using it was for its very nice error messages, but I unexpectedly found it provided a perf benefit too. It's weird, and could stand some more investigation I think!
lorenzo

Re: Introducing Weak

Post by lorenzo »

Straight away your suggestions have uncovered some bugs :-) Very useful + very much appreciated, thanks!