To generate starting positions you could use WinBoard 4.7.0 new MC book mode while playing a few thousand quick (10-sec) games with a randomizing engine. I don't know if you have randomizing in Tiyaga, or could easily do it. ShaMax randomizes its first 8 plies.
Some remarks about Pulsar:
Pulsar was primarily designed for playing on ICC. And in ICS play the ICS will always send you a board on any position, in particular also the starting position. So I can imagine an error in the setup would never be noticed by its developer. I guess this could be worked around by letting it play from a setup position. As you already force the first move, you could start from PGN that have the Setup tag 1, and specify the correct initial position with a FEN tag. It could be that I also had to use this kludge while playing the demo match Pulsar-ShaMax. This is so long ago that I forgot the details.
The behavior of Shamax when reporting mate scores is normal. Some of these scores were over-the-horizon mates obtained by grafting from the hash, and these tend to disappear in any engine. ShaMax has a simple always-replace hash table, so the chances that it loses an earlier PV are quite large. For some reason the first time it saw the mate it reached ridiculous depth (26-27 ply), and then its depth dropped to 16, (probably because the critical hash entry was overwritten), which was not enough to rediscover the mate, although it was now 2 ply closer.
The ChessV behavior is almost certainly a hash bug.
Chess variant tournament: Shatranj
Moderator: Ras
-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Chess variant tournament: Shatranj
Both are possible starting positions, from what I remember. When I had to pick one for Sjaak I think I picked the one that happened to be the default under XBoard (or I just picked the one that was "different").enhorning wrote: Along with seeing illegal moves due to it ignoring its King being in check, I wonder if Pulsar believes that it starts with the Kings on the e-file, instead of the d-file. I do know that the only place where I've played turn-based Shatranj (Scheming Mind), uses that starting set-up, with Kings on the e-file, as in normal chess.
It's probably best to explicitly set the starting position.
-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Shatranj
As to HaChu: I doubt knowing the baring rule would have saved it in that game. At the time it decided to trade the Rooks the loss of the Pawn was probably still beyond its horizon. (Its score drops to -0.84 only on the move after the trade.) Losing the Pawn would in itself be sufficient incentive for not to be bared.
Not having a hash table really hurts in the late end-game.
Not having a hash table really hurts in the late end-game.
-
enhorning
- Posts: 342
- Joined: Wed Jan 05, 2011 10:05 pm
Re: Chess variant tournament: Shatranj
I'll test if that works. I know I tried using starting positions instead of starting games for one of the other tournaments, but abandoned it as some program in that tournament couldn't handle it.Evert wrote:It's probably best to explicitly set the starting position.
The first cycle should finish in a few hours... I'll break the tournament there, and run a few tests with an openings.pgn file including explicit starting positions and see if that works.
-
enhorning
- Posts: 342
- Joined: Wed Jan 05, 2011 10:05 pm
Re: Chess variant tournament: Shatranj
That explains it then... overwritten hash entries.hgm wrote:ShaMax has a simple always-replace hash table, so the chances that it loses an earlier PV are quite large.
I just had ChessV throw an assert error pop-up (and every time I clicked okay, it threw another one, so I had to kill the program).
Sjaak did a time-consuming trade-down dance against ShaMax. It had Rook + Knight + Ferz versus Rook... but when 50 moves approached and it hadn't been able to make any progress, it gave away the Ferz... then, another 50 moves later, repeated and gave away the Knight... only for it all to end in a draw after yet another 50 moves.
-
enhorning
- Posts: 342
- Joined: Wed Jan 05, 2011 10:05 pm
Re: Chess variant tournament: Shatranj
Currently, my openings pgn consists of this, repeated six times with different moves:
Would this be the correct syntax to include the setup of the starting position as well?
Code: Select all
[Event "Edited game"]
[Site "ENHORNING"]
[Date "2013.02.26"]
[Round "-"]
[White "-"]
[Black "-"]
[Result "*"]
[Variant "shatranj"]
1. Nc3
*Code: Select all
[Event "Edited position"]
[Site "ENHORNING"]
[Date "2013.03.02"]
[Round "-"]
[White "-"]
[Black "-"]
[Result "*"]
[Variant "shatranj"]
[FEN "rnbkqbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBKQBNR w 0 1"]
[SetUp "1"]
{--------------
r n b k q b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B K Q B N R
white to play
--------------}
1. e3
*-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Shatranj
Yes, I think that should do it. I don't even think WB pays attention to the Setup tag, which is quite redundant. (But the standard requires it.) The 2d board representation is just PGN comment, which WB adds when saving such games to help human readers.
-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Shatranj
From tablebases I know that R+N vs R is draw even under Shatranj rules. But R+N+F vs R sounds as if it should be winnable. (The Ferz can be used as a shield to neutralize the distant-check weapon.) My generator could not do 6-man EGT, however.enhorning wrote:Sjaak did a time-consuming trade-down dance against ShaMax. It had Rook + Knight + Ferz versus Rook... but when 50 moves approached and it hadn't been able to make any progress, it gave away the Ferz... then, another 50 moves later, repeated and gave away the Knight... only for it all to end in a draw after yet another 50 moves.
But I recently bought a PC with 8GB RAM. I guess that should make it possible to do 6-men.
-
Ferdy
- Posts: 4851
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: Chess variant tournament: Shatranj
Is there any details or manual on how to use the MC book mode? I can modify the engine to return a random eval if that would be enough.To generate starting positions you could use WinBoard 4.7.0 new MC book mode while playing a few thousand quick (10-sec) games with a randomizing engine. I don't know if you have randomizing in Tiyaga, or could easily do it. ShaMax randomizes its first 8 plies.
-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Shatranj
You have to start WinBoard with the additional (volatile) option -mcBookMode. You will have to switch the book on for the engine in the usual way, but in stead of playing from the external GUI book file WB will probe a book it is building in a memory buffer (which initially is empty). Its method for move selection then is to detetermine how often each listed move for the current position deserves to be played, based on its win/loss merits, and it selects the move that is most 'under-played'. If the moves are played in the right proportion (which will always be the case if only a single move is listed), it will report a book miss, to let the engine think. This to give it a possibility to supply a new move for that position.
At the end of every game (when the result gets known) all moves of the game (upto the book-depth limit specified in the Common Engine dialog) will be added to the book in the memory buffer, and the statistics of all moves will be updated according to the result.
You can use this in a match, or any other tourney form, although it would probably only make sense when all playing engines are nearly equally strong. (Or it would draw wrong conclusions from the game results.)
The book buffer is never cleared (unless you restart WinBoard, of course), so you can keep adding games to it by playing more matches. It is also never written to file in mcBookMode; the output is the PGN created from the matches, and you can convert that into Polyglot book format with WinBoard's Save Games as Book menu item after loading the PGN. (Or you can create any other book format with a PGN->Book converter of your choice.)
The 'Save Games as Book' command (which can be a bit slow, for large game files) does use the same memory buffer to build the book as -mcBookMode, and also does not clear it in advance. So you can feed several PGN files into the buffer, and only keep the book it produces after the last. You can also 'seed' your MC building by loading a PGN and convert it to a book (which you don't intend to keep; but it writes it on the specified GUI book anyway). Then the MC process starts with that book, (as it is still in the buffer), and will be expanding on it or correcting the weights as it learns from the newly played games. You could also use this to resume an MC building in a later session: first load the PGN from the previous session, and save those as (dummy) book. This fills the memory buffer, and leaves it in a same state as it had after the MC probing match that created the PGN. Starting a match with MC probing will then continue from there.
One way to use it would be to occasionally alternate play of strong engines with a short stretch of play of weak but more randomizing engines. These would then principally be fed moves that the previously playing strong engine would find best (as these get the highest book weights), but at the tip of the branches, where statistics is poor, they would get the opportunity to add their own original (but likely poor) moves to the book. You could then switch back to the stronger engine(s), to get more reliable statistics on these new moves, which would automatically suppress their weights if they turn out to be no good.
At the end of every game (when the result gets known) all moves of the game (upto the book-depth limit specified in the Common Engine dialog) will be added to the book in the memory buffer, and the statistics of all moves will be updated according to the result.
You can use this in a match, or any other tourney form, although it would probably only make sense when all playing engines are nearly equally strong. (Or it would draw wrong conclusions from the game results.)
The book buffer is never cleared (unless you restart WinBoard, of course), so you can keep adding games to it by playing more matches. It is also never written to file in mcBookMode; the output is the PGN created from the matches, and you can convert that into Polyglot book format with WinBoard's Save Games as Book menu item after loading the PGN. (Or you can create any other book format with a PGN->Book converter of your choice.)
The 'Save Games as Book' command (which can be a bit slow, for large game files) does use the same memory buffer to build the book as -mcBookMode, and also does not clear it in advance. So you can feed several PGN files into the buffer, and only keep the book it produces after the last. You can also 'seed' your MC building by loading a PGN and convert it to a book (which you don't intend to keep; but it writes it on the specified GUI book anyway). Then the MC process starts with that book, (as it is still in the buffer), and will be expanding on it or correcting the weights as it learns from the newly played games. You could also use this to resume an MC building in a later session: first load the PGN from the previous session, and save those as (dummy) book. This fills the memory buffer, and leaves it in a same state as it had after the MC probing match that created the PGN. Starting a match with MC probing will then continue from there.
One way to use it would be to occasionally alternate play of strong engines with a short stretch of play of weak but more randomizing engines. These would then principally be fed moves that the previously playing strong engine would find best (as these get the highest book weights), but at the tip of the branches, where statistics is poor, they would get the opportunity to add their own original (but likely poor) moves to the book. You could then switch back to the stronger engine(s), to get more reliable statistics on these new moves, which would automatically suppress their weights if they turn out to be no good.