Tafler computer program

Post Reply
Michel
Posts: 4
Joined: Tue Oct 22, 2019 9:06 am

Tafler computer program

Post by Michel » Sun Dec 01, 2019 11:49 pm

I am happy to announce a test-version of Tafler.

Tafler plays Saami Tablut, Welsh Tawlbwrdd and Brandubh. The program is very much in alpha-testing. The current version is only available with the intention of validation the rules that the program plays with. However you can setup positions and play against it.

It is my intention to make the (C++/C#) source available as open source.

If you have any comments on the program, especially on whether it is conforming to the rules, let me know.

Download at https://mdgsoft.home.xs4all.nl/tafler

Michel

Fishbreath
Posts: 24
Joined: Sun Apr 24, 2016 12:13 am

Re: Tafler computer program

Post by Fishbreath » Wed Dec 18, 2019 4:50 am

What kind of state-per-second search speed are you up to?

I've done some work on protocols for tafl engines to communicate with tafl hosts, so if you're ever interested in supporting external engines, you can take a look at my OpenTafl project on Github: https://github.com/jslater89/OpenTafl

Michel
Posts: 4
Joined: Tue Oct 22, 2019 9:06 am

Re: Tafler computer program

Post by Michel » Sun Jan 12, 2020 8:01 pm

It runs about 3 million evaluations per second in gameplay, on a single core, on 9x9 games.

Move generating is about 16m/sec to generate a list of all moves.

I'll have a look at your project, but i made tafler mostly to get some experience in c++ and wpf.

Fishbreath
Posts: 24
Joined: Sun Apr 24, 2016 12:13 am

Re: Tafler computer program

Post by Fishbreath » Mon Jan 13, 2020 4:51 pm

Impressive! I think that gives you the speed record.

I look forward to the eventual open source version—I ended up giving bitboards a pass because I didn't have a good idea of how to handle them for boards with more than 64 spaces, so seeing how you approached the problem will definitely be instructive.

Michel
Posts: 4
Joined: Tue Oct 22, 2019 9:06 am

Re: Tafler computer program

Post by Michel » Mon Jan 13, 2020 11:08 pm

My board representation is made of 3 128-bit structures. (white, black, king)

The 128 bits limits board size of 11x11, but i can make larger datatypes if needed. Once you define a 128 bit datatype in c++ it basically works almost as easy as a 64 bit integer.

That said, working with bitboards does hurt your head though.... code gets hard to read and write.

What speed is your java programm running at?

Fishbreath
Posts: 24
Joined: Sun Apr 24, 2016 12:13 am

Re: Tafler computer program

Post by Fishbreath » Tue Jan 14, 2020 3:07 am

Only on the order of 100,000 states per second on 9x9 boards—OpenTafl is not written with speed first in mind, and even leaving that aside, there's still quite a bit of low-hanging fruit I haven't bothered to pluck.

I'm working on a Monte Carlo AI, which should help me make up some of the deficit by multi-threading and reducing the complexity of the evaluation function. (I think tafl games demand a 'heavier' MCTS—entirely random playouts never get anywhere, in the experience of Tuireann of PlayTaflOnline.)

Post Reply