Search Algorithm

Discussion about development of draughts in the time of computer and Internet.
Post Reply
Rein Halbersma
Posts: 1721
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: Search Algorithm

Post by Rein Halbersma » Tue Jul 16, 2013 22:13

BertTuyt wrote:
Even I use the NULL-move only in specific situations you cannot say that the NULL-move concept is not use in Draughts can you?
Gerard, thanks for your reply.
I was not aware that you used the NULL-move.
So as you do (even in specific situations) use it, than my statement is not true obviously.
But so far I dont have information if also the others use this concept in general or as in your case in specific positions.

So please let me know...

Bert
Bert, I have written something about null move on this forum in the past, based on my own experimentations. See this thread: viewtopic.php?f=53&t=2349&start=21

I haven't any clear-clut conclusions yet. But so far the "double null move" technique by chess programmer Vincent Diepeveen (who also wrote a draughts program in the 90s) seems completely safe because it will automatically take care of zugzwang. It might not be as efficient as other draughts-specific reductions though.

Rein

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

Re: Search Algorithm

Post by BertTuyt » Tue Jul 16, 2013 23:02

Rein, thanks for sharing. Maybe I should re-study the Stockfish code.
Im not sure if in the Stockfish search all possible reductions are implemented such as, NULL-Move, MCP and LMR.
At least Damage uses MCP and LMR ( +FHR), although I have to admit that sometimes an obvious move is not recognized. As the gain in ply is very good, in general the overall performance is better.
So far I dont have a clue (and as such also no solution) in which specific cases MCP and/or LMR should be omitted.

As also Ed pointed out, the trick is better move-ordering (and better recognition whether a node is CUT/ALL, I guess) ...
My problem is that I so far (next to TT-Move) , very much rely on the History-Table (think also Ed is doing so). And I get more and more signals that the History Table at sufficient depth just produces "random noise". Basically move-ordering should be based on evaluation principles, but that is easier said than done :D

Bert

Alvaro
Posts: 15
Joined: Thu Mar 07, 2013 13:12
Real name: Alvaro Cardoso

Re: Search Algorithm

Post by Alvaro » Fri Jul 26, 2013 22:00

Hi,
I had null move in my program Profound (spanish checkers) for some time.
But I was getting draws all the time against Triturador.
Then at some point I removed it, and implemented some forward prunning of my own.
Then Profound started to play better and winning.
My implementation of null move had verification search, so I guess any possible benefits where a little offset by the verification search time.
One thing I want to test is to allow 2 nulls in a row, also I suspect we can get away by allowing any number of nulls in a row.
But only tests can shed some light on it.

best regards,
Alvaro

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

Re: Search Algorithm

Post by BertTuyt » Mon Aug 26, 2013 18:19

I'm testing a few small modifications in the conditions for LMR.
See below 79-games (small) match against Kingsrow.

It started with 66 Draws, than 1 Win for Kingsrow, and the other games also Draw.

Bert
Attachments
dxpgames Aug-2013.pdn
(79.23 KiB) Downloaded 289 times

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

Re: Search Algorithm

Post by BertTuyt » Fri Sep 06, 2013 13:40

A recommendation for everyone with a large Endgame Database, buy a Solid State Drive (SSD).
In Holland now available the Samsung 840 EVO series 1 TeraByte, listed for 549 euro....
And if you wait they will certainly become cheaper..

See below link:

http://www.anandtech.com/show/7173/sams ... els-tested

Bert

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

Re: Search Algorithm

Post by BertTuyt » Fri Sep 13, 2013 17:20

Interesting article: http://uk.hardware.info/reviews/4790/in ... or-servers

New Intel Xeon Ivy-Bridge for servers with 12-cores..

I have already seen announcements from Dell and HP launching new products based on this processor.
Top of the line a dual processor workstation (so 24 cores) with 512 GByte Memory.

But I'm afraid this product wont survive the local budget committee.

Bert

Walter
Posts: 96
Joined: Fri Jul 13, 2012 19:23
Real name: Walter Thoen

Re: Search Algorithm

Post by Walter » Wed Sep 18, 2013 09:58

BertTuyt wrote:Interesting article: http://uk.hardware.info/reviews/4790/in ... or-servers

New Intel Xeon Ivy-Bridge for servers with 12-cores..

I have already seen announcements from Dell and HP launching new products based on this processor.
Top of the line a dual processor workstation (so 24 cores) with 512 GByte Memory.

But I'm afraid this product wont survive the local budget committee.

Bert
Bert,

We are free to dream here without budget committees :-)

I would be interested to know what nice project you would actually embark on if you had such a machine.

