ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Purple Haze v2.0.2

 
Post new topic       TalkChess.com Forum Index -> Computer Chess Club: General Topics Threaded
View previous topic :: View next topic  
Author Message
Vincent Ollivier



Joined: 19 Jan 2010
Posts: 17
Location: France

PostPosted: Mon Mar 26, 2012 6:34 pm    Post subject: Purple Haze v2.0.2 Reply to topic Reply with quote

Hi everyone,

It's been a long time since the last release of my engine Purple Haze. More than a year actually. This new release contains lots of stylistic changes and some bug fixes but no new major feature. The next release should be better in term of ELO gains.

Code:
$ git diff v2.0.1 v2.0.2 --shortstat
 54 files changed, 4416 insertions(+), 2896 deletions(-)


The focus was more on building a good testing environment with test cases for any changes in the code. That way the overall quality should improve slightly. I also wrote a small collection of tools (client, server and worker) to facilitate cluster testing. This last project is in early alpha stage and may not currently be useful to anyone else but it is already Open Source and published at https://github.com/vinc/occet.

To download and compile Purple Haze:

Code:
$ git clone git://github.com/vinc/purplehaze
$ cd purplehaze
$ make


My code uses some features of C++11, so you will need GCC >= 4.6 or Clang >= 3.0. It used to compile with Intel C++ Compiler but not currently on my machine (running Arch Linux).
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gary



Joined: 12 Dec 2006
Posts: 338

PostPosted: Mon Mar 26, 2012 8:05 pm    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

vincent wrote:
The focus was more on building a good testing environment with test cases for any changes in the code. That way the overall quality should improve slightly. I also wrote a small collection of tools (client, server and worker) to facilitate cluster testing. This last project is in early alpha stage and may not currently be useful to anyone else but it is already Open Source and published at https://github.com/vinc/occet.

Hi Vincent,

Occet looks really cool! I was thinking about something very similar actually, I'm glad to see you release it. May have to play around with getting it set up to test changes Smile.

Gary
Back to top
View user's profile Send private message
Vincent Ollivier



Joined: 19 Jan 2010
Posts: 17
Location: France

PostPosted: Mon Mar 26, 2012 8:41 pm    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

gladius wrote:
vincent wrote:
The focus was more on building a good testing environment with test cases for any changes in the code. That way the overall quality should improve slightly. I also wrote a small collection of tools (client, server and worker) to facilitate cluster testing. This last project is in early alpha stage and may not currently be useful to anyone else but it is already Open Source and published at https://github.com/vinc/occet.

Hi Vincent,

Occet looks really cool! I was thinking about something very similar actually, I'm glad to see you release it. May have to play around with getting it set up to test changes Smile.

Gary


Hi Gary,

If you know how to call xboard or cutechess-cli from the command line, then you almost already know how to operate occet-client to send jobs to occet-server. And on each node of a pseudo cluster distributed over the Internet there is an instance of occet-worker running, which is basically a wrapper around cutechess-cli executing the jobs.

I wrote some other tools to automagically download and compile engines on the nodes and to retrieve and analyse (using bayeselo) PGN files from the server but these are not part of occet core yet because I wanted to keep it simple. They will be open sourced too after more testing.

Occet is written in CoffeeScript and uses node.js. There is really a *lot* to do before calling it something else than a prototype and it needs some security features before running in production... Nonetheless it is nice to have a script building the last commit on the develop branch of my engine on GitHub with a patch introducing a new feature and testing the executable hundred thousand of times on various nodes against other engines to finally telling me if my new feature is good or bad.

To be honest, I can count the number of nodes constituting my pseudo cluster on the fingers of one hand and occet is probably not more than 500 lines of code. This is really small scale, but it is fun.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Tony Mokonen



Joined: 12 Mar 2006
Posts: 545
Location: Vancouver

PostPosted: Thu Mar 29, 2012 5:19 am    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

Hi Vincent. I was able to successfully compile Purple Haze 2.0.2 in Windows, using MinGW and GCC 4.6.2 32 bit. However, when I ran it, it seemed to exit all the time, due to assertion failures, like the following:

Code:
Assertion failed: feature == XBOARD_FEATURES[i][0], file C:\Clients\PurpleHaze202\xboard.cpp, line 109
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


I was able to work around it by commenting out the protover handling code in xboard.cpp, lines 78-115, but of course I lost Winboard 2 support by doing that.

One other minor detail - the version number in the source still says 2.0.1.

I've placed my compile here, if anyone is interested:

