Downloadable 8-piece db and open source driver
-
- Posts: 859
- Joined: Sat Apr 28, 2007 14:53
- Real name: Ed Gilbert
- Location: Morristown, NJ USA
- Contact:
Re: Downloadable 8-piece db and open source driver
Bert, thanks for letting me know. Good to hear that it worked well for you.
-- Ed
-- Ed
Re: Downloadable 8-piece db and open source driver
BertTuyt wrote:Ed, I included the EGDB driver (as-is) with a small wrapper (as my Board configuration is slightly different) in my test program Dwarf.
Also downloaded the 8P DB.
It all worked perfectly.
As one could expect, I tested the Woldouby position, and when the zero score popped up around ply 30, it really felt like a miracle (although we all know these days that it is a draw).
So again thanks for sharing.
Bert
Hi Bert
When will it be possible to test Dwarf with its database
Against Horizon, Scan, Dragon, Kingsrow, Flits, Truus, Tornado, Mobydam
Thank you for your reply.
Yves
Re: Downloadable 8-piece db and open source driver
I have limited time for Computer Draughts these days, so I also have no timing for Dwarf.
Bert
Bert
-
- Posts: 20
- Joined: Mon Oct 17, 2016 09:05
- Real name: Robin Messemer
Re: Downloadable 8-piece db and open source driver
Hey,
I am programming a checkers engine in java and I am currently working on my search algorithm. Is there anyway I can use the database access could using java ? I guess JNI (Java-Native-Interface) would be a workaround but I dont know how much overhead that would add to the probing code. It would be worth a try but before doing so I would like to know what you guys think.
Thanks
I am programming a checkers engine in java and I am currently working on my search algorithm. Is there anyway I can use the database access could using java ? I guess JNI (Java-Native-Interface) would be a workaround but I dont know how much overhead that would add to the probing code. It would be worth a try but before doing so I would like to know what you guys think.
Thanks
-
- Posts: 859
- Joined: Sat Apr 28, 2007 14:53
- Real name: Ed Gilbert
- Location: Morristown, NJ USA
- Contact:
Re: Downloadable 8-piece db and open source driver
I don't know anything about JNI, but each call into the egdb driver does a non-trivial amount of work, so I would expect that the overhead of bridging the two environments is negligible in comparison.I am programming a checkers engine in java and I am currently working on my search algorithm. Is there anyway I can use the database access could using java ? I guess JNI (Java-Native-Interface) would be a workaround but I dont know how much overhead that would add to the probing code. It would be worth a try but before doing so I would like to know what you guys think.
-- Ed
-
- Posts: 20
- Joined: Mon Oct 17, 2016 09:05
- Real name: Robin Messemer
Re: Downloadable 8-piece db and open source driver
I havent worked much with JNI but I did some tests and there is negliable performance loss as you had already pointed out.
I got one more question. Is there any other way to download the KingsRow 10-piece endgame database (preferably by a direct link) ? I want to download all the databases I need to my Linux-Server but I cant make it work with "mega"
I got one more question. Is there any other way to download the KingsRow 10-piece endgame database (preferably by a direct link) ? I want to download all the databases I need to my Linux-Server but I cant make it work with "mega"
-
- Posts: 859
- Joined: Sat Apr 28, 2007 14:53
- Real name: Ed Gilbert
- Location: Morristown, NJ USA
- Contact:
Re: Downloadable 8-piece db and open source driver
Because of the sizes of the files, Mega says the downloads only work with Chrome or Opera. I have only tested it with Chrome. Download on a Windows machine or in a Windows VM if it doesn't work with your linux browser.Is there any other way to download the KingsRow 10-piece endgame database (preferably by a direct link) ? I want to download all the databases I need to my Linux-Server but I cant make it work with "mega"
-- Ed
-
- Posts: 190
- Joined: Sun Sep 13, 2009 23:33
- Real name: Jan-Jaap van Horssen
- Location: Zeist, Netherlands
Re: Downloadable 8-piece db and open source driver
For Java users: I made a Java Native Interface (JNI) to the drivers. A zip file containing the binary (DLL) and Java sources can be downloaded via the link on https://github.com/eygilbert/egdb_intl or directly via http://edgilbert.org/InternationalDraug ... dbJava.zip.Ed Gilbert wrote:I don't know anything about JNI, but each call into the egdb driver does a non-trivial amount of work, so I would expect that the overhead of bridging the two environments is negligible in comparison.I am programming a checkers engine in java and I am currently working on my search algorithm. Is there anyway I can use the database access could using java ? I guess JNI (Java-Native-Interface) would be a workaround but I dont know how much overhead that would add to the probing code. It would be worth a try but before doing so I would like to know what you guys think.
-- Ed
First I tried with Java Native Access (JNA). This is easy but has a HUGE overhead. Then I switched to JNI, which is a bit awkward but fast.
Performance test, 1 million lookups:
- C++ 180 msec
- Java/JNA+DLL 2805 msec
- Java/JNI+DLL 183 msec
Jan-Jaap
www.maximusdraughts.org
-
- Posts: 20
- Joined: Mon Oct 17, 2016 09:05
- Real name: Robin Messemer
Re: Downloadable 8-piece db and open source driver
Hey,
is this wrapper only for international draughts (10x10) or also for Checkers (8x8) ?
Greetings
Robin
is this wrapper only for international draughts (10x10) or also for Checkers (8x8) ?
Greetings
Robin
-
- Posts: 190
- Joined: Sun Sep 13, 2009 23:33
- Real name: Jan-Jaap van Horssen
- Location: Zeist, Netherlands
Re: Downloadable 8-piece db and open source driver
I'm not familiar with the 8x8 checkers drivers, but a quick look learns that they are slightly different from the 10x10 draughts drivers.CheckersGuy wrote:Hey,
is this wrapper only for international draughts (10x10) or also for Checkers (8x8) ?
Greetings
Robin
However, you can use the same approach to create your own JNI interface to the 8x8 checkers database.
Jan-Jaap
www.maximusdraughts.org
-
- Posts: 20
- Joined: Mon Oct 17, 2016 09:05
- Real name: Robin Messemer
Re: Downloadable 8-piece db and open source driver
Hey,
I am still very unfamiliar with C,C++. I am currently trying to compile the example.cpp ED provided to test whether the Chinook databases are found
Which compiler settings should I use ?
I am currently using but that produces the error
I used mingw64 to compile the program
I would appreciate any help
I am still very unfamiliar with C,C++. I am currently trying to compile the example.cpp ED provided to test whether the Chinook databases are found
Which compiler settings should I use ?
I am currently using
Code: Select all
g++ -Wno-write-strings egdb_example.cpp -L/. egdb64.dll -o hallo.exe
Code: Select all
egdb.h:131:10: error: invalid use of 'extern' in linkage specification
EGDB_API extern unsigned int egdb_version;
I would appreciate any help
-
- Posts: 859
- Joined: Sat Apr 28, 2007 14:53
- Real name: Ed Gilbert
- Location: Morristown, NJ USA
- Contact:
Re: Downloadable 8-piece db and open source driver
I have only compiled it with Visual Studio 2015. I don't know why mingw64 is complaining about that line, but if that is the only problem, you can try commenting that line out. It is only needed if your own program references the global named egdb_version. The example program does not use it.but that produces the error
Code:
egdb.h:131:10: error: invalid use of 'extern' in linkage specification
EGDB_API extern unsigned int egdb_version;
I used mingw64 to compile the program
-- Ed
-
- Posts: 20
- Joined: Mon Oct 17, 2016 09:05
- Real name: Robin Messemer
Re: Downloadable 8-piece db and open source driver
I could compile the program now. Pretty weird that mingw complained about that particular line but at least I got it to work now. Hopefullyl, I wont get any errors when implementing the code in my own engine.Ed Gilbert wrote:I have only compiled it with Visual Studio 2015. I don't know why mingw64 is complaining about that line, but if that is the only problem, you can try commenting that line out. It is only needed if your own program references the global named egdb_version. The example program does not use it.but that produces the error
Code:
egdb.h:131:10: error: invalid use of 'extern' in linkage specification
EGDB_API extern unsigned int egdb_version;
I used mingw64 to compile the program
-- Ed
Thanks for helping me out