Check out Grant Acedrex, our featured variant for April, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments/Ratings for a Single Item

EarliestEarlier Reverse Order LaterLatest
Schoolbook. (Updated!) 8x10 chess with the rook + knight and bishop + knight pieces added. (10x8, Cells: 80) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Sep 20, 2009 07:49 PM UTC:
Indeed, the number of required games increases fast. But the WinBoard games are not so much a problem, they can be run automatically overnight. So Zillions and ChessV are the participants that really count, in terms of effort. Perhaps it is an idea to first play Mat's improved version of Zillions against all the other engines. Then, if it loses all games, it might be pointless to play the weaker version of Zillions. ;-)

Btw, Gregory Strong is working on the follow-up of ChessV. It is called Quadrox, and it already plays normal Chess. It participated in my on-line blitz tourney yesterday. It is planned to be a WinBoard engine as well, and soon will be able to do 10x8 Chess.

Not all engines are deterministic, and Joker80 is mildly non-deterministic. (At very long time control it might become more deterministic, though.) It adds a pseudo-random term to its evaluation, determined from the starting time of the game and the hash signature of the position. This way of implementing randomization acts as a kind of poor-man's mobility evaluation, and thus should increase playing strength compared to the purely determiistic version.

Another method of introducing randomness is to add a small pseudo-random number to the score of every move in the root. When several moves have nearly equal score, this should randomly choose between them. This does not increase playing strength, but it stays effective at arbitrary large search depth.

Put this multi-PV mode (givin scores for several moves, rather than just the best) such as you show on ChessV can definitely be very useful for constructing a book. Perhaps I should implement it in Joker80 too. The idea of a book is that you are willing to play theoretically sub-optimal moves to provide diversity, so that the opponent cannot easily prepare, and thus will eventually play even more sub-optimal moves. If you are striving for a variabilty of 1000 lines, and you can choose between 10 moves on each ply, you only need a book of depth 3. (Well, perhaps 4 because many lines are transpositions of other lines.) But you would be choosing the 10th best move on some of these lines, and its score might be really a lot lower than that of the best. So in practice you only choose on average between 2-3 moves on each ply, and your book had to be 10 deep before it fans out to 1000 lines (assuming the opponent always plays his best move). But then all these lines can be very close in score to the best line. So there is a trade-off between depth of the book and how much score you have to sacrifice to get a given variability.

It would be interesting to develop (and implement) an algorithm that would create the minimal tree that would have a given number of end leaves with a score (as determined by an engine search of a given quality) within a preset margin from the best line. E.g. how much variation would it buy us if we are willing to sacrifice 30 centiPawn after 1, 2, 3, 4, 5 moves, against optimal play.

💡📝Sam Trenholme wrote on Mon, Sep 21, 2009 12:43 AM UTC:
Yeah, I'm really excited about the new version of ChessV. WinBoard will make the 2010 tournament much easier. If I'm going to have a lot of WinBoard-based games, I am going to need to extend WinBoard to support free castling in WinBoard. Schoolbook actually allows the king to move two, three, or sometimes four squares when castling.

I understand that it can be hard to get a chess engine to vary its move. Perhaps it would be possible to add more randomness to the beginning of the game, which decreases as the game progresses. Or perhaps just have another program that automatically generates a fairly reasonable opening book...

That said, Zillions does have a parameter that allows one to adjust how random moves are; I'm not sure how Jeff Mallett and Mark Lefler implemented it.

My plan ('plan' being the operative word) is to modify Winboard to implement free castling, having it so, if playing Schoolbook, one of the engines doesn't recognize the free castling move, Winboard will simply rearrange the pieces for that engine and continue the game. This will give engines that know how to do free castling an edge.

I hope to do all of this 2010 sometime. Right now, my geek time is pretty much filled with finishing up the next release of a DNS server I have written.

In terms of coming up with an opening book for a given variant, assuming a given setup has five reasonable opening moves for white, and each one of those moves has three replies for black (15 so far), and white has three replies for each of those replies (45), and each subsequent reply has three reasonable responses, we have 1215 leaves after 6 plies, or three moves. This is enough to check for things like white having an edge and what not, assuming all chess engines we use are completely deterministic.


M Winther wrote on Mon, Sep 21, 2009 05:26 AM UTC:
>is it OK if I change the graphics it uses to point to the piece 
>graphics I made for Schoolbook?

Yes, but why don't you keep the different colour board so that one can differ between them.
/Mats