http://www3.telus.net/tmokonen/PurpleHaze202MinGW32.rar
Back to top
View user's profile Send private message Send e-mail
Vincent Ollivier



Joined: 19 Jan 2010
Posts: 17
Location: France

PostPosted: Thu Mar 29, 2012 7:08 am    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

tmokonen wrote:
Hi Vincent. I was able to successfully compile Purple Haze 2.0.2 in Windows, using MinGW and GCC 4.6.2 32 bit. However, when I ran it, it seemed to exit all the time, due to assertion failures, like the following:

Code:
Assertion failed: feature == XBOARD_FEATURES[i][0], file C:\Clients\PurpleHaze202\xboard.cpp, line 109
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


I was able to work around it by commenting out the protover handling code in xboard.cpp, lines 78-115, but of course I lost Winboard 2 support by doing that.


Hi Tony,

I am probably doing incorrect assumptions about the replies to "feature" commands. What program are you using to run it?

tmokonen wrote:
One other minor detail - the version number in the source still says 2.0.1.


Indeed and this is now fixed.

When you have git on your system I use the "git describe HEAD" command which give me the current tag, the number of commits from it and the abbreviated commit SHA. This is nice to know exactly the version you compiled. For instance it is now "v2.0.2-1-g336e2e0". But when you do not have git, the fallback is defined in "src/common.h" and I forgot about it.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Tony Mokonen



Joined: 12 Mar 2006
Posts: 545
Location: Vancouver

PostPosted: Thu Mar 29, 2012 10:47 pm    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

Hi Vincent. I was using Arena 3.0 as a GUI, but I even got it to raise the exception by running the program and typing the following commands in the console window:

xboard
protover 2
new
level 40 5 0

It was the level command that caused problems. I didn't take a particularly close look at the code.
Back to top
View user's profile Send private message Send e-mail
Vincent Ollivier



Joined: 19 Jan 2010
Posts: 17
Location: France

PostPosted: Fri Mar 30, 2012 5:42 am    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

tmokonen wrote:
Hi Vincent. I was using Arena 3.0 as a GUI, but I even got it to raise the exception by running the program and typing the following commands in the console window:

xboard
protover 2
new
level 40 5 0

It was the level command that caused problems. I didn't take a particularly close look at the code.


Thanks, that is enough to locate the problem! After 'protover 2' my engine replied by sending 'feature myname="Purple Haze v2.0.2-1-g336e2e0"' and expected 'accepted myname' but received 'new'. I will separate the treatment of 'feature' and 'accepted' commands in my code so that my engine will not be confused if 'accepted' commands are not sent immediately or in the same order.

I'm currently methodically reviewing my code and testing each feature. Version 2.0.2 fixed several bugs but I found another yesterday causing me a strength loss of maybe as much as 150-200 ELO (in very short time control). A new version will be released in a week or two.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Tony Mokonen



Joined: 12 Mar 2006
Posts: 545
Location: Vancouver

PostPosted: Fri Mar 30, 2012 7:22 am    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

Ah excellent, looking forward to the new version.
Back to top
View user's profile Send private message Send e-mail
Lucas Braesch



Joined: 31 May 2010
Posts: 1752

PostPosted: Fri Mar 30, 2012 3:27 pm    Post subject: Re: Purple Haze v2.0.2 Reply to topic Reply with quote

vincent wrote:
Hi everyone,

It's been a long time since the last release of my engine Purple Haze. More than a year actually. This new release contains lots of stylistic changes and some bug fixes but no new major feature. The next release should be better in term of ELO gains.

Code:
$ git diff v2.0.1 v2.0.2 --shortstat
 54 files changed, 4416 insertions(+), 2896 deletions(-)


The focus was more on building a good testing environment with test cases for any changes in the code. That way the overall quality should improve slightly. I also wrote a small collection of tools (client, server and worker) to facilitate cluster testing. This last project is in early alpha stage and may not currently be useful to anyone else but it is already Open Source and published at https://github.com/vinc/occet.

To download and compile Purple Haze:

Code:
$ git clone git://github.com/vinc/purplehaze
$ cd purplehaze
$ make


My code uses some features of C++11, so you will need GCC >= 4.6 or Clang >= 3.0. It used to compile with Intel C++ Compiler but not currently on my machine (running Arch Linux).

Nice stuff. I like the fact that it's on a git repo and compiles smoothly with a nice makefile. But it seems still very weak (I'd say about 1600-1700 elo or so). There must be quite a few bugs in the search.
Anyway, good luck improving purplehaze
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic       TalkChess.com Forum Index -> Computer Chess Club: General Topics All times are GMT
Threaded
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads