Feike Boomstra's Horizon draughts program released

Discussion about development of draughts in the time of computer and Internet.
Harm Jetten
Posts: 43
Joined: Thu Sep 24, 2009 18:17

Feike Boomstra's Horizon draughts program released

Post by Harm Jetten »

Dear draughts friends,

As many of you already know, Feike Boomstra, the author of the Horizon
draughts program, recently passed away.
It is the wish of his family that Horizon is made freely available to
all draughts programmers and players.
With thanks to the involvement of the KNDB it is my pleasure to announce
the availability of Horizon version 1.0 on SourceForge at the following
URL:

http://sourceforge.net/projects/horizondraughts/

The downloadable release package contains the source code and
executables in the state as Feike left them.
Horizon currently runs only on 64-bit Linux (Ubuntu), and installation
is a bit tricky - see the README file.

I would like to invite all of you to get involved in suggesting or
contributing improvements to Horizon; in particular many enthousiasts
would like to see the "Live Analysis" functionality, as used during the
World Championship 2009, being revived.

Enjoy!

Harm.
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: Feike Boomstra's Horizon draughts program released

Post by Ed Gilbert »

Harm,

Thank you for your efforts to make Feike's program available.

-- Ed
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

Harm, also from my side, thanks for this initiative.
In the mean time I have "converted" this program towards the Windows environment, and I was able to compile it without errors (some code I commented out like thread-management, for a quick start) with the Visual Studio framework.
I don't know if I'm the only one so far working on this, if there are more please let me know, so we can mutually support each other.
Where I struggle is the Python files.
Although I loaded the Python Windows version, i basically don't have a clue what to do with the Python code of Horizon, and how I should compile/execute this.
Hope some-one can help me, so i can take the next step.
I expect (as I also have normal work to do) that I can "release" a Horizon Engine for Windows around Xmas.
Keep you all posted.

Bert
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

As I'm not a Python specialist, i did not focus for the time being on the Horizon Python files.
I have now added a quick and (very) dirty DXP-wrapper around the main() function in Horizon.

So far I was able to play a 17 moves (each color) against Dam 2.x before the program crashes. Based on debug info this crash occurs when (for the first time) endgame DB's are approached, so i have to dig deep into this phase...

But at least, it is now (more or less) playing within the Windows 7 (64Bits) environment, and I'm confident that i will resolve the bug encountered (and the ones which will follow :) ).

Will keep you all posted,......

Bert
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

I have implemented a very basic DXP-client in Horizon (Windows version) and I was now able to play a DXP -game against Dam.

Keep you all posted,

Bert
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

In the days between Xmas and NewYear I did some further work on the Horizon program.
I was also able now to remove all the warnings.

I want to do a quick check if it now also works (copile and run) on another computer.

A boundary condition is the use of the Visual Studio Professional environment (im afraid I used "without knowing" some of the Microsoft specifics). Also here I hope someone can help me to make the program more compatible (robust) with different developement Windows environments.

In the present implementation I did not activate (yet) the parallel search (thats for another time).
The program is now capable of playing a DXP game (as client).
So far i used Dam 2.x for the purpose.

Maybe Ed has some free time to help me here.
If so just drop an email, and I will sent you the files, with some instructions....

And by the way, the best wishes for 2011 ....

Bert
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: Feike Boomstra's Horizon draughts program released

Post by Ed Gilbert »

Hi Bert,

I sent you an email about compiling the sources. I did not try to compile the entire horizon program for Windows as that seemed like a big project, but it was relatively easy to compile just the eval function. I created a "sparring partner" by combining the kingsrow search with the horizon eval. The result is much stronger than truus or flits, and I'm finding it useful for testing with engine matches.

-- Ed
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

Thanks Ed,

im now enjoying a short holiday in Amsterdam, so im not sure if im in time home to sent you the files.
Anyway tomorrow (31-Dec) will do.

Maybe I will post someday a detailed review of the Horizon program, I find the work of Feike quite interesting!