H. G. Muller wrote on Mon, Sep 21, 2009 10:00 AM UTC:
> My plan ('plan' being the operative word) is to modify Winboard to 
> implement free castling, having it so, if playing Schoolbook, one of 
> the engines doesn't recognize the free castling move, Winboard will 
> simply rearrange the pieces for that engine and continue the game. 
> This will give engines that know how to do free castling an edge. 

There might be more problems with that then you think. Some engines might consider loading a new position the start of a new game, and would get out of sync with WinBoard for counting moves to the next time control. If you play an incremental TC that should not matter, though.

Perhaps what you propose could be added as a general option to WinBoard: when an engine refuses a move through the prescribed illegal-move error message, WinBoard could reset the engine and force the position after the move into it, and restart it.

I think that the current WinBoard actualy does understand all King moves that step more than one file as castlings, putting the Rook located in that direction to the other side of it. (Except when you do a wrap-around move for Cylinder Chess.) So the engine could send f1d1, f1c1 or f1b1, and they would all be performed as queen-side castlings in -variant capablanca, provided you switch Test Legality off.

M Winther wrote on Mon, Sep 21, 2009 12:04 PM UTC:
Sam, perhaps it's too ambitious to let both Zillions versions
participate. You could decide which of the two versions that should
participate by playing a game or two between them. You would find that
the tweaked version tries to control the centre with the pawns, that
it more often castles, etc. The untweaked version will spend much time
jumping about with the knights and  super-knights. So the tweaked
version should participate in the tournament and the other left out.
In the tournament, Zillions will probably only achieve a draw, at
most, but this doesn't matter if it plays good and interesting chess.
These are factors which have been tragically left out of computer
chess. This is on account of the inferior understanding of chess among
chess programmers. They are experts in algorithms, but not in chess.
In the tournament result one should also weigh such factors as
seemingly intelligent and creative play. Today, programs like Rybka
are very sophisticated. But historically the focusing on the result
implied that it was only the bean counting capacity that carried
weight. The program that succeeded in counting beyond the other
programs' move horizon was always the one which won the tournament.
However, a program that made positional pawn sacrifices, or made
daring pawn storms on the wing, etc. counted as nothing. So these
tournaments only make sense if one not only looks at the result but
also takes into account whether the programs manage to play fine
chess. /Mats

H. G. Muller wrote on Mon, Sep 21, 2009 02:05 PM UTC:
> In the tournament, Zillions will probably only achieve a draw, at
> most, but this doesn't matter if it plays good and interesting chess.
> These are factors which have been tragically left out of computer
> chess.

I don't understand how you can say that. Have you looked at the Joker80 vs TJchess10x8 Schoolbook games at all? I think they are all extremely interesting games, of dazzling brilliance.

And I don't follow your reasoning. What is good and what is poor Chess is determined by the rules of the game and the aim to win. If that good Chess is not aesthetically appealing to your personal taste, it cannot be blamed on the players. The players are bound by the rules, and must do the moves that lead to the best possible result these rules allow. If the result of this optimization is not to your liking, it can only be blamed on the rules.

If a program can see that a Pawn storm will be losing, it won't engage in a Pawn storm. Programming it such that it will start the Pawn storm anyway as a pathetic attempt, so that it willingly runs into the knife and gets slaughtered, might be entertaining to you, but it is simply poor Chess. If you want to see Pawn storms, you should design a Chess variant where it pays to do Pawn storms. Mad Queeen's in general does not seem to be one.

💡📝Sam Trenholme wrote on Mon, Sep 21, 2009 03:18 PM UTC:
I think Mats' thought is that his modifications to the Zillions rule file, which make Zillions' openings more akin to what a normal opening looks like (more pawn movement, less queen movement), while possibly not actually improving Zillions' pay, results in more aesthetically pleasing games.

Aesthetics aside, that leads to an interesting question: Is it possible to make a Zillions .zrf file that noticeably improves Zillions' pay ('improve' being defined as having more wins) compared to a Zillions rule file that simply implements the rules of the games, leaving it up to Zillions to come up with the best move.

It's a good question, and one I would like to see answered in the 2010 Schoolbook tournament.

