Gaviota tablebases, Probing Code Release (Finally)

Discussion of chess software programming and technical issues.

Moderator: Ras

Teemu Pudas
Posts: 88
Joined: Wed Mar 25, 2009 12:49 pm

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by Teemu Pudas »

mathmoi wrote:I prefer the term Free software to name what opensource.org describe.
The Free Software Foundation disagrees. :roll:

If you facepalmed, you're not alone.
frankp
Posts: 233
Joined: Sun Mar 12, 2006 3:11 pm

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by frankp »

Aaron Becker wrote:Gaviota itself can generate the tablebases with the command tbgen. I used the linux version to create a 4-man set for testing yesterday. I'll add that the probing code is working great in Daydreamer so far.
Umm.. I seem to missing something. The tbgen command generate a few (3man) and then stops.

fp@debian:~/chess/gaviota$ ./gaviota
Gaviota v0.74.41-x
Copyright (c) 2000-2009 Miguel A. Ballicora
There is NO WARRANTY of any kind

feature done=0
INITIALIZATION from gaviota.ini.txt...
hashmem: 32 M
ref_table: 16 M
learn_table: 1 M
pawn_table: 1 M
log: on
max_logs: 200
log_path: "logs"
ponder: 2
book: on
book_file: "cleanbook.bin"
book_learn: on
learn: on
use_learned: on
learn_file: "learn.epd"
quiet_level: 6
alert_nps: 10000
resign_mode: on
kibitz: off
use_tablebase: on
tb_compression: on
tb_decoding_scheme: 4
tb_probing_depth: 2
tb_pieces_used: 5
tb_cache: on
tb_cache_size: 64 M
tb_path_1: "/home/fp/chess/gaviota/gtb"
tb_path_2: ""
tb_path_3: ""
tb_path_4: ""
SAN: off
cores: 1

SAVED OPTIONS: No options saved or missing file saved.ini
Log file "logs/log0011.txt" open.

HASH TABLES
A = 1048576 entries, 16 Mbytes.
B = 1048576 entries, 16 Mbytes.
Learning = 65536 entries, 1 Mbytes.
Refutation = 4194304 entries, 16 Mbytes.
Pawn = 16384 entries, 768 kbytes.
Material = 65536 entries, 512 kbytes.
--> Total RAM allocated = 51456 kbytes.
No book
telluser Gaviota book set to "on" but file was not found: check gaviota.ini.txt
--> Learning... learn.epd

Initialize Internal bitbases --> done

Initializing GTB supporting tables
Max kk idx: 462
Max pp idx: 576
Max aa idx: 2016
Max aaa idx: 41664
Max pp48 idx: 1128
Max ppp48 idx: 8648
Decode Scheme: 4
Compression initialization problems.


xboard/winboard mode
Position initialized.
tbgen 5

BUILDING TABLEBASES
-------------------
kqk: --> not installed
kqk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |****:****|
: --> done: 0.1s ==> subtotal: 0.1s
: saving /home/fp/chess/gaviota/gtbkqk.gtb --> done.
krk: --> not installed
krk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |****:****|****:*
: --> done: 0.2s ==> subtotal: 0.2s
: saving /home/fp/chess/gaviota/gtbkrk.gtb --> done.
kbk: --> not installed
kbk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |**
: --> done: 0.1s ==> subtotal: 0.1s
: saving /home/fp/chess/gaviota/gtbkbk.gtb --> done.
knk: --> not installed
knk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |**
: --> done: 0.0s ==> subtotal: 0.1s
: saving /home/fp/chess/gaviota/gtbknk.gtb --> done.
kpk: --> not installed
kpk: generating...
:
: slice 1/24
: phase = transitions
: .absent egtb

White to move
W: Ka1 Qa8
B: Kc1

fp@debian:~/chess/gaviota$
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by Aaron Becker »

frankp wrote: Umm.. I seem to missing something. The tbgen command generate a few (3man) and then stops.
I had a weird problem too, now that you remind me. The process stopped midway through, and the generated files looked like "gtbkxxk.gtb" instead of "gtb/kxxk.gtb". I wrote a little script to move and rename the files and apply the compression program (tbcp), then reran tbgen and it generated the remaining files. I think this is just a bug in gaviota that produces the wrong names for the output files.
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by Dann Corbit »