By the way, forget SSD. I want a skyEagle system for my 12 piece egdb (http://www.skyera.com/products/skyeagle/overview/)!

Regards,
Walter

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

Re: Search Algorithm

Post by BertTuyt » Wed Oct 30, 2013 21:17

So it seems quiet (on the Western front).
In the mean time I have added now DataBase functionality to the Damage GUI.
Although work in progress Im now able to read and process TurboDambase (.cgd) files.
See below Ribbon.

Next to that I wanted to extend the standard search capabilities as provided by TurboDambase.
For this reason Im now developing a Draughts Query Language which I named DQL, and which I based on the previous work of the Chess Query Language (CQL).
With the Search Dialog it is now possible to write (open/save) DQL scripts to "data mine" the Game Database.

I'm now working to finalize the initial DQL-interpreter, and next to that Im writing a DQL document which I want to share will all, to verify if there is a need for additional language elements and to get further/more suggestions..

Bert
Attachments
DBRibbon.png
DBRibbon.png (76.68 KiB) Viewed 10399 times

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

Re: Search Algorithm

Post by BertTuyt » Wed Oct 30, 2013 21:22

Herewith the DB_Info Dialog after opening the Mega2005.cgd file....

Bert
Attachments
DB_info.png
DB_info.png (6.79 KiB) Viewed 10398 times

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

Re: Search Algorithm

Post by BertTuyt » Wed Oct 30, 2013 21:59

To get familiar with CQL I extracted some info from several webpages and included all in a separate .doc.
For those people interested attached the CQL.doc file.
As stated before I will write a (draft) DQL.doc document.

Bert
Attachments
CQL Introduction.doc
(136.5 KiB) Downloaded 334 times

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

Re: Search Algorithm

Post by Piet Bouma » Wed Oct 30, 2013 22:41

BertTuyt wrote:So it seems quiet (on the Western front).
In the mean time I have added now DataBase functionality to the Damage GUI.
Although work in progress Im now able to read and process TurboDambase (.cgd) files.
See below Ribbon.

Next to that I wanted to extend the standard search capabilities as provided by TurboDambase.
For this reason Im now developing a Draughts Query Language which I named DQL, and which I based on the previous work of the Chess Query Language (CQL).
With the Search Dialog it is now possible to write (open/save) DQL scripts to "data mine" the Game Database.

I'm now working to finalize the initial DQL-interpreter, and next to that Im writing a DQL document which I want to share will all, to verify if there is a need for additional language elements and to get further/more suggestions..

Bert
Nice developments Bert.
In Toernooibase I can "deliver" .pdn files.
Is there a possibility to "data mine" a .pdn file of almost 125.000 games of Toernooibase?
(First I must see if I can make this large file....)
And what about "on-line" data mine such a large file with some webservices?
Would that be possible?
https:toernooibase.kndb.nl More than 415.000 games on applet, more than 1.300.000 results, more than 21.000 games broadcasted (semi-)live, more than 12.900 inserted tournaments!

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

Re: Search Algorithm

Post by BertTuyt » Thu Oct 31, 2013 11:32

Nice developments Bert.
In Toernooibase I can "deliver" .pdn files.
Is there a possibility to "data mine" a .pdn file of almost 125.000 games of Toernooibase?
(First I must see if I can make this large file....)
And what about "on-line" data mine such a large file with some webservices?
Would that be possible?
Piet, it is not a huge effort to modify some routines in such a way that also .pdn files can be processed (only think analyzing a .pdn will take more time compared with the condensed/compressed TurboDambase file).
If you could create such a large file, I can certainly test it.
As I have a dropbox, I can share a directory with you where we could locate the .pdn (as email wont work).

If you are interested I can also share with you (and others) the new GUI with the Database options for further testing.
Where I definitely need support/help is in the data mine options you want to have included.
As already stated in a previous post, I think there is a need for far more complex search queries than the options supported by TurboDambase (although i definitely very much like and appreciate TurboDambase).

To offer this via web services, in alter stage, is also something which (to my opinion) can be realized.

Bert

Krzysztof Grzelak
Posts: 1357
Joined: Thu Jun 20, 2013 17:16
Real name: Krzysztof Grzelak

Re: Search Algorithm

Post by Krzysztof Grzelak » Fri Nov 01, 2013 05:08

Bert and which year you are using bases TurboDambase in the program Damage. I still have so request to you and you can make the program available for testing.

Krzysztof Grzelak.

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

Re: Search Algorithm

Post by BertTuyt » Sat Nov 02, 2013 19:06

The base DQL framework seems to work now.
Still with a limited language base, but not so difficult to expand.
The code was not yet optimized for speed (and certainly not error and fool proof), so TurboDambase is still faster.
In the given example it took DQL 4.5 second to find all (23513) "match games".

See below the TurboDambase mask for a specific outpost on 24 pattern
( black man 13 , 15, 20, 25 ; empty 19 , 30, 35 ; white man 24 , 29)
and also the DQL code.

So far I use M (capital ) for white man, m for black man en e for empty square (but that is easy to change...
Both TurboDambase and Damage DQL find in the Mega2005.cgd file with 316794 games 23513 match games.

Bert
Attachments
SearchDialog.PNG
SearchDialog.PNG (53.44 KiB) Viewed 10216 times
TD Search.PNG
TD Search.PNG (160.49 KiB) Viewed 10216 times
Last edited by BertTuyt on Sat Nov 02, 2013 21:28, edited 1 time in total.

Rein Halbersma
Posts: 1721
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: Search Algorithm

Post by Rein Halbersma » Sat Nov 02, 2013 20:05

Hi Bert,

Very ambitious project to make a draughts equivalent to CQL! Are you planning on supporting the :shift: keyword of CQL? That is something that is not possible in TurboDambase and would really make a difference.

Rein

Post Reply