In the meantime, I'm slowly but surely building up a Schoolbook opening book. Last night, I ran ChessV all night doing a 12-ply PV evaluation of all of Black's replies to 1. c3. ChessV decided there are really two reasonable replies: 1. ... Ng6 (PV: +29) and 1. ... e5 (PV: +29). The other move that looks reasonable to me, 1. ... e6 (followed by 2. ... f5 to hinder White's control of this central diagonal) was #5 on ChessV's list (after 1. ... f6 and 1. ... d6) with a PV of -23.


M Winther wrote on Mon, Sep 21, 2009 06:51 PM UTC:
Muller, Michail Tal played incorrectly, and hence brilliantly, and
won. He even gained the world champion title in that way. Petrosian
sacrificed the exchange in order to defend, and Spassky swept
grandmasters overboard already when the middle game had hardly begun.
Nothing of this can be derived from algorithms. A computer will
scarcely ever perform a Petrosianic form of exchange sacrifice. Not all
aspects of creativity are analyzable. It cannot be broken down into
algorithms. If that were the case then we would have programs who
created fine classical music. I didn't mention Joker80 or TJchess10x8.
I only expressed my view that computer games should be judged
according to other criteria also, not only how many points they score.
That is not a controversial standpoint at all. If you judge this
particular match as dazzling, then the losing party should get a point
or two for that. /Mats

H. G. Muller wrote on Mon, Sep 21, 2009 08:43 PM UTC:
Of course it can be derived from algorithms. Tal and Petrosjan are also nothing but algorithms. Exceedingly complex and unpublished algorithms, perhaps, but algorithms nonetheless. Your argument on classical music is unconvincing. What computers cannot do now, might be common place in a decade. Thirty years ago one could have said exactly the same about computers lacking the creativity to play Chess at grand-master level.

If Tal and Petrosjan subdued their opponents by theoretically unsound moves, they were only able to do it because they were much better than their opponents. This is quite normal in Chess. Speculating on that your opponent will not see the refutation but in stead will fall into a trap you set is a very efficient way to speed up winning a game against a weaker player. And that might look brilliant to one who is not able to recognize the trap either. Computers can be very easily programmed to play that way. But it will get them slaughtered by their peers, of course. It is easy to look brilliant and creative when you are _much_ better than your opponents. But when you are hardly better, it calls for realism. This has nothing to do with computer vs human algorithms. It is just the computer's bad luck that they always meet their match, in terms of search depth. So they cannot afford fancy-looking strategies that can be exposed as unsound at their own level. When your traps are exposed and backfire, they suddenly don't look so brilliant anymore. If you win by sacrificing a Queen everyone is in awe. But when you lose by it, they shrug and say, ' he blundered his Queen away again. Will this guy never learn?'...

💡📝Sam Trenholme wrote on Tue, Sep 22, 2009 02:13 AM UTC:
If Tal and Petrosjan subdued their opponents by theoretically unsound moves, they were only able to do it because they were much better than their opponents.

Tal was great because he understood the psychology of Chess. Chess is a draw if there is perfect play on both sides. So, in Chess, the goal is to make your opponent make a mistake. Tal was very good at making moves that, while not the best from a theoretical standpoint, would put his opponent off-balance, resulting in them making mistakes.

I like Capablanca chess because it's tactically very sharp, a lot more than FIDE Chess. H.J.Murray, in his 'History of Chess', complained about how 20th century chess has become too strategic. I feel Capablanca chess, by having so much power on the board, recreates the spirit of 19th century romantic chess, where tactics are king and sacrifices are very common.


M Winther wrote on Tue, Sep 22, 2009 05:37 AM UTC:
The truth is that chess programs have, historically, had a hard time
being creative because they simply cannot calculate whether a pawn
storm, or a positional exchance sacrifice, or a pawn sacrifice for
dynamic compensation, will lead to a concrete gain. It lies beyond the
horizon. So that's why computers have refrained from being creative,
and this is why Kasparov deemed Fritz to be a lousy program. Still
today, human grandmasters play better chess than Rybka, et al., but
it's not certain that it will always remain so.

Today, orthochess is becoming more and more dependent on preparation.
Soon it can be defined as a form of information science, with the
addition of an impressive calculating ability. This is a bad
development, and it's true that Capablanca chess, and many other
variants, represent a way out of this anti-creative and unadventurous
devlopment.

Today's chess is strongly dependent on encyclopaedic knowledgeability,
which follows from the computerization and the scientific study of
chess. A a consequence the world elite becomes younger and younger.
The average age in today's elite is below 25. At this low age people
are capable of stuffing their brains with knowledge, especially about
openings. Undoubtedly, the average age will continue to decrease.

I think that this is the expression of a form of neurosis that has
taken root In today's collectivity. It expresses itself in a wish to
develop into a perfect machine. An 'anal' attitude takes the
expression of a wish to be in total control. The ideal would be to
turn oneself into an automaton that needn't be creative, only applying
its own knowledge and exacting calculative ability on a well-known
concrete position.

Comparatively, in Anglo-Saxon checkers they randomly decide the three
first half-moves before tournament play begins, by the use of so
called ballot cards. In history, chess was most often played with long
dice. People had a different view on life back then, and were more
acceptant toward chance events. Unlike today, they weren't always in
for total control. I think that most chessplayers should begin to
loosen up their rigid standpoint toward chess, and perhaps life
overall.

'Chess holds its master in its own bonds, shackling the 
mind and brain so that the inner freedom of the very 
strongest must suffer' 
(Albert Einstein)

Mats

H. G. Muller wrote on Tue, Sep 22, 2009 02:43 PM UTC:
I recognize none of that as remotely related to 'truth'. But as this has nothing to do with Schoolbook Chess we better not further discuss it here.

💡📝Sam Trenholme wrote on Wed, Sep 23, 2009 02:19 PM UTC:
Last night, my computer ran ChessV 0.9.0 all night to do a 12-ply analysis of all of black's replies to 1. Nd3. For building my Schoolbook opening book, I will go with ChessV's favorite replies: 1. ... f5, 1. ... Nd6, and 1. ... Ng6, all of which ChessV gives a PV of -49 millipawns to.

💡📝Sam Trenholme wrote on Thu, Sep 24, 2009 03:47 PM UTC:
Last night, my computer spent about eight hours doing a 12-ply analysis of black's responses to 1. e4. The responses that look the best are: 1. ... e5 (PV -30), 1. ... Ng6 (PV -48) and my personal favorite is 1. ... d5 (PV -74; White can’t hold on to the pawn after 2. exd5 Nb6 3. Bf3? f6). ChessV 0.9.0 felt 1. ... f6 (PV -56) was a little better, but 1. .... d5 is prettier and lowers the chances of entering a transposed position.

Reply to this message


H. G. Muller wrote on Fri, Sep 25, 2009 09:59 AM UTC:
I would like to do this with Joker80, because I cannot be sure that ChassV uses correct piece values, which might affect its opinion on some opening lines very much. I am still thinking how I should modify Joker to get the information we want.

One way to do it might be like this: In stead of narrowing the search window by delimiting it with the scores of the best two variations found by either side, it should discount the scores by a margin of, say, 50 centiPawn, and only narrow the window if that discounted score is better than the current window setting. Then a single reply on an alternative move, which would make the score come out, say, 30 cP lower, would not immediately be considered a refutattion of that alternative move. In stead the search of replies would continue until either one was found that refuted the move by a margin of more than 50 cP, or all moves would be search to make it sure what the best reply is, so we would get an exact score for the alternative move. (Which would the ly closer to the score of the best move than 50 cP.)

The margin sets how much score we are willing to sacrifice to create variation so that the opponent cannot use a well-prepared variation against us. (i.e. this depends on how much weaker in terms of a centi-Pawn score odds we estimate the difference between a well-prepared opponent and someone who would have to find the moves behind the board.) I guess this means the margin should decrease as we get deeper into the game, based on how much branching we already created: If at move 6 we have already selected a 1-out-of-100 path, the preparation of the opponent on this particular position will necessarily on average be 100 times worse than his preparation from the standard opening, so throwing in more variation to make him totally unprepared will not bring much further gain. So we should have an idea of how common the current position will be.

We can obtain this 'rareness factor' by multiplying the move choices along the branch. If on ply 1 we had 3 playable moves (within the score margin), on ply 3 we had 2 and on ply 5 we have 4 moves, we are in a 1:3*2*4 = 1:24 position, and could shrink the margins accoringly. When we search the opening position through iterative deepening, the previous iteration will tell us how many playable moves there are, before searching each of them at the new, increased depth.

This is a bit complicated, though. So perhaps it would be better to simply do an iteratively deepened search where the search window will be kept open in every internal tree node to at least the margin around the root score of the previous iteration. That would mean that all positions in the tree within +/- margin from the previous root score would acquire exact scores. Only outside this window, positions would get upper or lower-bound scores, telling us that they should be considered refuted by one side or the other.

The main question is how to present any output from this process. Perhaps for every node in the tree that receives an exact score we should simply print out the entire branch leading up to that node, together with the score. I guess we would be happy if we have, say 10,000 lines, which should be easily doable. That would on average be a 1:100 choice for white as well as black, diluting any possile preparation efforts of the opponent 100-fold I guess that only after we have such an opening tree we could check if there are problems with the 'on average' notion, i.e. if the tree is robust in the sense that it could never be reduced by opponent move choice to a tree that is much smaller than the average.

Greg Strong wrote on Sat, Sep 26, 2009 12:17 AM UTC:
Very interesting discussion!  I've been away too long ...

First of all, thanks go out to H. G. for adding code to make ChessV compatible with WinBoard.  I'm rolling these terrific improvements into the main code base as well as fixing the problems that resulted in version 0.9.x being so much worse than 0.9.  Update will be released this weekend (with full source code.)

Secondly, thanks go out to Sam for putting on this tournament.  I look forward to the sequel, especially since my next-generation engine will be ready for Schoolbook Chess play very shortly, and with a playing strength that will beat up on ChessV like a body-builder beating up on a cripple :)  Regarding inclusion of Zillions-of-Games, since it is a commercial product, I don't see any problem... If you've actually paid money for it, don't you have a right to use it?