Teemu Pudas wrote:
Dann Corbit wrote:Eugene's tablebase system is open source also, but has a restrictive license.
What's your definition of "open source"?
You don't get to redefine reality by attaching your own arbitrary definition to something.

Open source is access to the source code.

I think a lot of the OSI stuff is utter idiocy. I think that Linus Torvalds wants to inflict his world view as the only correct one.

GPL is one kind of open source. So is Eugene's. I don't necessarily think one model is better than the other one either.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by michiguel »

frankp wrote:
Aaron Becker wrote:Gaviota itself can generate the tablebases with the command tbgen. I used the linux version to create a 4-man set for testing yesterday. I'll add that the probing code is working great in Daydreamer so far.
Umm.. I seem to missing something. The tbgen command generate a few (3man) and then stops.

fp@debian:~/chess/gaviota$ ./gaviota
Gaviota v0.74.41-x
Copyright (c) 2000-2009 Miguel A. Ballicora
There is NO WARRANTY of any kind

feature done=0
INITIALIZATION from gaviota.ini.txt...
hashmem: 32 M
ref_table: 16 M
learn_table: 1 M
pawn_table: 1 M
log: on
max_logs: 200
log_path: "logs"
ponder: 2
book: on
book_file: "cleanbook.bin"
book_learn: on
learn: on
use_learned: on
learn_file: "learn.epd"
quiet_level: 6
alert_nps: 10000
resign_mode: on
kibitz: off
use_tablebase: on
tb_compression: on
tb_decoding_scheme: 4
tb_probing_depth: 2
tb_pieces_used: 5
tb_cache: on
tb_cache_size: 64 M
tb_path_1: "/home/fp/chess/gaviota/gtb"
tb_path_2: ""
tb_path_3: ""
tb_path_4: ""
SAN: off
cores: 1

SAVED OPTIONS: No options saved or missing file saved.ini
Log file "logs/log0011.txt" open.

HASH TABLES
A = 1048576 entries, 16 Mbytes.
B = 1048576 entries, 16 Mbytes.
Learning = 65536 entries, 1 Mbytes.
Refutation = 4194304 entries, 16 Mbytes.
Pawn = 16384 entries, 768 kbytes.
Material = 65536 entries, 512 kbytes.
--> Total RAM allocated = 51456 kbytes.
No book
telluser Gaviota book set to "on" but file was not found: check gaviota.ini.txt
--> Learning... learn.epd

Initialize Internal bitbases --> done

Initializing GTB supporting tables
Max kk idx: 462
Max pp idx: 576
Max aa idx: 2016
Max aaa idx: 41664
Max pp48 idx: 1128
Max ppp48 idx: 8648
Decode Scheme: 4
Compression initialization problems.


xboard/winboard mode
Position initialized.
tbgen 5

BUILDING TABLEBASES
-------------------
kqk: --> not installed
kqk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |****:****|
: --> done: 0.1s ==> subtotal: 0.1s
: saving /home/fp/chess/gaviota/gtbkqk.gtb --> done.
krk: --> not installed
krk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |****:****|****:*
: --> done: 0.2s ==> subtotal: 0.2s
: saving /home/fp/chess/gaviota/gtbkrk.gtb --> done.
kbk: --> not installed
kbk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |**
: --> done: 0.1s ==> subtotal: 0.1s
: saving /home/fp/chess/gaviota/gtbkbk.gtb --> done.
knk: --> not installed
knk: generating...
: : phase = transitions
: ............ --> done: 0.0 s
: phase = reversible
: |**
: --> done: 0.0s ==> subtotal: 0.1s
: saving /home/fp/chess/gaviota/gtbknk.gtb --> done.
kpk: --> not installed
kpk: generating...
:
: slice 1/24
: phase = transitions
: .absent egtb

White to move
W: Ka1 Qa8
B: Kc1

fp@debian:~/chess/gaviota$
Try
tb_decoding_scheme: 0

in the gaviota.ini.txt
that means, uncompressed TBs. Otherwise, you get an error
"Compression initialization problems."
As you have above, because you actually do not have any compressed TBs. The TBs generated are uncompressed, and you later can choose to compressed them with the utility tbcp (also available in the website).
If you decide to generate all 5-pc TBs, it could take a couple of days or more depending on the hardware. Do not forget to set cores 4 if you have a quad, just before tbgen 5