Overall the program is based on 64bit Bitboards and optimized for a 64bit-OS.
Especially the evaluation function is an impressive piece of work.
The search-routine is a straigtforward implementation of the mtdf algorithm (Aske Plaat) combined with a Glaurung implementation of parallel-search.
Endgame Databases (6-Piece) and Endgame routines are based on the work of Michel Grimminck (Dragon) and Harm Jetten (Dam 2.x).
The MoveGenerator is efficient and very logical organized with 64bit BitBoards and 64bit instruction optimizations.

All in all, Im convinced that with some further optimization (like search-routine optimization), this program could be one of the best !!
For all who want to study Draughts Programming and is thinking about writing a (bitBoard) Draughts Program or wants to optimize his/her own program, a close examination of this code is an aboslute must.

Bert
Piet Bouma
Posts: 3574
Joined: Sun Nov 02, 2003 13:05
Location: Harlingen

Re: Feike Boomstra's Horizon draughts program released

Post by Piet Bouma »

Hello Bert,

Did you find in the programm (the evaluation function) also the way how Feike did the
evaluation (sending by ftp a diagram plus expected move in a .png) at some tournaments in the past?
It would be very useful at tournaments in the future maybe combined with Kingsrow (Ed).
https:toernooibase.kndb.nl More than 457.000 games on applet, more than 1.300.000 results, more than 23.000 games broadcasted (semi-)live, more than 13.600 inserted tournaments!
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

Piet,

so far I only focused to make the program work within Windows with the DXP-protocol.
Think the option you are referring to, is somewhere in the Python files.
So I need a closer look to really understand this concept.
Maybe some-one can explain how during tournaments this option was "organized , so i can find some clues.
Did Feike (or someone else) needed to type moves into the PC and from there a web-page was updated? Was there a direct connection with the electronic draughts boards ??

Note: I could not find the supplier of the electronic draughts boards (and the price tag). I like to add this feature (connection to the E board) in a future version of Damage.

Bert
Wieger Wesselink
Posts: 1157
Joined: Sat Jun 28, 2003 13:22
Location: Eindhoven, The Netherlands
Contact:

Re: Feike Boomstra's Horizon draughts program released

Post by Wieger Wesselink »

There is a dependency on the python package http://home.gna.org/pychart/ in Feike's code. So probably he used that to draw graphs of the evaluation. Personally I find such graphs not very informative. I prefer to see the current value and the principal variation.
Wieger Wesselink
Posts: 1157
Joined: Sat Jun 28, 2003 13:22
Location: Eindhoven, The Netherlands
Contact:

Re: Feike Boomstra's Horizon draughts program released

Post by Wieger Wesselink »

BertTuyt wrote: Note: I could not find the supplier of the electronic draughts boards (and the price tag). I like to add this feature (connection to the E board) in a future version of Damage.

Bert
That would be a nice addition. The supplier of the electronic boards is DGT (http://digitalgametechnology.com/). Unfortunately there is no single board driver available yet.
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Feike Boomstra's Horizon draughts program released

Post by BertTuyt »

Wieger,

had a quick look at the DGT side but could not find E Draughts Boards (only Chess). But maybe I did not look into detail.
In the download section , however, I found software drivers for the E-board.

Bert
Wieger Wesselink
Posts: 1157
Joined: Sat Jun 28, 2003 13:22
Location: Eindhoven, The Netherlands
Contact:

Re: Feike Boomstra's Horizon draughts program released

Post by Wieger Wesselink »

BertTuyt wrote:Wieger,

had a quick look at the DGT side but could not find E Draughts Boards (only Chess). But maybe I did not look into detail.
In the download section , however, I found software drivers for the E-board.

Bert
The electronic draughts boards are for sale now, they are being advertised in 'Het Damspel'.

I just checked, and it seems there is now an alpha version of a generic board driver available (Version 0.1.1 alpha 20100106). So they seem to be working on it. Earlier versions of the driver were only usable for chess.
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: Feike Boomstra's Horizon draughts program released

Post by Ed Gilbert »

It would be very useful at tournaments in the future maybe combined with Kingsrow (Ed).
I have had some preliminary email discussion with Wieger about doing this. I have added the capability for a remote client to get the search results from kingsrow over a DamExchange connection, and I have offered my 8-core 16GB machine with kingsrow for use during the world championship match this year. Of course more work needs to be done before there can be realtime search results during the match, but perhaps it will happen.

-- Ed
Post Reply