Also, H. G., you mentioned that ChessV might not evaluate the pieces correctly.  This is, of course, true :)  But you can change ChessV's piece evaluations (without re-compiling the source code.)   You use a save-game (SGF) file.  To the extent that there's different opinions about the relative values of the pieces, it would be very interesting to try the alternate values and re-run Sam's opening move analysis and see if it makes any significant difference.

Also, regarding the Schoolbook chess castling rule, I refer to this rule as 'flexible' castling.  That's the name Fergus gave it because the name 'free' castling was already used by Aberg in his Capablanca variant in which not only can the king travel as far as it likes, but the rook can choose any square that the king has passed over...  (I don't personally like the free castling rule, but ChessV supports both, and some other variations, as described in the file extensability.doc.)

Will post an update soon, as soon as ChessV 0.9.4 is ready!

💡📝Sam Trenholme wrote on Sat, Sep 26, 2009 12:43 AM UTC:
First of all, Greg, I’m really glad you’re working on ChessV again! It’s an excellent program and I’m very happy to make it available again (both 0.9.0 and 0.9.2). While not perfect—no project of this scope can ever be perfect—ChessV is a very ambitious program which plays a large number of chess variants on a few square boards (6x6, 6x8, 10x8, 12x8, and 10x10) quite well.

In terms of making an opening book, while it would be nice to do so with refined values of the pieces (as Greg pointed out, this can be done in ChessV 0.9.0, and my Schoolbook Zillions preset even has a ChessV save game file which one can easily modify with a text editor to tweak the value of the pieces), I’ve already done over half of the work to get a basic 15-node or so opening book for Schoolbook out there so two deterministic Chess engines can play each other a Schoolbook “showdown” and not just play the same game 15 times over.

