.ctg Books in Winboard via Aquarium Book Adapter

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

.ctg Books in Winboard via Aquarium Book Adapter

Postby Charles Browne » 09 Aug 2009, 01:40

I'm sure some others here have already tried it but I was curious to see if the free Convekta Aquarium Book Adapter could be used to have UCI engines use .ctg books in Winboard, so I finally broke down and tried it and it worked.

Used the Demo version of Aquarium and stand alone version of the adapter. Once the tree configuration file is made (easily done) and the necessary files copied over to the adapter directory (wherever it is at on the harddrive) the Aquarium program is no longer needed for it to work.

Used the Shredder 10 UCI engine and Sedat Canbaz Perfect 2009 book as the test. Below are the Shredder Polyglot log and a Winboard debug file for any that may care to look at it. To me it looks like all necessary information made it from the engine to Polyglot and to Winboard. Due to character count restraints in post, only part of each file is shown below. I'd be interested if anyone sees anything wrong.

The Shredder engine definitely made book moves.


Shredder Polyglot Log

Code: Select all
179.909 PolyGlot 1.4.33b by Fabien Letouzey
179.909 POLYGLOT *** START ***
179.909 POLYGLOT INI file "shredder10.ini"
179.958 Adapter->Engine: uci
181.321 Engine->Adapter: id name Shredder 10.1 UCI
181.321 Engine->Adapter: id author Stefan Meyer-Kahlen
181.321 Engine->Adapter: option name Hash type spin min 4 max 4096 default 64
181.321 Engine->Adapter: option name NalimovPath type string default <empty>
181.321 Engine->Adapter: option name NalimovCache type spin min 1 max 256 default 1
181.321 Engine->Adapter: option name OwnBook type check default true
181.321 Engine->Adapter: option name Ponder type check default true
181.321 Engine->Adapter: option name MultiPV type spin min 1 max 20 default 1
181.321 Engine->Adapter: option name UCI_EngineAbout type string default Shredder 10.1 UCI by Stefan Meyer-Kahlen, www.shredderchess.com
181.321 Engine->Adapter: option name UCI_Chess960 type check default false
181.321 Engine->Adapter: option name UCI_AnalyseMode type check default false
181.321 Engine->Adapter: option name UCI_ShowCurrLine type check default false
181.321 Engine->Adapter: option name UCI_ShowRefutations type check default false
181.321 Engine->Adapter: option name UCI_LimitStrength type check default false
181.321 Engine->Adapter: option name UCI_Elo type spin min 1000 max 2400 default 1400
181.321 Engine->Adapter: option name UCI_SetPositionValue type string default <empty>
181.321 Engine->Adapter: option name UCI_ShredderbasesPath type string default shredderbases\bases.ini
181.321 Engine->Adapter: option name Keep Hash Tables type check default true
181.321 Engine->Adapter: option name Position Learning type check default true
181.321 Engine->Adapter: option name Prefer Open Positions type check default false
181.321 Engine->Adapter: option name Use Shredderbases type combo default Always var Never var LikeTB var Normal var Always
181.321 Engine->Adapter: option name Use Tablebases type combo default Normal var Never var Late var Normal var Early
181.321 Engine->Adapter: option name Queen type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Queen (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Rook type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Rook (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Bishop type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Bishop (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Knight type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Knight (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Pawn type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Pawn (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Style type combo default Intelligent var Intelligent var Aggressive var Active var Normal var Solid
181.321 Engine->Adapter: option name Combinations type combo default All var All var Most var Some var None
181.321 Engine->Adapter: option name Forward Pruning type spin min 0 max 5 default 2
181.321 Engine->Adapter: option name Selectivity type spin min -3 max 99 default -1
181.321 Engine->Adapter: option name Draw Score type spin min -300 max 300 default 0
181.321 Engine->Adapter: option name Clear Hash type button
181.321 Engine->Adapter: option name Clear PosLearning type button
181.321 Engine->Adapter: option name King Safety type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Center Control type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Pawn Structure type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Pawn Structure (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Passed Pawns type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Passed Pawns (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Bishop Pair type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Bishop Pair (Endgame) type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Time Usage type spin min 25 max 400 default 100
181.321 Engine->Adapter: option name Knowledge or Speed type spin min -500 max 500 default 0
181.321 Engine->Adapter: uciok
181.332 Adapter->Engine: setoption name Hash value 96
181.332 Adapter->Engine: setoption name NalimovPath value H:\tbs\compressed
181.332 Adapter->Engine: setoption name NalimovCache value 16
181.332 Adapter->Engine: setoption name Ponder value false
181.332 Adapter->Engine: setoption name Position Learning value false
181.332 Adapter->Engine: setoption name Use Shredderbases value Never
181.332 Adapter->Engine: setoption name Time Usage value 80
181.346 GUI->Adapter: xboard
181.346 GUI->Adapter: protover 2
181.346 Adapter->GUI: feature done=0
181.346 Adapter->GUI: feature analyze=1
181.346 Adapter->GUI: feature colors=0
181.346 Adapter->GUI: feature draw=1
181.346 Adapter->GUI: feature ics=1
181.346 Adapter->GUI: feature myname="Shredder 10.1 UCI"
181.346 Adapter->GUI: feature name=1
181.346 Adapter->GUI: feature pause=0
181.346 Adapter->GUI: feature ping=1
181.346 Adapter->GUI: feature playother=1
181.346 Adapter->GUI: feature reuse=1
181.346 Adapter->GUI: feature san=0
181.346 Adapter->GUI: feature setboard=1
181.346 Adapter->GUI: feature sigint=0
181.346 Adapter->GUI: feature sigterm=0
181.346 Adapter->GUI: feature time=1
181.346 Adapter->GUI: feature usermove=1
181.346 Adapter->GUI: feature memory=1
181.346 Adapter->GUI: feature smp=0
181.346 Adapter->GUI: feature egt="nalimov"
181.346 Adapter->GUI: feature variants="normal,fischerandom"
181.346 Adapter->GUI: feature option="NalimovCache -spin 16 1 256"
181.346 Adapter->GUI: feature option="OwnBook -check 1"
181.346 Adapter->GUI: feature option="MultiPV -spin 1 1 20"
181.346 Adapter->GUI: feature option="UCI_EngineAbout -string Shredder 10.1 UCI by Stefan Meyer-Kahlen, www.shredderchess.com"
181.346 Adapter->GUI: feature option="UCI_Chess960 -check 0"
181.346 Adapter->GUI: feature option="UCI_ShowCurrLine -check 0"
181.346 Adapter->GUI: feature option="UCI_ShowRefutations -check 0"
181.346 Adapter->GUI: feature option="UCI_LimitStrength -check 0"
181.346 Adapter->GUI: feature option="UCI_Elo -spin 1400 1000 2400"
181.346 Adapter->GUI: feature option="UCI_SetPositionValue -string <empty>"
181.346 Adapter->GUI: feature option="UCI_ShredderbasesPath -string shredderbases\bases.ini"
181.346 Adapter->GUI: feature option="Keep Hash Tables -check 1"
181.346 Adapter->GUI: feature option="Position Learning -check 0"
181.346 Adapter->GUI: feature option="Prefer Open Positions -check 0"
181.346 Adapter->GUI: feature option="Use Shredderbases -combo *Never /// LikeTB /// Normal /// Always"
181.346 Adapter->GUI: feature option="Use Tablebases -combo Never /// Late /// *Normal /// Early"
181.346 Adapter->GUI: feature option="Queen -spin 100 25 400"
181.346 Adapter->GUI: feature option="Queen (Endgame) -spin 100 25 400"
181.346 Adapter->GUI: feature option="Rook -spin 100 25 400"
181.346 Adapter->GUI: feature option="Rook (Endgame) -spin 100 25 400"
181.346 Adapter->GUI: feature option="Bishop -spin 100 25 400"
181.346 Adapter->GUI: feature option="Bishop (Endgame) -spin 100 25 400"
181.346 Adapter->GUI: feature option="Knight -spin 100 25 400"
181.346 Adapter->GUI: feature option="Knight (Endgame) -spin 100 25 400"
181.346 Adapter->GUI: feature option="Pawn -spin 100 25 400"
181.346 Adapter->GUI: feature option="Pawn (Endgame) -spin 100 25 400"
181.374 Adapter->GUI: feature option="Style -combo *Intelligent /// Aggressive /// Active /// Normal /// Solid"
181.374 Adapter->GUI: feature option="Combinations -combo *All /// Most /// Some /// None"
181.374 Adapter->GUI: feature option="Forward Pruning -spin 2 0 5"
181.374 Adapter->GUI: feature option="Selectivity -spin -1 -3 99"
181.374 Adapter->GUI: feature option="Draw Score -spin 0 -300 300"
181.374 Adapter->GUI: feature option="Clear Hash -button"
181.374 Adapter->GUI: feature option="Clear PosLearning -button"
181.374 Adapter->GUI: feature option="King Safety -spin 100 25 400"
181.375 Adapter->GUI: feature option="Center Control -spin 100 25 400"
181.375 Adapter->GUI: feature option="Pawn Structure -spin 100 25 400"
181.375 Adapter->GUI: feature option="Pawn Structure (Endgame) -spin 100 25 400"
181.375 Adapter->GUI: feature option="Passed Pawns -spin 100 25 400"
181.375 Adapter->GUI: feature option="Passed Pawns (Endgame) -spin 100 25 400"
181.375 Adapter->GUI: feature option="Bishop Pair -spin 100 25 400"
181.375 Adapter->GUI: feature option="Bishop Pair (Endgame) -spin 100 25 400"
181.375 Adapter->GUI: feature option="Time Usage -spin 80 25 400"
181.375 Adapter->GUI: feature option="Knowledge or Speed -spin 0 -500 500"
181.375 Adapter->GUI: feature option="Polyglot Log -check 1"
181.375 Adapter->GUI: feature option="Polyglot LogFile -string Shredder101UCI.log"
181.375 Adapter->GUI: feature option="Polyglot UseNice -check 0"
181.375 Adapter->GUI: feature option="Polyglot NiceValue -spin 5 0 20"
181.375 Adapter->GUI: feature option="Polyglot Chess960 -check 0"
181.375 Adapter->GUI: feature option="Polyglot Resign -check 0"
181.375 Adapter->GUI: feature option="Polyglot ResignMoves -spin 3 0 10000"
181.375 Adapter->GUI: feature option="Polyglot ResignScore -spin 600 0 10000"
181.375 Adapter->GUI: feature option="Polyglot MateScore -spin 10000 0 1000000"
181.375 Adapter->GUI: feature option="Polyglot Book -check 0"
181.375 Adapter->GUI: feature option="Polyglot BookFile -string C:\Program Files\Chess\Polyglot\books\Rybka.bin"
181.375 Adapter->GUI: feature option="Polyglot BookRandom -check 1"
181.375 Adapter->GUI: feature option="Polyglot BookLearn -check 0"
181.375 Adapter->GUI: feature option="Polyglot KibitzMove -check 0"
181.375 Adapter->GUI: feature option="Polyglot KibitzPV -check 0"
181.375 Adapter->GUI: feature option="Polyglot KibitzCommand -string tellall"
181.375 Adapter->GUI: feature option="Polyglot KibitzDelay -spin 5 0 10000"
181.375 Adapter->GUI: feature option="Polyglot KibitzInterval -spin 0 0 10000"
181.375 Adapter->GUI: feature option="Polyglot ShowPonder -check 0"
181.375 Adapter->GUI: feature option="Polyglot ScoreWhite -check 0"
181.375 Adapter->GUI: feature option="Polyglot UCIVersion -spin 2 1 2"
181.375 Adapter->GUI: feature option="Polyglot CanPonder -check 0"
181.375 Adapter->GUI: feature option="Polyglot SyncStop -check 0"
181.375 Adapter->GUI: feature option="Polyglot RepeatPV -check 1"
181.375 Adapter->GUI: feature option="Polyglot PromoteWorkAround -check 0"
181.375 Adapter->GUI: feature option="Polyglot WbWorkArounds -check 0"
181.375 Adapter->GUI: feature done=1
181.375 GUI->Adapter: accepted done
181.375 GUI->Adapter: accepted analyze
181.375 GUI->Adapter: accepted colors
181.375 GUI->Adapter: accepted draw
181.375 GUI->Adapter: accepted ics
181.375 GUI->Adapter: accepted myname
181.375 GUI->Adapter: accepted name
181.375 GUI->Adapter: accepted pause
181.375 GUI->Adapter: accepted ping
181.375 GUI->Adapter: accepted playother
181.375 GUI->Adapter: accepted reuse
181.375 GUI->Adapter: accepted san
181.375 GUI->Adapter: accepted setboard
181.375 GUI->Adapter: accepted sigint
181.375 GUI->Adapter: accepted sigterm
181.375 GUI->Adapter: accepted time
181.375 GUI->Adapter: accepted usermove
181.375 GUI->Adapter: accepted memory
181.375 GUI->Adapter: accepted smp
181.375 GUI->Adapter: accepted egt
181.375 GUI->Adapter: accepted variants
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 GUI->Adapter: accepted option
181.375 Engine->Adapter: registration checking
181.375 Engine->Adapter: registration ok
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.404 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted option
181.405 GUI->Adapter: accepted done
181.443 GUI->Adapter: memory 8
181.443 POLYGLOT setting the amount of memory to 8Mb
181.443 POLYGLOT Nalimov Cache is 1Mb
181.443 Adapter->Engine: setoption name Hash value 7
181.443 GUI->Adapter: egtpath nalimov C:\tbs
181.443 POLYGLOT setting the Nalimov path to C:\tbs
181.443 Adapter->Engine: setoption name NalimovPath value C:\tbs
181.443 GUI->Adapter: new
181.443 Adapter->Engine: isready
181.443 POLYGLOT NEW GAME
181.443 POLYGLOT WAIT
181.443 Adapter->Engine: ucinewgame
181.443 GUI->Adapter: random
181.447 GUI->Adapter: ics -
181.447 GUI->Adapter: level 0 15 2
181.447 GUI->Adapter: post
181.447 GUI->Adapter: hard
181.447 POLYGLOT WAIT
181.447 GUI->Adapter: easy
181.447 POLYGLOT WAIT
181.447 GUI->Adapter: ping 1
181.447 Adapter->GUI: pong 1
182.120 Engine->Adapter: readyok
195.365 GUI->Adapter: force
195.365 POLYGLOT WAIT
197.243 GUI->Adapter: computer
197.243 GUI->Adapter: name Crafty-23.0 JA
197.243 GUI->Adapter: time 90000
197.243 GUI->Adapter: otim 90000
197.243 GUI->Adapter: go
197.243 POLYGLOT THINK
197.243 POLYGLOT START SEARCH
197.243 POLYGLOT FEN rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
197.243 Adapter->Engine: position startpos
197.250 Adapter->Engine: go wtime 900000 btime 900000 winc 2000 binc 2000
197.293 Engine->Adapter: info depth 1 score cp 5 time 1 nodes 1 nps 1 pv e2e4
197.293 Adapter->GUI: 1 +5 0 1 e4
197.315 Engine->Adapter: bestmove e2e4
197.315 Adapter->GUI: 1 +5 0 1 e4
197.315 Adapter->GUI: move e2e4
197.315 POLYGLOT MOVE e4
197.315 POLYGLOT THINK -> WAIT
197.844 GUI->Adapter: time 90156
197.844 GUI->Adapter: otim 89984
197.844 GUI->Adapter: usermove e7e5
197.844 POLYGLOT MOVE e5
197.844 POLYGLOT WAIT -> THINK
197.844 POLYGLOT START SEARCH




Winboard Debug File

Code: Select all
recognized 'normal' (-1) as variant normal
WinBoard 4.4.0.beta1 + polyglot
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
TC string = '+15+2'
mps=0 tc=900000 inc=2000
TC string = '+15+2'
mps=0 tc=900000 inc=2000
StartChildProcess (dir="C:\Program Files\Chess\Polyglot") polyglot shredder10.ini
1540 >first : xboard
protover 2
1590 <first : PolyGlot 1.4.33b by Fabien Letouzey.
1700 <first : feature done=0
1700 >first : accepted done
1700 <first : feature analyze=1
1700 >first : accepted analyze
1700 <first : feature colors=0
1700 >first : accepted colors
1700 <first : feature draw=1
1700 >first : accepted draw
1700 <first : feature ics=1
1700 >first : accepted ics
1700 <first : feature myname="Shredder 10.1 UCI"
1700 >first : accepted myname
1700 <first : feature name=1
1700 >first : accepted name
1700 <first : feature pause=0
1700 >first : accepted pause
1700 <first : feature ping=1
1700 >first : accepted ping
1700 <first : feature playother=1
1700 >first : accepted playother
1700 <first : feature reuse=1
1700 >first : accepted reuse
1700 <first : feature san=0
1700 >first : accepted san
1700 <first : feature setboard=1
1700 >first : accepted setboard
1700 <first : feature sigint=0
1700 >first : accepted sigint
1700 <first : feature sigterm=0
1700 >first : accepted sigterm
1700 <first : feature time=1
1700 >first : accepted time
1700 <first : feature usermove=1
1700 >first : accepted usermove
1700 <first : feature memory=1
1700 >first : accepted memory
1700 <first : feature smp=0
1700 >first : accepted smp
1700 <first : feature egt="nalimov"
1700 >first : accepted egt
1700 <first : feature variants="normal,fischerandom"
1700 >first : accepted variants
1700 <first : feature option="NalimovCache -spin 16 1 256"
1700 >first : accepted option
1700 <first : feature option="OwnBook -check 1"
1700 >first : accepted option
1700 <first : feature option="MultiPV -spin 1 1 20"
1700 >first : accepted option
1700 <first : feature option="UCI_EngineAbout -string Shredder 10.1 UCI by Stefan Meyer-Kahlen, www.shredderchess.com"
1700 >first : accepted option
1700 <first : feature option="UCI_Chess960 -check 0"
1700 >first : accepted option
1700 <first : feature option="UCI_ShowCurrLine -check 0"
1700 >first : accepted option
1700 <first : feature option="UCI_ShowRefutations -check 0"
1700 >first : accepted option
1700 <first : feature option="UCI_LimitStrength -check 0"
1700 >first : accepted option
1700 <first : feature option="UCI_Elo -spin 1400 1000 2400"
1700 >first : accepted option
1700 <first : feature option="UCI_SetPositionValue -string <empty>"
1700 >first : accepted option
1700 <first : feature option="UCI_ShredderbasesPath -string shredderbases\bases.ini"
1700 >first : accepted option
1700 <first : feature option="Keep Hash Tables -check 1"
1700 >first : accepted option
1700 <first : feature option="Position Learning -check 0"
1700 >first : accepted option
1700 <first : feature option="Prefer Open Positions -check 0"
1700 >first : accepted option
1700 <first : feature option="Use Shredderbases -combo *Never /// LikeTB /// Normal /// Always"
1700 >first : accepted option
1700 <first : feature option="Use Tablebases -combo Never /// Late /// *Normal /// Early"
1700 >first : accepted option
1700 <first : feature option="Queen -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Queen (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Rook -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Rook (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Bishop -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Bishop (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Knight -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Knight (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Pawn -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Pawn (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Style -combo *Intelligent /// Aggressive /// Active /// Normal /// Solid"
1700 >first : accepted option
1700 <first : feature option="Combinations -combo *All /// Most /// Some /// None"
1700 >first : accepted option
1700 <first : feature option="Forward Pruning -spin 2 0 5"
1700 >first : accepted option
1700 <first : feature option="Selectivity -spin -1 -3 99"
1700 >first : accepted option
1700 <first : feature option="Draw Score -spin 0 -300 300"
1700 >first : accepted option
1700 <first : feature option="Clear Hash -button"
1700 >first : accepted option
1700 <first : feature option="Clear PosLearning -button"
1700 >first : accepted option
1700 <first : feature option="King Safety -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Center Control -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Pawn Structure -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Pawn Structure (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Passed Pawns -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Passed Pawns (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Bishop Pair -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Bishop Pair (Endgame) -spin 100 25 400"
1700 >first : accepted option
1700 <first : feature option="Time Usage -spin 80 25 400"
1700 >first : accepted option
1700 <first : feature option="Knowledge or Speed -spin 0 -500 500"
1700 >first : accepted option
1700 <first : feature option="Polyglot Log -check 1"
1700 >first : accepted option
1700 <first : feature option="Polyglot LogFile -string Shredder101UCI.log"
1700 >first : accepted option
1700 <first : feature option="Polyglot UseNice -check 0"
1700 >first : accepted option
1700 <first : feature option="Polyglot NiceValue -spin 5 0 20"
1700 >first : accepted option
1700 <first : feature option="Polyglot Chess960 -check 0"
1700 >first : accepted option
1700 <first : feature option="Polyglot Resign -check 0"
1700 >first : accepted option
1700 <first : feature option="Polyglot ResignMoves -spin 3 0 10000"
1700 >first : accepted option
1700 <first : feature option="Polyglot ResignScore -spin 600 0 10000"
1700 >first : accepted option
1700 <first : feature option="Polyglot MateScore -spin 10000 0 1000000"
1700 >first : accepted option
1700 <first : feature option="Polyglot Book -check 0"
1700 >first : accepted option
1700 <first : feature option="Polyglot BookFile -string C:\Program Files\Chess\Polyglot\books\Rybka.bin"
1700 >first : accepted option
1760 <first : feature option="Polyglot BookRandom -check 1"
1760 >first : accepted option
1760 <first : feature option="Polyglot BookLearn -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot KibitzMove -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot KibitzPV -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot KibitzCommand -string tellall"
1760 >first : accepted option
1760 <first : feature option="Polyglot KibitzDelay -spin 5 0 10000"
1760 >first : accepted option
1760 <first : feature option="Polyglot KibitzInterval -spin 0 0 10000"
1760 >first : accepted option
1760 <first : feature option="Polyglot ShowPonder -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot ScoreWhite -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot UCIVersion -spin 2 1 2"
1760 >first : accepted option
1760 <first : feature option="Polyglot CanPonder -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot SyncStop -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot RepeatPV -check 1"
1760 >first : accepted option
1760 <first : feature option="Polyglot PromoteWorkAround -check 0"
1760 >first : accepted option
1760 <first : feature option="Polyglot WbWorkArounds -check 0"
1760 >first : accepted option
1760 <first : feature done=1
1760 >first : accepted done
1760 >first : memory 8
1760 >first : egtpath nalimov C:\tbs
1760 >first : new
random
1760 >first : ics -
1760 >first : level 0 15 2
1760 >first : post
1760 >first : hard
1760 >first : easy
1760 >first : ping 1
1760 <first : pong 1
15650 >first : force
StartChildProcess (dir="C:\Program Files\Chess\Engines\Crafty 23.0") crafty_230
16200 >second: xboard
protover 2
16200 <second: EPD Kit revision date: 1996.04.21
16200 <second: unable to open book file [./books.bin].
16200 <second:
16200 <second: Initializing multiple threads.
16200 <second: System is SMP, not NUMA.
16200 <second: EGTB access enabled
16200 <second: using tbpath=h:\tbs\compressed
16860 <second: 5 piece tablebase files found
16860 <second: 10688kb of RAM used for TB indices and decompression tables
16860 <second: EGTB cache memory =   16M bytes.
16860 <second: pondering disabled.
16860 <second: disabled resignations.
16860 <second: book learning disabled
16860 <second: choose from book moves randomly (using weights.)
16860 <second: choose from 4 best moves.
16860 <second: show book statistics
16860 <second: SMP terminate extra threads when idle.
17410 <second: hash table memory =   96M bytes.
17520 <second: pawn hash table memory =   16M bytes.
17520 <second:
17520 <second:
17520 <second: Crafty v23.0 JA (1 cpu)
17520 <second:
17520 <second: White(1):
17520 <second: tellicsnoalias set 1 Crafty v23.0 JA (1 cpu)
17520 <second: tellicsnoalias kibitz Hello from Crafty v23.0 JA! (1 cpu)
17520 <second: feature ping=1 setboard=1 san=1 time=1 draw=1
17520 >second: accepted ping
17520 >second: accepted setboard
17520 >second: accepted san
17520 >second: accepted time
17520 >second: accepted draw
17520 <second: feature sigint=0 sigterm=0 reuse=1 analyze=1
17520 >second: accepted sigint
17520 >second: accepted sigterm
17520 >second: accepted reuse
17520 >second: accepted analyze
17520 <second: feature myname="Crafty-23.0 JA" name=1
17520 >second: accepted myname
17520 >second: accepted name
17520 <second: feature playother=1 colors=0
17520 >second: accepted playother
17520 >second: accepted colors
17520 <second: feature variants="normal,nocastle"
17520 >second: accepted variants
17520 <second: feature done=1
17520 >second: accepted done
17580 >second: new
random
Charles Browne
 
Posts: 209
Joined: 26 May 2008, 00:30

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Charles Browne » 09 Aug 2009, 02:14

And this is the Aquarium Book Adapter log (but for a different game than the above posted logs. I aborted the game once out of book.)

Code: Select all
>!uci
>>uci
<<id name Shredder 10.1 UCI
<<id author Stefan Meyer-Kahlen
<<option name Hash type spin min 4 max 4096 default 64
<<option name NalimovPath type string default <empty>
<<option name NalimovCache type spin min 1 max 256 default 1
<<option name OwnBook type check default true
<<option name Ponder type check default true
<<option name MultiPV type spin min 1 max 20 default 1
<<option name UCI_EngineAbout type string default Shredder 10.1 UCI by Stefan Meyer-Kahlen, www.shredderchess.com
<<option name UCI_Chess960 type check default false
<<option name UCI_AnalyseMode type check default false
<<option name UCI_ShowCurrLine type check default false
<<option name UCI_ShowRefutations type check default false
<<option name UCI_LimitStrength type check default false
<<option name UCI_Elo type spin min 1000 max 2400 default 1400
<<option name UCI_SetPositionValue type string default <empty>
<<option name UCI_ShredderbasesPath type string default shredderbases\bases.ini
<<option name Keep Hash Tables type check default true
<<option name Position Learning type check default true
<<option name Prefer Open Positions type check default false
<<option name Use Shredderbases type combo default Always var Never var LikeTB var Normal var Always
<<option name Use Tablebases type combo default Normal var Never var Late var Normal var Early
<<option name Queen type spin min 25 max 400 default 100
<<option name Queen (Endgame) type spin min 25 max 400 default 100
<<option name Rook type spin min 25 max 400 default 100
<<option name Rook (Endgame) type spin min 25 max 400 default 100
<<option name Bishop type spin min 25 max 400 default 100
<<option name Bishop (Endgame) type spin min 25 max 400 default 100
<<option name Knight type spin min 25 max 400 default 100
<<option name Knight (Endgame) type spin min 25 max 400 default 100
<<option name Pawn type spin min 25 max 400 default 100
<<option name Pawn (Endgame) type spin min 25 max 400 default 100
<<option name Style type combo default Intelligent var Intelligent var Aggressive var Active var Normal var Solid
<<option name Combinations type combo default All var All var Most var Some var None
<<option name Forward Pruning type spin min 0 max 5 default 2
<<option name Selectivity type spin min -3 max 99 default -1
<<option name Draw Score type spin min -300 max 300 default 0
<<option name Clear Hash type button
<<option name Clear PosLearning type button
<<option name King Safety type spin min 25 max 400 default 100
<<option name Center Control type spin min 25 max 400 default 100
<<option name Pawn Structure type spin min 25 max 400 default 100
<<option name Pawn Structure (Endgame) type spin min 25 max 400 default 100
<<option name Passed Pawns type spin min 25 max 400 default 100
<<option name Passed Pawns (Endgame) type spin min 25 max 400 default 100
<<option name Bishop Pair type spin min 25 max 400 default 100
<<option name Bishop Pair (Endgame) type spin min 25 max 400 default 100
<<option name Time Usage type spin min 25 max 400 default 100
<<option name Knowledge or Speed type spin min -500 max 500 default 0
<<uciok
<<registration checking
<<registration ok
>!setoption name Hash value 96
>>setoption name Hash value 96
>!setoption name NalimovPath value H:\tbs\compressed
>>setoption name NalimovPath value H:\tbs\compressed
>!setoption name NalimovCache value 16
>>setoption name NalimovCache value 16
>!setoption name Ponder value false
>>setoption name Ponder value false
>!setoption name Position Learning value false
>>setoption name Position Learning value false
>!setoption name Use Shredderbases value Never
>>setoption name Use Shredderbases value Never
>!setoption name Time Usage value 80
>>setoption name Time Usage value 80
>!setoption name Hash value 7
>>setoption name Hash value 7
>!setoption name NalimovPath value C:\tbs
>>setoption name NalimovPath value C:\tbs
>!isready
>>isready
>!ucinewgame
>>ucinewgame
<<readyok
>!position startpos
<!Loading position: position startpos
<!Position loaded:
>>position startpos
>!go wtime 900000 btime 900000 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 0
<!Random seed: 59 Sum: 95
<!Book move: e2e4
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv e2e4
<<bestmove e2e4
>>go ponder searchmoves e2e4
<!info depth 1 seldepth 1 time 86 score cp 105 lowerbound nodes 1 nps 11 hashfull 0 pv e2e4
<!info depth 1 seldepth 1 time 86 score cp 105 nodes 2 nps 23 hashfull 0 pv e2e4
<!info nodes 2
<!info depth 2 seldepth 2 time 86 score cp 52 upperbound nodes 5 nps 58 hashfull 0 pv e2e4
<!info depth 2 seldepth 4 time 86 score cp 6 nodes 31 nps 360 hashfull 0 pv e2e4 d7d5
<!info nodes 31
<!info depth 3 seldepth 8 time 86 score cp 31 lowerbound nodes 114 nps 1325 hashfull 0 pv e2e4 d7d5
<!info depth 3 seldepth 8 time 86 score cp 31 nodes 150 nps 1744 hashfull 0 pv e2e4 d7d5 b1c3
<!info nodes 150
<!info nps 1744 nodes 150 hashfull 0
>!position startpos moves e2e4 e7e5
>>stop
<!Loading position: position startpos moves e2e4 e7e5
<!Position loaded: 1. e4 e5
>>position startpos moves e2e4 e7e5
>!go wtime 901500 btime 899950 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 2
<!Random seed: 2 Sum: 100
<!Book move: g1f3
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv g1f3
<<bestmove g1f3
>>go ponder searchmoves g1f3
<!bestmove e2e4
<!info depth 1 seldepth 1 time 1 score cp 48 lowerbound nodes 1 nps 1000 hashfull 0 pv g1f3
<!info depth 1 seldepth 1 time 1 score cp 48 nodes 2 nps 2000 hashfull 0 pv g1f3
<!info nodes 2
<!info depth 2 seldepth 4 time 1 score cp 10 upperbound nodes 23 nps 23000 hashfull 0 pv g1f3
<!info depth 2 seldepth 4 time 1 score cp -14 nodes 54 nps 54000 hashfull 0 pv g1f3 b8c6
<!info nodes 54
<!info depth 3 seldepth 5 time 1 score cp 18 lowerbound nodes 127 nps 127000 hashfull 0 pv g1f3 b8c6
<!info depth 3 seldepth 7 time 1 score cp 40 nodes 236 nps 236000 hashfull 0 pv g1f3 b8c6 d2d4
<!info nodes 236
<!info nps 236000 nodes 236 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6
<!Position loaded: 1. e4 e5 2. Nf3 Nc6
>>position startpos moves e2e4 e7e5 g1f3 b8c6
>!go wtime 903340 btime 901840 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 4
<!Random seed: 86 Sum: 100
<!Book move: f1b5
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv f1b5
<<bestmove f1b5
>>go ponder searchmoves f1b5
<!bestmove g1f3
<!info depth 1 seldepth 1 time 1 score cp 4 nodes 1 nps 1000 hashfull 0 pv f1b5
<!info nodes 1
<!info depth 2 seldepth 7 time 1 score cp -29 upperbound nodes 60 nps 60000 hashfull 0 pv f1b5
<!info depth 2 seldepth 7 time 1 score cp -29 nodes 91 nps 91000 hashfull 0 pv f1b5 g8f6
<!info nodes 91
<!info depth 3 seldepth 9 time 1 score cp -4 lowerbound nodes 226 nps 226000 hashfull 0 pv f1b5 g8f6
<!info depth 3 seldepth 9 time 1 score cp 26 nodes 367 nps 367000 hashfull 0 pv f1b5 f8c5 b5c6
<!info nodes 367
<!info nps 367000 nodes 367 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6
>!go wtime 905170 btime 903730 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 6
<!Random seed: 63 Sum: 92
<!Book move: e1g1
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv e1g1
<<bestmove e1g1
>>go ponder searchmoves e1g1
<!bestmove f1b5
<!info depth 1 seldepth 2 time 0 score cp 3 lowerbound nodes 2 hashfull 0 pv e1g1
<!info depth 1 seldepth 2 time 0 score cp 3 nodes 3 hashfull 0 pv e1g1
<!info nodes 3
<!info depth 2 seldepth 6 time 0 score cp -28 upperbound nodes 31 hashfull 0 pv e1g1
<!info depth 2 seldepth 6 time 0 score cp -44 nodes 70 hashfull 0 pv e1g1 f8c5 b5c6 d7c6 f3e5 f6e4
<!info nodes 70
<!info depth 3 seldepth 11 time 0 score cp -17 lowerbound nodes 265 hashfull 0 pv e1g1 f8c5
<!info depth 3 seldepth 11 time 0 score cp 3 nodes 381 hashfull 0 pv e1g1 f6e4 b5c6
<!info nodes 381
<!info nodes 381 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4
>!go wtime 907060 btime 905620 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 8
<!Random seed: 63 Sum: 100
<!Book move: d2d4
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv d2d4
<<bestmove d2d4
>>go ponder searchmoves d2d4
<!bestmove e1g1
<!info depth 1 seldepth 5 time 0 score cp -62 lowerbound nodes 10 hashfull 0 pv d2d4
<!info depth 1 seldepth 5 time 0 score cp -8 lowerbound nodes 16 hashfull 0 pv d2d4
<!info depth 1 seldepth 5 time 0 score cp -8 nodes 17 hashfull 0 pv d2d4
<!info nodes 17
<!info depth 2 seldepth 9 time 2 score cp 14 nodes 140 nps 70000 hashfull 0 pv d2d4 e5d4 f3d4
<!info nodes 140
<!info depth 3 seldepth 8 time 2 score cp -11 upperbound nodes 222 nps 111000 hashfull 0 pv d2d4 e5d4
<!info depth 3 seldepth 8 time 2 score cp -16 nodes 449 nps 224500 hashfull 0 pv d2d4 e5d4 f1e1
<!info nodes 449
<!info nps 224500 nodes 449 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6
>!go wtime 908950 btime 907510 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 10
<!Random seed: 97 Sum: 100
<!Book move: b5c6
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv b5c6
<<bestmove b5c6
>>go ponder searchmoves b5c6
<!bestmove d2d4
<!info depth 1 seldepth 3 time 0 score cp 131 lowerbound nodes 6 hashfull 0 pv b5c6
<!info depth 1 seldepth 3 time 0 score cp 134 nodes 13 hashfull 0 pv b5c6 d7c6 f3e5
<!info nodes 13
<!info depth 2 seldepth 3 time 0 score cp 134 nodes 72 hashfull 0 pv b5c6 d7c6 f3e5
<!info nodes 72
<!info depth 3 seldepth 8 time 0 score cp 116 nodes 416 hashfull 0 pv b5c6 d7c6 d4e5 d6e4
<!info nodes 416
<!info nodes 416 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6
>!go wtime 910840 btime 909350 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 12
<!Random seed: 84 Sum: 100
<!Book move: d4e5
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv d4e5
<<bestmove d4e5
>>go ponder searchmoves d4e5
<!bestmove b5c6
<!info depth 1 seldepth 1 time 0 score cp 116 lowerbound nodes 1 hashfull 0 pv d4e5 d6e4
<!info depth 1 seldepth 2 time 0 score cp 116 nodes 2 hashfull 0 pv d4e5 d6e4
<!info nodes 2
<!info depth 2 seldepth 2 time 0 score cp 116 nodes 3 hashfull 0 pv d4e5 d6e4
<!info nodes 3
<!info depth 3 seldepth 8 time 0 score cp 91 upperbound nodes 103 hashfull 0 pv d4e5 d6e4
<!info depth 3 seldepth 8 time 0 score cp 89 nodes 291 hashfull 0 pv d4e5 d6e4 c1e3
<!info nodes 291
<!info nodes 291 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6 7. dxe5 Nf5
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5
>!go wtime 912730 btime 911240 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 14
<!Random seed: 95 Sum: 100
<!Book move: d1d8
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv d1d8
<<bestmove d1d8
>>go ponder searchmoves d1d8
<!bestmove d4e5
<!info depth 1 seldepth 1 time 0 score cp 30 upperbound nodes 1 hashfull 0 pv d1d8
<!info depth 1 seldepth 2 time 0 score cp 30 nodes 3 hashfull 0 pv d1d8
<!info nodes 3
<!info depth 2 seldepth 5 time 0 score cp 69 lowerbound nodes 21 hashfull 0 pv d1d8
<!info depth 2 seldepth 5 time 0 score cp 90 nodes 60 hashfull 0 pv d1d8 e8d8 f1d1 c8d7
<!info nodes 60
<!info depth 3 seldepth 6 time 0 score cp 129 lowerbound nodes 111 hashfull 0 pv d1d8 e8d8
<!info depth 3 seldepth 8 time 0 score cp 129 nodes 265 hashfull 0 pv d1d8 e8d8 f1d1 c8d7 b1c3
<!info nodes 265
<!info nodes 265 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6 7. dxe5 Nf5
8. Qxd8+ Kxd8
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8
>!go wtime 914620 btime 913130 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 16
<!Random seed: 41 Sum: 100
<!Book move: b1c3
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv b1c3
<<bestmove b1c3
>>go ponder searchmoves b1c3
<!bestmove d1d8
<!info depth 1 seldepth 1 time 15 score cp 69 nodes 1 nps 66 hashfull 0 pv b1c3
<!info nodes 1
<!info depth 2 seldepth 3 time 15 score cp 22 upperbound nodes 10 nps 666 hashfull 0 pv b1c3
<!info depth 2 seldepth 3 time 15 score cp 22 nodes 40 nps 2666 hashfull 0 pv b1c3 f8c5
<!info nodes 40
<!info depth 3 seldepth 4 time 15 score cp 48 lowerbound nodes 210 nps 14000 hashfull 0 pv b1c3 f8c5
<!info depth 3 seldepth 8 time 15 score cp 86 nodes 394 nps 26266 hashfull 0 pv b1c3 f8c5 c1g5 d8d7
<!info nodes 394
<!info nps 26266 nodes 394 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6 7. dxe5 Nf5
8. Qxd8+ Kxd8 9. Nc3 Bd7
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7
>!go wtime 916450 btime 915020 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 18
<!Random seed: 70 Sum: 100
<!Book move: f1d1
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv f1d1
<<bestmove f1d1
>>go ponder searchmoves f1d1
<!bestmove b1c3
<!info depth 1 seldepth 1 time 0 score cp 129 lowerbound nodes 1 hashfull 0 pv f1d1
<!info depth 1 seldepth 1 time 0 score cp 129 nodes 2 hashfull 0 pv f1d1
<!info nodes 2
<!info depth 2 seldepth 2 time 0 score cp 94 upperbound nodes 4 hashfull 0 pv f1d1
<!info depth 2 seldepth 3 time 0 score cp 82 nodes 36 hashfull 0 pv f1d1 f8c5
<!info nodes 36
<!info depth 3 seldepth 5 time 0 score cp 116 lowerbound nodes 142 hashfull 0 pv f1d1 f8c5
<!info depth 3 seldepth 5 time 0 score cp 116 nodes 181 hashfull 0 pv f1d1 f8c5 c1f4
<!info nodes 181
<!info nodes 181 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6 7. dxe5 Nf5
8. Qxd8+ Kxd8 9. Nc3 Bd7 10. Rd1 Kc8
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8
>!go wtime 918400 btime 916910 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 20
<!Random seed: 31 Sum: 100
<!Book move: f3g5
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv f3g5
<<bestmove f3g5
>>go ponder searchmoves f3g5
<!bestmove f1d1
<!info depth 1 seldepth 1 time 0 score cp 93 nodes 1 hashfull 0 pv f3g5
<!info nodes 1
<!info depth 2 seldepth 5 time 0 score cp 96 nodes 54 hashfull 0 pv f3g5 f7f6
<!info nodes 54
<!info depth 3 seldepth 8 time 0 score cp 121 lowerbound nodes 177 hashfull 0 pv f3g5 f7f6
<!info depth 3 seldepth 8 time 0 score cp 166 nodes 343 hashfull 0 pv f3g5 f8c5 g5f7
<!info nodes 343
<!info nodes 343 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8 f3g5 d7e8
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8 f3g5 d7e8
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6 7. dxe5 Nf5
8. Qxd8+ Kxd8 9. Nc3 Bd7 10. Rd1 Kc8 11. Ng5 Be8
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8 f3g5 d7e8
>!go wtime 920230 btime 918800 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 22
<!bestmove f3g5
<!Random seed: 93 Sum: 100
<!Book move: b2b3
<<info depth 1 score cp 5 time 1 nodes 1 nps 1 pv b2b3
<<bestmove b2b3
>>go ponder searchmoves b2b3
<!info depth 1 seldepth 1 time 0 score cp 136 nodes 1 hashfull 0 pv b2b3
<!info nodes 1
<!info depth 2 seldepth 3 time 0 score cp 91 upperbound nodes 10 hashfull 0 pv b2b3
<!info depth 2 seldepth 3 time 0 score cp 91 nodes 37 hashfull 0 pv b2b3 f8c5
<!info nodes 37
<!info depth 3 seldepth 6 time 0 score cp 107 nodes 285 hashfull 0 pv b2b3 f7f6 g5f3
<!info nodes 285
<!info nodes 285 hashfull 0
>!position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8 f3g5 d7e8 b2b3 b7b6
>>stop
<!Loading position: position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8 f3g5 d7e8 b2b3 b7b6
<!Position loaded: 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Bxc6 dxc6 7. dxe5 Nf5
8. Qxd8+ Kxd8 9. Nc3 Bd7 10. Rd1 Kc8 11. Ng5 Be8 12. b3 b6
>>position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 e1g1 f6e4 d2d4 e4d6 b5c6 d7c6 d4e5 d6f5 d1d8 e8d8 b1c3 c8d7 f1d1 d8c8 f3g5 d7e8 b2b3 b7b6
>!go wtime 921680 btime 911960 winc 2000 binc 2000
<!Searching in book: Perfect 2009
<!Current position: 24
<!Book move: not found
>>go wtime 918680 btime 908960 winc 2000 binc 2000
<!bestmove b2b3
<<info depth 1 seldepth 2 time 0 score cp 109 upperbound nodes 2 hashfull 0 pv c1e3
<<info depth 1 seldepth 3 time 0 score cp 69 nodes 5 hashfull 0 pv c1e3 f5e3 f2e3
<<info depth 1 seldepth 3 time 0 score cp 204 lowerbound nodes 6 hashfull 0 pv c1f4
<<info depth 1 seldepth 3 time 0 score cp 204 nodes 7 hashfull 0 pv c1f4
<<info nodes 47
<<info depth 2 seldepth 2 time 0 score cp 160 upperbound nodes 56 hashfull 0 pv c1f4
<<info depth 2 seldepth 3 time 0 score cp 156 nodes 84 hashfull 0 pv c1f4 c8b7
<<info nodes 213
<<info depth 3 seldepth 7 time 2 score cp 152 nodes 421 nps 210500 hashfull 0 pv c1f4 c8b7 a2a4
<<info nodes 1702
<<info depth 4 seldepth 10 time 12 score cp 122 upperbound nodes 2021 nps 168416 hashfull 1 pv c1f4 c8b7
<<info depth 4 seldepth 10 time 12 score cp 118 nodes 2159 nps 179916 hashfull 1 pv c1f4 f8b4 c3e4 c8b7
<<info depth 4 seldepth 10 time 12 score cp 119 lowerbound nodes 2396 nps 199666 hashfull 1 pv g2g4
<<info depth 4 seldepth 10 time 12 score cp 155 lowerbound nodes 2481 nps 206750 hashfull 1 pv g2g4
<<info depth 4 seldepth 10 time 12 score cp 155 nodes 2592 nps 216000 hashfull 1 pv g2g4 f8b4 c1b2
<<info nodes 3121
<<info depth 5 seldepth 11 time 32 score cp 142 nodes 5242 nps 163812 hashfull 3 pv g2g4 f5h4 c1f4 c8b7 a2a4
<<info nodes 9777
<<info depth 6 seldepth 14 time 62 score cp 118 nodes 12122 nps 195516 hashfull 7 pv g2g4 f5h4 c1f4 f8b4 g5e4 c8b7
<<info nodes 24235
<<info depth 7 seldepth 13 time 167 score cp 111 nodes 33891 nps 202940 hashfull 27 pv g2g4 f5h4 c1f4 f8b4 c3e2 c8b7 c2c4
<<info depth 7 seldepth 14 time 277 score cp 112 lowerbound nodes 58862 nps 212498 hashfull 40 pv g5f3
<<info depth 7 seldepth 14 time 282 score cp 124 nodes 60954 nps 216148 hashfull 41 pv g5f3 c8b7 g2g4 f8b4 c1b2 f5e7 a2a4
<<info nodes 76555
<<info depth 8 seldepth 8
<<info currmovenumber 1 currmove g5f3
<<info depth 8 seldepth 12 time 392 score cp 117 nodes 85165 nps 217257 hashfull 56 pv g5f3 c8b7 g2g4 f5e7 c1e3 a8c8 a2a4 f7f6
<<info currmovenumber 2 currmove g2g4
<<info currmovenumber 3 currmove a2a4
<<info currmovenumber 4 currmove c1f4
<<info currmovenumber 5 currmove c1b2
<<info currmovenumber 6 currmove e5e6
<<info currmovenumber 7 currmove c3e2
<<info currmovenumber 8 currmove c3e4
<<info currmovenumber 9 currmove g5e4
<<info currmovenumber 10 currmove h2h3
<<info currmovenumber 11 currmove c1a3
<<info currmovenumber 12 currmove g5e6
<<info currmovenumber 13 currmove a2a3
<<info currmovenumber 14 currmove a1b1
<<info currmovenumber 15 currmove c3a4
<<info currmovenumber 16 currmove g5f7
<<info currmovenumber 17 currmove d1d3
<<info currmovenumber 18 currmove c1e3
<<info currmovenumber 19 currmove c1d2
<<info currmovenumber 20 currmove g1h1
<<info currmovenumber 21 currmove g2g3
<<info currmovenumber 22 currmove b3b4
<<info currmovenumber 23 currmove g1f1
<<info currmovenumber 24 currmove d1d2
<<info currmovenumber 25 currmove g5h3
<<info currmovenumber 26 currmove g5h7
<<info currmovenumber 27 currmove c3d5
<<info currmovenumber 28 currmove c3b5
<<info currmovenumber 29 currmove h2h4
<<info currmovenumber 30 currmove d1d4
<<info currmovenumber 31 currmove f2f3
<<info currmovenumber 32 currmove f2f4
<<info currmovenumber 33 currmove c3b1
<<info currmovenumber 34 currmove d1d6
<<info currmovenumber 35 currmove d1e1
<<info currmovenumber 36 currmove d1d7
<<info currmovenumber 37 currmove d1d5
<<info currmovenumber 38 currmove d1f1
<<info currmovenumber 39 currmove d1d8
<<info nodes 112454
<<info depth 9 seldepth 9
<<info currmovenumber 1 currmove g5f3
<<info depth 9 seldepth 18 time 687 score cp 105 nodes 155898 nps 226925 hashfull 95 pv g5f3 h7h5 a2a4 c8b7 a4a5 a8c8 a5b6 c7b6 c1g5 f8c5
<<info currmovenumber 2 currmove g2g4
<<info currmovenumber 3 currmove a2a4
<<info depth 9 seldepth 18 time 797 score cp 106 lowerbound nodes 179221 nps 224869 hashfull 109 pv a2a4
<<info currmovenumber 3 currmove a2a4
<<info depth 9 seldepth 22 time 1022 score cp 106 nodes 232198 nps 227199 hashfull 135 pv a2a4 f8b4
<<info currmovenumber 4 currmove c1f4
<<info currmovenumber 5 currmove c1b2
<<info currmovenumber 6 currmove c3e2
<<info currmovenumber 7 currmove c3e4
<<info currmovenumber 8 currmove e5e6
<<info currmovenumber 9 currmove g5e4
<<info currmovenumber 10 currmove a2a3
<<info currmovenumber 11 currmove h2h3
<<info currmovenumber 12 currmove c1a3
<<info currmovenumber 13 currmove b3b4
<<info currmovenumber 14 currmove h2h4
<<info currmovenumber 15 currmove g5f7
<<info currmovenumber 16 currmove g5e6
<<info currmovenumber 17 currmove c3a4
<<info currmovenumber 18 currmove a1b1
<<info currmovenumber 19 currmove c3d5
<<info currmovenumber 20 currmove d1d3
<<info currmovenumber 21 currmove c3b5
<<info currmovenumber 22 currmove c1d2
<<info currmovenumber 23 currmove c1e3
<<info currmovenumber 24 currmove f2f3
<<info currmovenumber 25 currmove g1h1
<<info currmovenumber 26 currmove g2g3
<<info currmovenumber 27 currmove g1f1
<<info currmovenumber 28 currmove c3b1
<<info currmovenumber 29 currmove f2f4
<<info currmovenumber 30 currmove d1e1
<<info currmovenumber 31 currmove g5h3
<<info currmovenumber 32 currmove d1d2
<<info currmovenumber 33 currmove g5h7
<<info currmovenumber 34 currmove d1d7
<<info currmovenumber 35 currmove d1d4
<<info currmovenumber 36 currmove d1f1
<<info currmovenumber 37 currmove d1d6
<<info currmovenumber 38 currmove d1d5
<<info currmovenumber 39 currmove d1d8
<<info nodes 328813
<<info depth 10 seldepth 10
<<info currmovenumber 1 currmove a2a4
<<info hashfull 250 nps 207784 tbhits 0
<<info depth 10 seldepth 19 time 2547 score cp 120 nodes 501378 nps 196850 hashfull 283 pv a2a4 f7f6 g2g4 f6g5 g4f5
<<info currmovenumber 2 currmove g5f3
<<info depth 10 seldepth 19 time 2647 score cp 121 lowerbound nodes 523801 nps 197884 hashfull 294 pv g5f3
<<info currmovenumber 2 currmove g5f3
<<info depth 10 seldepth 19 time 2752 score cp 121 nodes 549538 nps 199686 hashfull 306 pv g5f3 c8b7
<<info currmovenumber 3 currmove g2g4
<<info currmovenumber 4 currmove c1f4
<<info currmovenumber 5 currmove c1b2
<<info currmovenumber 6 currmove c3e2
<<info currmovenumber 7 currmove c3e4
<<info currmovenumber 8 currmove a2a3
<<info currmovenumber 9 currmove g5e4
<<info currmovenumber 10 currmove e5e6
<<info currmovenumber 11 currmove g5f7
<<info currmovenumber 12 currmove h2h3
<<info currmovenumber 13 currmove c3a4
<<info currmovenumber 14 currmove a1b1
<<info currmovenumber 15 currmove c1a3
<<info currmovenumber 16 currmove g1f1
<<info currmovenumber 17 currmove c3b5
<<info currmovenumber 18 currmove g5e6
<<info currmovenumber 19 currmove c1d2
<<info currmovenumber 20 currmove g2g3
<<info currmovenumber 21 currmove d1d3
<<info currmovenumber 22 currmove b3b4
<<info currmovenumber 23 currmove c3d5
<<info currmovenumber 24 currmove c1e3
<<info currmovenumber 25 currmove h2h4
<<info currmovenumber 26 currmove f2f3
<<info currmovenumber 27 currmove g1h1
<<info currmovenumber 28 currmove f2f4
<<info currmovenumber 29 currmove c3b1
<<info currmovenumber 30 currmove d1e1
<<info currmovenumber 31 currmove d1d2
<<info currmovenumber 32 currmove g5h3
<<info currmovenumber 33 currmove g5h7
<<info currmovenumber 34 currmove d1d7
<<info currmovenumber 35 currmove d1d4
<<info currmovenumber 36 currmove d1f1
<<info currmovenumber 37 currmove d1d6
<<info currmovenumber 38 currmove d1d5
<<info currmovenumber 39 currmove d1d8
<<info nodes 633150
<<info depth 11 seldepth 11
<<info currmovenumber 1 currmove g5f3
>!stop
>>stop
<<info nps 206768 nodes 710663 hashfull 370
<<bestmove g5f3 ponder c8b7
>!quit
>>quit




It looks like not only are the polyglot.ini file entries being picked up but also the Winboard GUI entries.

>!setoption name NalimovPath value H:\tbs\compressed
>>setoption name NalimovPath value H:\tbs\compressed


>!setoption name NalimovPath value C:\tbs
>>setoption name NalimovPath value C:\tbs


The tablebases are on my H:\ drive and I set that path through the ini file.
Charles Browne
 
Posts: 209
Joined: 26 May 2008, 00:30

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Volker Pittlik » 09 Aug 2009, 03:31

Charles Browne wrote:I'm sure some others here have already tried it but I was curious to see if the free Convekta Aquarium Book Adapter ...


That seems to be interesting. Sorry my ignorance but where can I find this book adapter? I use linux here and found the Aquarium demo is usable with wine so I may try it too. Aren't there limitations of the book size with the demo? I have no real idea how this thing works. You get a *.bin book usable by polyglot as output?

Regards

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Olivier Deville » 09 Aug 2009, 06:13

Thanks Charles this is certainly an interesting news, since the ctg format is very popular.

I had to give up using Aquarium Book Adapter for Rybka in OpenWar though, after Rybka exited from memory in 2 games just after the opening moves. The Convekta team did not find the problem yet.

Olivier
User avatar
Olivier Deville
 
Posts: 1176
Joined: 26 Sep 2004, 19:54
Location: Aurec, France

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby H.G.Muller » 09 Aug 2009, 09:25

Is ctg book format a secret format, or is it public? Would it be possible to convert the entire book to Polyglot format? I did that for a Xiangqi book, by making a very simple hack in an open-source engine that was able to probe the book.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby F. Bluemers » 09 Aug 2009, 09:42

H.G.Muller wrote:Is ctg book format a secret format, or is it public? Would it be possible to convert the entire book to Polyglot format? I did that for a Xiangqi book, by making a very simple hack in an open-source engine that was able to probe the book.

The format is secret.
Chessbase was the only one to use the .ctg format until they started selling Rybka too.
So Convekta can handle .ctg books now as well
Best
Fonzy
F. Bluemers
 
Posts: 175
Joined: 04 Sep 2008, 16:56
Location: Netherlands

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Charles Browne » 09 Aug 2009, 10:35

Volker Pittlik wrote:where can I find this book adapter?



Well I have questions about it also. This is a hypothetical question in reference to the stand alone adapter not the integrated Aquarium one. Suppose I set up a ctg book to be used with the adapter, I have made the tree file for the adapter to use and everything. But then say I edit the ctg in Fritz or Chessbase. Do I then need to come back and make a new tree file for the adapter to use because the ctg book was edited - in even a minor way?


********************************************

The integrated (for use within Aquarium) adapter and the stand alone adapter can be gotten here.

http://rybkaforum.net/cgi-bin/rybkaforu ... ?tid=11192


I just made a directory for the adapter on my harddrive and extracted the stand alone adapter zip file into it. Clicking on the included GUI and closing it, a folder named Config is made in the adapter folder.

BTW, from what I read the integrated adapter can only be used by putting it in one of the Aquarium program folders. That is why I chose the stand alone one, it can be put anywhere on the harddrive and the Aquarium program for it is only used to make the required tree file entry. And I might not be exact on this but another difference between the two adapter versions is that the integrated one can use multiple books with an engine, or something like that, and the stand alone adapter can only use one book with an engine. But don't quote me on that because I'm not positive. There is some kind of use difference(s) between the two adapters though.

Next, with Aquarium installed and the program opened. Click on "Sandbox" in the lower left corner of the app and then click on "Tree" in the top menu. Then click on "Load CTG". Then choose the ctg book (the way it looks, it seems the ctg book can be kept anywhere on the harddrive but in trying it out I kept the test book in the adapter's directory). Once the ctg book is chosen a dialog box pops up and click "next", then "next" again and then "finish". And then close the Aquarium program. This process has made a tree configuration file entry for the chosen ctg book (should have anyway). For understandable reasons, ctg books used within the Aquarium program are read-only (I believe).

Then in the Aquarium program directory, locate the "tree_configurations.xml" file that is in the "Config" folder and copy this file to the "Config" folder that is in the adapter directory. It will overwrite the existing "empty" xml file that is already there.

Now I do not know if this next step is necessary but I at this point I did it anyway because I had read that other people trying to install the stand alone adapter also did this step and according to what they wrote it appeared to be a necessary thing to do. I figured no damage done so I did as they had written down:

In the Aquarium program directory find and copy the "ATrees" directory and all of its contents to the stand alone book adapter directory. Now in the book adapter directory there should be two directories. One named "Config" and the newly added "ATrees".

When the book adapter's GUI is opened, in the book list the newly added ctg book(s) should be among the book selections possible. I did try to remove the other books from the selection since they are really "dummy" books at this point, but I was unable to do so. I don't know if I just did the process wrong or if it is a limitation of the demo version of Aquarium. Also, the book adapter's GUI just facilitates the process of making entries to the AquariumBookAdapter.ini file. That ini file can actually be changed manually instead.


Once you have added the book to the book adapter and made any desired settings changes, in the polyglot.ini file add the AquariumBookAdapter.exe file as the engine. If an engine has an ownbook entry in the engine section of the polyglot.ini file, I don't know if it makes a difference whether or not it is set to true or false. I just set it to true in the tests.



I did use the demo version of Aquarium to make the tree file and once the tree file has been made and moved, the demo version can actually be uninstalled without any adverse consequences taking place. The stand alone adapter and any added ctg books will still function. I also used the demo version because my old PC/OS and the Aquarium program do not play well together. I would like to purchase the Aquarium program, but with the demo, if I click various buttons sometimes, just clicking a button causes the computer to freak out. So I'm content with having been able to at least make the tree file to use with ctg books.



Olivier Deville wrote:I had to give up using Aquarium Book Adapter for Rybka in OpenWar though, after Rybka exited from memory in 2 games just after the opening moves.


Good to know the adapter needs to be kept an eye on and not to naively trust it at first uses.



BTW, these are the entries that were recorded into the tree_configurations.xml file for the Perfect 2009 book when it was added as a ctg book in Aquarium. Just posting it so it can be seen what the entries, in general, look like.

Code: Select all
    <item name="Perfect 2009" opening_book="0" book_width="1" book_alpha="2" main_tree="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" discarded_tree="discarded" only_main_tree="0">
      <column name="mf" display_name="flg" column_type="16" tree_path="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" weight="0" visible="1" lookup_column="" function="" Width="27"/>
      <column name="md" display_name="disc" column_type="19" tree_path="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" weight="0" visible="1" lookup_column="" function="" Width="78"/>
      <column name="mc" display_name="col" column_type="18" tree_path="discarded" weight="0" visible="1" lookup_column="" function="" Width="78"/>
      <column name="mo" display_name="ord" column_type="17" tree_path="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" weight="0" visible="1" lookup_column="" function="" Width="78"/>
      <column name="col22" display_name="N" column_type="0" tree_path="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" weight="0" visible="1" lookup_column="" function="" Width="0"/>
      <column name="col23" display_name="succ" column_type="1" tree_path="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" weight="0" visible="1" lookup_column="" function="" Width="0"/>
      <column name="col21" display_name="cap" column_type="5" tree_path="cap" weight="0" visible="1" lookup_column="" function="" Width="56"/>
      <column name="mants" display_name="Annot" column_type="15" tree_path="C:\Program Files\Chess\Book Adapter\Perfect 2009.ctg" weight="0" visible="1" lookup_column="" function="" Width="1"/>
      <column name="eval" display_name="Eval" column_type="4" tree_path="statistics\eval" weight="0" visible="1" lookup_column="" function="" Width="1"/>
      <column name="ntot" display_name="Total" column_type="0" tree_path="statistics\d2m" weight="0" visible="1" lookup_column="" function="" Width="1"/>
      <column name="succtot" display_name="SUCC" column_type="1" tree_path="statistics\d2m" weight="0" visible="1" lookup_column="" function="" Width="1"/>
      <column name="7" display_name="dEval" column_type="8" tree_path="" weight="0" visible="0" lookup_column="5" function="std.diff_eval(%width%)" Width="33"/>
      <column name="8" display_name="EvalCap" column_type="8" tree_path="" weight="0" visible="0" lookup_column="5,6" function="std.eval_minus_cap(%width%)" Width="36"/>
      <column name="9" display_name="dCAP" column_type="8" tree_path="" weight="0" visible="0" lookup_column="6" function="std.diff_eval(%width%)" Width="33"/>
      <column name="10" display_name="NoStat" column_type="8" tree_path="" weight="0" visible="0" lookup_column="" function="std.no_statistics(%width%)" Width="36"/>
      <column name="11" display_name="dSuccCAP" column_type="8" tree_path="" weight="0" visible="0" lookup_column="" function="std.bad_success(%width%)" Width="39"/>
      <column name="12" display_name="dRat" column_type="8" tree_path="" weight="0" visible="0" lookup_column="" function="std.low_rating(%width%)" Width="66"/>
      <column name="bCTG1" display_name="BCTG1" column_type="8" tree_path="" weight="1" visible="0" lookup_column="md" function="constant" Width="57"/>
      <column name="bTot" display_name="BTot" column_type="8" tree_path="" weight="9" visible="0" lookup_column="col22" function="identity" Width="51"/>
      <column name="bRat" display_name="BRat" column_type="8" tree_path="" weight="0" visible="0" lookup_column="r" function="std.rating_base" Width="39"/>
      <column name="bCAP" display_name="BCap" column_type="8" tree_path="" weight="1" visible="0" lookup_column="col21" function="mainbook.cap" Width="44"/>
      <column name="bCAPRel" display_name="BCapRel" column_type="8" tree_path="" weight="3" visible="0" lookup_column="6" function="mainbook.cap.rel" Width="49"/>
      <column name="bEval" display_name="BEval" column_type="8" tree_path="" weight="0" visible="0" lookup_column="5" function="mainbook.cap" Width="49"/>
      <column name="bSuc" display_name="BSuc" column_type="8" tree_path="" weight="0" visible="0" lookup_column="" function="std.multiplied_success" Width="0"/>
      <column name="sum" display_name="sum" column_type="9" tree_path="" weight="1" visible="0" lookup_column="" function="" Width="0"/>
      <column name="msum" display_name="Msum" column_type="11" tree_path="" weight="1" visible="0" lookup_column="" function="" Width="0"/>
      <column name="result" display_name="Play %" column_type="12" tree_path="" weight="1" visible="1" lookup_column="" function="" Width="63"/>
      <column name="mperc" display_name="pc" column_type="6" tree_path="discarded" weight="0" visible="0" lookup_column="" function="" Width="0"/>
      <display separate_ants="1" SortColumn="0"/>
      <insert_line col1="col21" col2=""/>
      <color_policy pri0="0" pri1="1" pri2="0" pri3="0" pri4="-1" pri5="0"/>
    </item>



On the Rybka website the webmaster there is writing a guide for using/installing the book adapter. I didn't use this guide to install the adapter, I actually used the information that people had supplied in various posts, but this guide on the Rybka site does explain the settings that are available for the book adapter.

http://rybkachess.com/index.php?auswahl=Book+Adapter
Charles Browne
 
Posts: 209
Joined: 26 May 2008, 00:30

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Teemu Pudas » 09 Aug 2009, 11:52

H.G.Muller wrote:Is ctg book format a secret format, or is it public? Would it be possible to convert the entire book to Polyglot format?


Secret, but there's an incomplete, unofficial public specification. http://rybkaforum.net/cgi-bin/rybkaforu ... ?pid=26942

It's complete enough for reading/converting ctg books.
Teemu Pudas
 
Posts: 124
Joined: 16 Apr 2007, 14:03

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Michel » 09 Aug 2009, 13:28

Secret, but there's an incomplete, unofficial public specification. http://rybkaforum.net/cgi-bin/rybkaforu ... ?pid=26942


Fantastic!

I have been looking for this for a long time.
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby H.G.Muller » 09 Aug 2009, 22:14

According to this description, the positions are stored in the book in an invertible format. That makes converting them to Polyglot format (or any other format) completely trivial.

The question now is: will you write the converter or should I do it? :D
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Michel » 10 Aug 2009, 06:09

The question now is: will you write the converter or should I do it?


Well if you want it you can do it. As said I am currently rather busy.

One thing I am very slightly worried about is that they might bump the version number and
change the format making the converter only work for older books. Closed source software
vendors are known to do such things.
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Volker Pittlik » 10 Aug 2009, 07:34

Michel wrote:...One thing I am very slightly worried about is that they might bump the version number and
change the format making the converter only work for older books. Closed source software
vendors are known to do such things.


That can happen. In addition the effect of usual books are overestimated IMO. To test it let the same engine
play against a group of other engines and compare. Its hard to decide if a book has any effect. Not to speak about
different books. (I speak about usual books not those intentionally full of bad lines.) But if someones writes such a thing
I'll happily use it of course :-).

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby H.G.Muller » 10 Aug 2009, 07:51

In my estimate it should only be about an hours work. What worries me more is the legal status. When I have such a converter, would it be legal to post it? Or can I only use it privately and post convrted books? How about copyrights on opening books? Is the information in it protected? The Polyglot versions would have quite different format, which isn't a 1:1 translation of the CTG books. The annotations would be lost, the statistics would be stored with the moves rather than with the positions, the positions would be ordered in a completely different way (by Zobrist key).

Of course books that came with a license expressly forbidding conversion cannot be made public after conversion. As far as I understood, privately converting it would still be legal. For comparison: XBoard comes with a utility zic2xpm, which converts propriety Fritz piece graphics into pixmaps for use with XBoard. The REDME warns that the thus obtained pixmaps cannot be distributed.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Marc Lacrosse » 10 Aug 2009, 12:03

Volker Pittlik wrote:In addition the effect of usual books are overestimated IMO. To test it let the same engine
play against a group of other engines and compare. Its hard to decide if a book has any effect. Not to speak about
different books.


At fast blitz, a common good quality generic book is worth 65 Elo points when compared with playing with no book at all ( see http://sites.google.com/site/chessbazaa ... ening-book).

Tailored hand-tuned competition books are much more powerful (at the extreme they could lead to 100% win ...).

Marc
Marc Lacrosse
 
Posts: 116
Joined: 29 Jan 2005, 09:04
Location: Belgium

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Volker Pittlik » 10 Aug 2009, 12:35

Marc Lacrosse wrote:...At fast blitz, a common good quality generic book is worth 65 Elo points when compared with playing with no book at all ( see http://sites.google.com/site/chessbazaa ... ening-book).


Agreed. Recently I found something between 30 and 80 (depending on the engine; only 300 games each) so 65 may be a good rule of thumb.

Marc Lacrosse wrote:...Tailored hand-tuned competition books are much more powerful (at the extreme they could lead to 100% win ...).


Yep. I didn't believe that until I had seen it myself. Engines coming out of the book with a mate score.

It might be an interesting experiment if its possible to weaken an engine with a book by putting a lot of blunders and bad moves in it.

Volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby H.G.Muller » 10 Aug 2009, 15:50

Hmm, these ctg book are typically huge. And what is worse, they seem to use space far more efficiently that Polyglot books. Polyglot books need 16 bytes per move (8 Zobrist key, 2 move, 2 weight, 4 learn). Ctg books need only 2 bytes per move. And even worse, ctg books employ symmetry, so each position stored in it represents both a wtm and the mirorred btm position. And when you read out the book, you don't know if the principle reason the position was in the book is because of its occurrence in an opening line with btm or wtm. So in the Polyglot book you would have to store that move twice.

On the bright side is that the ctg book stores positions next to the moves, and stores them rather inefficiently (~21 bytes per position), and statistics on the position (9 bytes). So if (say) on the average 5 moves are stored per position, it would add 30/5 = 6 bytes per position. But still much less than Polyglot.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby Charles Browne » 10 Aug 2009, 16:50

I had put a link here to post I had written on how to set up the Stand-Alone Aquarium book adapter to use .ctg books. The post could be written better than it was so I removed it. Sorry.

Here is a link to a guide on the Rybka website for setting up the Intergrated Book Adapter.

http://rybkachess.com/index.php?auswahl=Book+Adapter


Peace All.
Last edited by Charles Browne on 16 Aug 2009, 21:02, edited 1 time in total.
Charles Browne
 
Posts: 209
Joined: 26 May 2008, 00:30

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby H.G.Muller » 11 Aug 2009, 10:24

OK, progress report. The bad news is that the format specs in the quoted post are not correct (unless I grossly misread them), and that following them to read the ctg file brought me out of register with the stored positions very quickly. It took me some time to figure out what the actual format is. I seem to be able to read out the entire ctg file now, however, and looking at a sample of the thus decoded positions show that they are all plausible Chess positions.

The good news is that the sie issue might not be as bad as I thought. I used Daniel Charles's "engine.ctg" book as test-bed, because with its 18MB it was the smallest ctg book I could find. (I did not look very hard, though). Other books were as big as 265 MB.

But most of the positions in the book have only 1 move (and some even have 0 moves), which means that the ctg format is actualy quite inefficient for such books. It seems people make such books by including all positions from PGN game until very late in the game, which means of course that most of the positions only occur in a single game and have only a single move. That means that the overhead of storing the position (which is a bit larger than I first though, approximately 54 bytes), all weighs down on a single move, so that you actually need 56 bytes to store that move. Polglot only needs 16 bytes per move, so even if you would have to store it 4 times to capture all symmetry partners of the poition, the book would still be smaller in Polyglot format! The CTG format is obviously designed to be very efficient for the early opening phase, where there are many moves to a single position. In these huge books that might be the case only for a very small minority of the positions. I made the following histogram:

Code: Select all
   0.    11614
   1.   217601
   2.     8626
   3.     1667
   4.      463
   5.      171
   6.       73
   7.       26
   8.       18
   9.       12
  10.        3
  11.        1
  12.        1
  13.        4
  14.        2
  15.        1
  19.        1


Nevertheless, the CTG format inspires some good ideas that could be used to improve the Polyglot book format as well. The symmetry idea seems useful, and not very costly.

Something which makes the conversion more diffcult and which I did not anticipate is that in ctg format the weights of the moves are actually stored in the daughter positions. This means you have to probe all daughter positions in the ctg book to obtain Polyglot weights for the moves stored with the parent position. As I don't feel writing probing code for the ctg book, it means I need an extra step in the conversion process: first create a book where the weights are still zero, and a position weight is stored in learn field. And then convert the book a second time, now using the Polyglot probing code to retreive the daughter weights from that first book, and then store it in the move-weight field.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby F. Bluemers » 11 Aug 2009, 11:01

H.G.Muller wrote:OK, progress report. The bad news is that the format specs in the quoted post are not correct (unless I grossly misread them), and that following them to read the ctg file brought me out of register with the stored positions very quickly. It took me some time to figure out what the actual format is. I seem to be able to read out the entire ctg file now, however, and looking at a sample of the thus decoded positions show that they are all plausible Chess positions.

The good news is that the sie issue might not be as bad as I thought. I used Daniel Charles's "engine.ctg" book as test-bed, because with its 18MB it was the smallest ctg book I could find. (I did not look very hard, though). Other books were as big as 265 MB.

But most of the positions in the book have only 1 move (and some even have 0 moves), which means that the ctg format is actualy quite inefficient for such books. It seems people make such books by including all positions from PGN game until very late in the game, which means of course that most of the positions only occur in a single game and have only a single move. That means that the overhead of storing the position (which is a bit larger than I first though, approximately 54 bytes), all weighs down on a single move, so that you actually need 56 bytes to store that move. Polglot only needs 16 bytes per move, so even if you would have to store it 4 times to capture all symmetry partners of the poition, the book would still be smaller in Polyglot format! The CTG format is obviously designed to be very efficient for the early opening phase, where there are many moves to a single position. In these huge books that might be the case only for a very small minority of the positions. I made the following histogram:

Code: Select all
   0.    11614
   1.   217601
   2.     8626
   3.     1667
   4.      463
   5.      171
   6.       73
   7.       26
   8.       18
   9.       12
  10.        3
  11.        1
  12.        1
  13.        4
  14.        2
  15.        1
  19.        1


Nevertheless, the CTG format inspires some good ideas that could be used to improve the Polyglot book format as well. The symmetry idea seems useful, and not very costly.

Something which makes the conversion more diffcult and which I did not anticipate is that in ctg format the weights of the moves are actually stored in the daughter positions. This means you have to probe all daughter positions in the ctg book to obtain Polyglot weights for the moves stored with the parent position. As I don't feel writing probing code for the ctg book, it means I need an extra step in the conversion process: first create a book where the weights are still zero, and a position weight is stored in learn field. And then convert the book a second time, now using the Polyglot probing code to retreive the daughter weights from that first book, and then store it in the move-weight field.

http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=50136
This seems a good alternative to the polyglot books.
There is a bookmanager already :D
Best
Fonzy
F. Bluemers
 
Posts: 175
Joined: 04 Sep 2008, 16:56
Location: Netherlands

Re: .ctg Books in Winboard via Aquarium Book Adapter

Postby H.G.Muller » 11 Aug 2009, 17:19

I have a question for the book experts:

In the ctg book format there are two flags with every position (ctg books decide the move choice by probing the positions all listed moves lead to, so both W/D/L statistics and these special flags are stored with the position, not the move), indicating if a move can be played in tournaments, or if it is the "main move", respectively. Now I know zilch about book building, but this sounds like it is important information. So the book might become much less valuable if this information gets lost in the conversion to Polyglot format. The latter uses a weight for each of the moves, determining the relative probability for the move being played in standard probing. These weights are presumable derived from the statistics only. (How should I do that, by the way? Should the weights be proportional to the number of times the positions they lead to have occurred? Or should he winning fraction be factored in somehow? Also note that if a move leads from position A to position B wih a large occurrence, it does not necessarily mean that the move has been played often. It could be that poition B is almost always reached through another path, and that in the rare case the opponent was so stupid to let you reach position A, much better moves are available! How would ctg book-probing code use this W/D/L information to decide what to move?)

Would it be a good idea to somehow encode the two flags in the low-order bits of the Polyglot weight? It seems these bits would only be set in moves that have a pretty large weight, and for such moves the lowest bits would hardly have any measurable effects. So th LSB of the weight could be reserved to indicate "Playable in tournament", and the bit just above that "preferred move". Standard Polyglot probing code would tan pretty much ignore these flags. But a book user could support an (optional) enhanced probing mode to probe such enhanced Polygot books, where it would attach special meaning to these flags, and, for instance, never play a move with a weight that had the LSB set to 0. This would of course lead to funny results if it was used on Polyglot books that were not enhanced, but you are not supposed to use it then.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Next

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 32 guests