Of course, there is a chance that I screw up something that was working already (It won't be the first or last). I will check when I go home tonight.

You can also download them from Joshua's site
http://www.olympuschess.com/egtb/gaviota/
You will have to decompress them with bzip2

Miguel
PS: I see the problem now that I re-read your post.
Set the path in gaviota.ini.txt as
tb_path_1: "/home/fp/chess/gaviota/gtb/"

rather than

tb_path_1: "/home/fp/chess/gaviota/gtb"

For instance it is saving
saving /home/fp/chess/gaviota/gtbkbk.gtb
rather than
saving /home/fp/chess/gaviota/gtb/kbk.gtb

I guess I should tell Gaviota to understand that. :oops:
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by michiguel »

Aaron Becker wrote:
frankp wrote: Umm.. I seem to missing something. The tbgen command generate a few (3man) and then stops.
I had a weird problem too, now that you remind me. The process stopped midway through, and the generated files looked like "gtbkxxk.gtb" instead of "gtb/kxxk.gtb". I wrote a little script to move and rename the files and apply the compression program (tbcp), then reran tbgen and it generated the remaining files. I think this is just a bug in gaviota that produces the wrong names for the output files.
See my reply to Frank. You can fix it adding "gtb/" rather than "gtb" in the gaviota.ini.txt file.

I will fix that because it should recognize both.

Miguel
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by wgarvin »

Teemu Pudas wrote:
mathmoi wrote:I prefer the term Free software to name what opensource.org describe.
The Free Software Foundation disagrees. :roll:

If you facepalmed, you're not alone.
Why is that deserving of a facepalm? "Open source" and "Free (libre) software" have always meant two different things. GPL-licensed programs are both, but most other programs that are under a non-GPL license are not "free software" because their licenses don't guarantee that ALL recipients of the software also receive the freedom to modify it however they wish.

Put another way: the BSD and all other open-source licenses permit those who receive the code can take it and do something neat with it, but they can also "close up" the code as part of a binary-only distribution, or re-use it in a proprietary program (or encumber it in some other way). The GPL and similar licenses, force those who receive and reuse the code, to pass it along with the same freedoms that they originally received it with. In effect, BSD grants "freedom for developers", whereas GPL grants "freedom for end-users". Anyway, the "free software" label has always been applied to GPL-like licenses, but never to BSD-like licenses. Like it or not, the FSF coined the term and they get to decide what it means.
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by Dann Corbit »

wgarvin wrote:
Teemu Pudas wrote:
mathmoi wrote:I prefer the term Free software to name what opensource.org describe.
The Free Software Foundation disagrees. :roll:

If you facepalmed, you're not alone.
Why is that deserving of a facepalm? "Open source" and "Free (libre) software" have always meant two different things. GPL-licensed programs are both, but most other programs that are under a non-GPL license are not "free software" because their licenses don't guarantee that ALL recipients of the software also receive the freedom to modify it however they wish.

Put another way: the BSD and all other open-source licenses permit those who receive the code can take it and do something neat with it, but they can also "close up" the code as part of a binary-only distribution, or re-use it in a proprietary program (or encumber it in some other way). The GPL and similar licenses, force those who receive and reuse the code, to pass it along with the same freedoms that they originally received it with. In effect, BSD grants "freedom for developers", whereas GPL grants "freedom for end-users". Anyway, the "free software" label has always been applied to GPL-like licenses, but never to BSD-like licenses. Like it or not, the FSF coined the term and they get to decide what it means.
So the GPL people say that GPL software is free software and BSD software is not free software.

What a pack of utter morons.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by michiguel »

Teemu Pudas wrote:
mathmoi wrote:I prefer the term Free software to name what opensource.org describe.
The Free Software Foundation disagrees. :roll:

If you facepalmed, you're not alone.
It is free software according to your link.

"Nearly all open source software is free software. The two terms describe almost the same category of software, but they stand for views based on fundamentally different values."

Miguel
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Gaviota tablebases, Probing Code Release (Finally)

Post by Dirt »

Dann Corbit wrote:Actually, it is the first open source tablebase system that is unencumbered.

Eugene's tablebase system is open source also, but has a restrictive license.
Were the Edward's tablebases encumbered? I never quite figured out why no one used them.