It’s not a perfect opening book, but I’ve reviewed the openings by hand and I don’t see anything that doesn’t look reasonable. We can always make a better opening book later on, and even play some very fine chess with our imperfect opening book. Indeed, some very excellent Chess was made in the 19th century when openings like the Queen’s pawn opening and the Sicilian defense were considered inferior and very rarely used.

In terms of changing the Joker80 engine to choose from a greater range of possible moves in the opening, I think this is a good idea. I’ve always liked Zillions’ ability to make the move done from a given position more random and I also think it will make Joker80 a stronger Chess player.

I’m very glad to see some serious work being done to computer programs that play Chess and Chess variants competitively. Capablanca/Carrera/Bird Chess, in particular, results in some very sharp and tactical games that computers play very well, and it’s relatively easy to tweak an engine that can play FIDE Chess to play 10x8 Chess. There are dozens of possible opening positions for the pieces, and opening positions we thought in the mid-2000s were no good (positions with first-move mating threats and what not) may very well be OK, but one open question is whether there is any measurable White advantage to a setup where he can threaten mate on the first move.

One thing I would love to see is to have a Chess engine that can be told “Make a reasonable opening library for this particular opening setup”, run the program on a high-end machine for a could of days, and have it output a 1000-node or 2000-node opening book for the setup in question. It won’t be a perfect opening book, but it will be one we can use to research things like seeing how much of an edge White has with a given setup.


H. G. Muller wrote on Sat, Sep 26, 2009 09:50 AM UTC:
OK, this is the Joker80 analysis of Schoolbook array. I let it run for 12 ply from the opening, printing every position with an exact score searched to a depth of 10 ply, keeping the window open from -0.10 to + 0.20 (white POV) on all searches of 10 ply or deeper. Both the 11-ply and 12-ply search came up with c2-c4 as best move. At 11 ply e2-e3 was deemed as good, but it dropped a lot in the 12ply search. But f2-f4 did exactly the opposite.

The following table gives the move path, followed by the score/depth of the position after these moves. Because I searched 12 ply, and printed everything with d>=10, it did not only print the white moves but also the black replies. elow I did list some replies to the best white moves.

c2c4  0.10/11 (0.05/10)
f2f4  0.05/11 (0.00/10)
g2g4  0.04/11 (0.02/10)
c2c3  0.04/11 (0.04/10)
e2e3  0.01/11 (0.00/10)
e2e4  0.00/11 (0.05/10)
f2f3  0.00/11 (0.01/10)
h1i3  0.00/11 (-0.00/10)
g2g3  0.00/11 (-0.02/10)
d2d4  0.00/11 (-0.03/10)
h2h3 -0.00/11 (0.00/10)
c1b3 -0.01/11 (-0.01/10)
h1g3 -0.01/11 (-0.01/10)
d2d3 -0.03/11 (-0.04/10)
e1d3 -0.03/11 (-0.05/10)
h2h4 -0.03/11 (-0.06/10)
c1d3 -0.04/11 (-0.07/10)
a2a4 -0.06/11 (-0.09/10)
i1h3 -0.09/11 (-0.06/10)
j2j3 -0.09/11 

c2c4 c7c5: -0.10/10
c2c4 g7g6: -0.11/10
c2c4 c7c6: -0.14/10
c2c4 g7g5: -0.14/10
c2c4 h8i6: -0.15/10
c2c4 e7e5: -0.16/10
c2c4 f7f6: -0.16/10
c2c4 e8d6: -0.16/10
c2c4 e7e6: -0.18/10
c2c4 i8h6: -0.18/10
c2c4  0.10/11
12      10  2582729  104628430 ? c2c4 c7c5 f2f3 i8h6 c1b3 d8c7 h1g3
e2e4 c7c6:  0.00/10
e2e4 c7c5: -0.04/10
e2e4 e8f6: -0.09/10
e2e4 e7e5: -0.10/10
e2e4 h7h6: -0.10/10
e2e4 f7f6: -0.13/10
e2e4 e7e6: -0.14/10
e2e4 g7g6: -0.15/10
e2e4 g7g5: -0.16/10
e2e4 h8i6: -0.18/10
e2e4  0.00/11
11       4    25428   83877288 ? e2e4 f7f6 d2d4 c7c6 f2f3 d8c7 i1h3 e8i4
12       0   426852 1429007351 ? e2e4 c7c6 i1h3 e8d6 f2f3 f8e8 d2d4 h7h6 e4e5
f2f4 f7f6: -0.05/10
f2f4 c7c6: -0.07/10
f2f4 f7f5: -0.08/10
f2f4 h7h6: -0.10/10
f2f4 d7d5: -0.11/10
f2f4 e8d6: -0.11/10
f2f4 h8i6: -0.13/10
f2f4 d7d6: -0.13/10
f2f4 e7e6: -0.14/10
f2f4 c8b6: -0.14/10
f2f4 g7g6: -0.15/10
f2f4 j7j5: -0.16/10
f2f4 b7b6: -0.16/10
f2f4 c8d6: -0.17/10
f2f4 i7i5: -0.19/10
f2f4  0.05/11
12       5   692665 -1980185374 ? f2f4 f7f6 e2e3 g7g5 h1g3 c7c6 f4f5 d8c7 d1g4
g2g4 c7c5: -0.04/10
g2g4 f7f6: -0.05/10
g2g4 g7g6: -0.07/10
g2g4 h7h6: -0.08/10
g2g4 e7e5: -0.08/10
g2g4 d7d5: -0.08/10
g2g4 c7c6: -0.08/10
g2g4 g7g5: -0.09/10
g2g4 e8d6: -0.10/10
g2g4 c8b6: -0.13/10
g2g4 h8g6: -0.14/10
g2g4 i8h6: -0.14/10
g2g4 h8i6: -0.15/10
g2g4 d7d6: -0.16/10
g2g4 b7b5: -0.16/10
g2g4 i7i6: -0.17/10
g2g4 a7a5: -0.18/10
g2g4 e7e6: -0.18/10
g2g4 j7j6: -0.19/10
g2g4  0.04/11
c2c3 c7c6: -0.04/10
c2c3 c7c5: -0.04/10
c2c3 g7g5: -0.07/10
c2c3 g7g6: -0.07/10
c2c3 e7e6: -0.10/10
c2c3 c8b6: -0.14/10
c2c3 h8i6: -0.15/10
c2c3 i8h6: -0.15/10
c2c3 h7h5: -0.17/10
c2c3 h8g6: -0.18/10
c2c3 e7e5: -0.18/10
c2c3 d7d5: -0.18/10
c2c3  0.04/11

M Winther wrote on Sat, Sep 26, 2009 10:17 AM UTC:
Concerning the opening theory problem in the Capablanca variants.
Arguably, it is a drawback of [a Capablanca setup*], for instance, that an
ambitious player must needs devote himself to opening studies in
order to achieve success. It is a very complex board situation and hard
studies would be very rewarding. But opening studies is also an
immense tedium. Seirawan Chess, due to its drop method, can never
become a highly theoretical game. This is, I think, a great advantage.
One needn't bother much about opening theory, it's only to sit down
and play. Instead one can devote time to the study of opening
principles and tactical themes.

Interestingly, Namik Zade employed [a Capablanca setup*] and combined it with
the pawn randomization which I invented for Chess256. This is interesting
as it implies a thorough kill of theory. His program can be downloaded here:
Capablanca Fun Games

The zrf which uses pawn randomization is called 'The Shuffle-Pawns.zrf'
Please study this. I don't think the [a Capablanca setup*] is quite proper for pawn
randomization because the bishops will often be able to capture the
rooks immediately. It works, but is slightly unattractive. However,
should the Schoolbook setup be used, then an immediate capture is
never possible. Comparatively, in Chess256 white can never achieve
a clear advantage no matter how the pawns are positioned. One must
establish that the same is true for the Capablanca setup that one
chooses for the pawn randomization method. Of course, Namik's
program can also be used as pawn randomizer for any Capablanca
piece setup.
/Mats

*edited for site policy


💡📝Sam Trenholme wrote on Sat, Sep 26, 2009 10:39 AM UTC:
Muller: That looks really good, and isn't too different from what I'm getting. Indeed, I just finished up a 12-ply look at the replies to 1. f4, and agree with ChessV 0.9.0's three favorite replies: 1. ... f5 (PV -38 millipawns), 1. ... Nd6 (PV -61 millipawns), and 1. ... c6 (PV -73 millipawns)

I’ll have my list finished up by early next week: Muller’s list also helps a lot with starting up an opening book.

Mats: The reason why we’re studying openings is so computer programs can make reasonable opening moves. It looks like you haven’t been reading this thread. We use a basic opening book to minimize the issues caused when a deterministic computer program plays a given Capablanca setup more than once.

As for human players, an opening book gives a player a pretty good idea of how to start the game. Avoiding “over-analyzed” opening books is easy in Capa setups; there are 720 different opening setups with the rooks in the corner, bishops on opposite colors, and the king on the F file. Of those, 18 have symmetry with the knights and the bishops, and the bishops closer to the center file than the knights.

There simply is no need to implement your idea to advance some pawns one square randomly, and you yourself have pointed out it causes problems in, say, the Embassy setup (RNBQKMABNR or if you insist on having the King in the F file, RNBAMKQBNR), or even your own Teutonic setup (RNBQAKMBNR). Can we please keep the discussion here on-topic without coming up with untested blue-sky ideas?


M Winther wrote on Sat, Sep 26, 2009 01:13 PM UTC:

Sam, for a computer to make reasonable opening moves in orthochess it is sufficient to allow it to randomly choose between 1.c4, 1.d4, 1.e4 and 1.Nf3. It's equally simple in Capablanca variants. It is completely meaningless to allow an engine to run overnight to determine which first move is the best. Many moves are equally good until grandmasters after years of play and analysis have arrived at a conclusion.

The ramification of variations is so vast and one can't draw any conclusions about first opening moves this way. There are deep strategies involved, concerning endgame properties, for instance. In the Sicilian defence, black's minority attack and the pressure on the backward white c-pawn will create a slight advantage for black if the endgame is reached. A computer cannot draw such conclusions and determine in favour of 1...c5 after a night's analysis. The ramification in Capablanca variants is even greater. This effort of computer analysis is meaningless. If you want to establish the foundational openings, then move any centre pawn and a knight in any reasonable combination for both parties. Then you will have perhaps 30-40 good openings to choose from.

However, randomized pawns is not 'untested blue sky ideas' while I have tested it in Chess256, and Zade has implemented it for [a Capablanca chess variant*]. Obviously, the randomized pawn configuration, in itself, lessens the deterministic aspect of computer play. Moreover, as the pawn development is already partly established, a computer can immediately choose between good piece moves and good pawn moves. Otherwise, with all pawns on the second rank, it has almost only good pawn moves at his disposal. I never suggested Embassy Chess or Teutonic Chess, but this solution would probably work for those as well. /Mats *edited for site policy


H. G. Muller wrote on Sat, Sep 26, 2009 01:28 PM UTC:
Sam: The most obvious difference is that Joker80 likes c2-c4 quite a lot, while ChessV thinks it a pretty poor move.

Mats: I think this technique could be useful to reveal flaws in the array that would cause an unusually large white bias. E.g. essential weaknesses due to undefended Pawns or critical mate threats.

To create an opening book, a better approach would probably be to play a few hundred thousand ultra-fast games, with an engine that randomizes through a root bias of 10 centiPawn or so. This should provide Monte-carlo sampling of the opening tree, fully taking into account strategic effects like those you mention.

With 40 moves/10 sec one could do 120 games/hour on a single CPU. So a quad would make you about 500 games/hr or 12,000 games/day. Keep that up for a month, and a very nice data set would emerge.

💡📝Sam Trenholme wrote on Sat, Sep 26, 2009 05:41 PM UTC:
H.G.Muller wrote:
Sam: The most obvious difference is that Joker80 likes c2-c4 quite a lot, while ChessV thinks it a pretty poor move.

Well, lets look at the ChessV 0.9.0 + Human tweaking opening book 1. c3, 1. Nd3, 1. e4, and 1. f4; I will probably do black responses to 1. Ng3 tonight.

Here is the opening book I have so far:

1. c3 Ng6
1. c3 e5
1. c3 e6
1. Nd3 f5
1. Nd3 Nd6
1. Nd3 Ng6
1. e4 e5
1. e4 Ng6
1. e4 d5
1. f4 f5
1. f4 Nd6
1. f4 c6

And compare it with Joker80’s 12-ply opening book, where it thinks White’s five best moves are: 1. e4 (PV +.05 pawns), 1. c4 (+.05 pawns), 1. c3 (PV +.04 pawns), 1. g4 (PV +.02 pawns), and 1. f3 (PV +.01 pawns). Observe that there are no Knight openings in Joker’s list, and that it thinks 1. f3 (+.01 PV) is better than 1. f4 (+.00 PV, or equality). In addition, Joker80 likes 1. g4 more than ChessV does.

So, there are some significant differences between the openings Joker80 likes and the openings ChessV likes. Both opening books look reasonable; Capa variants have a somewhat higher branching factor than FIDE chess (after White and Black move once in FIDE chess, there are 400 possible positions; in the Schoolbook Capa setup, that number is 784), so I would not be surprised if there are more reasonable openings than in FIDE Chess.

I retract my statement that there is no value in setups where we randomly advance pawns for both sides one square (if we advance White’s c pawn, we advance Black’s c pawn, for example). In FIDE chess, it increases the number of openings by 256; with Capa arrays, it increases the number of openings by 1024 and computer analysis can tell us if certain pawn advancements make for usable opening setups.

Again, I will finish up my ChessV 0.9.0 analysis of the Schoolbook opening setup over the next few days and should have a final opening list up soon.

Reply to this thread


💡📝Sam Trenholme wrote on Sat, Sep 26, 2009 06:25 PM UTC:
Muller> To create an opening book, a better approach would probably be to play a few hundred thousand ultra-fast games [...] With 40 moves/10 sec one could do 120 games/hour on a single CPU

40 moves in 10 seconds is a little too fast for Joker80. So, I've opten for 40 moves in 30 seconds; I might be able to get away with 40 moves in 15 seconds. Joker80 randomizes its move enough that it's worth it to have it run a few thousands games against itself; a version of Joker80 that essentially randomizes its first two moves would be nice too (or I can have the script just give the engines one of the 784 setups where the first two moves are randomized).

Here is the script that does this:

#!/bin/sh

A=1

while : ; do

        winboard.exe -cp -fcp joker80.exe -scp joker80.exe \
          -boardSize middling \
          -variant capablanca -lpf schoolbook.fen -tc 0:30 \
          -mps 40 \
          -autosave -sgf game-hour-${A}.pgn -mg 60

        A=$(( $A + 1 ))

done
Here is the schoolbook.fen file:
rqnbakbncr/pppppppppp/10/10/10/10/PPPPPPPPPP/RQNBAKBNCR w KQkq - 0 1

H. G. Muller wrote on Sat, Sep 26, 2009 07:52 PM UTC:
Is it too fast for Joker or too fast for WinBoard? I think I played time-odds games with this Joker version where it had only 12 sec per game against 30 min for ArcBishop, and I recall it was still winning. You mus make sure that 'Animate moving' is off in WinBoard, or perhaps even run with the option /noGUI.

25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.