Comments/Ratings for a Single Item
It's still a work in progress, but is an excellent program.
Hi Dan, Thanks, it would be interesting to see the game. Let me know where you think it went wrong. It is quite possible that it involves the quiescent search.
Dan played well. I personally think 5. ... Ah6 is a good try for black to both hold on to the pawn and to defend against the gambit.
As another note, if you give ChessV enough time to think about the move, it sees that white can force a mate after 15. Bf2.
- Sam
Sam and Dan, Thank you both for the time that you have spent looking into this and typing in your findings. I appreciate it, and, with research, it will lead to a stronger program. It is true that development by itself doesn't guarantee anything. However, computer chess programs consider as many moves as they have time to, and each sequence of moves leads to a positon. The computer must then evaluate that position (or, if pieces are still hanging, it plays out winning captures before it evaluates,) but eventually a position must be quantified with a number - the more positive the number, the better the position for white, the more negative, the better for black. Experience can tell a human player a lot about what is good and what is bad, but trying to program in too many specific scenarios makes a program worse, because it takes too much CPU time to evaluate, and the more CPU time you spend on evaluation, the less moves you can consider. Lots of things can help ChessV. Obviously, a good opening book would help. I am working on an opening book for Janus Chess, but it takes time. Also, evaluation of position gives pieces a bonus or penalty based on the square it occupies (a piece-square-table.) Such tables can be different for each type of piece, and they can be different in the opening vs. midgame vs. endgame. Clearly the piece-square-tables for Janus Chess (and all other 10x8 variants for that matter) could be improved. I'll look into the current tables, and, based on the game Dan has posted, I'll try some experimentation. Finally, I think that there is probably a bug buried somewhere deep in the move-search functions that is proving very difficult to isolate ... Thanks again to you both. I'll study what you have posted and keep you posted!
- Sam
What I did was make the pawn worth on 333 points, the rook only worth 1666 points, the queen worth 3000 points, and so on. What this does is make factors not directly having to do with material, such as the position of the pieces, three times more valuable. Once I did this, this is how ChessV handled Dan's gambit play:
1. Ah3 e5 2. f4 exf4 3. Nd3. Stock ChessV tries too hard to hold on to the pawn here: 3. ... g5?. However, by tweaking ChessV to only be one-third as greedy, ChessV responds with the much more sensible 3. ... f5 or 3. ... Ng6, depending on how much time we give ChessV to think about the position.
My experiments show that tweaking like this, when done for the course of the entire game, will make ChessV make some unsound sacrifices in the late mid-game and end-game, resulting in the 'stock' ChessV winning the game. However, if I have the tweaked version of ChessV play white only for the first ten moves, than give the stock pieces to the normal ChessV, the result is the same as giving both sides the stock pieces: White wins the game.
For Greg's info, this testing was done at an I-depth of 7 and with pruning and razoring disabled.
If Dan is interested, I'm willing to see how well he does against the tweaked ChessV (for the first ten moves, anyway).
- Sam
What I have published of John's (with his permission, of course) is his notes on one of his 2001 Grand Chess world championship games.
- Sam
Dan, I've done some more significant tweaking today, primarily aimed at making sure it doesn't fall too far behind in development just for a pawn or two. It now makes better moves in the situations in your previous game. How much better it is overall, I cannot say, but it is almost certainly much better than Sam's modified version, as I have made a number of improvements in the last 2 weeks. If you're up for a game against the current iteration, just start a game with Game Courier, and let me know what I-Depth you would like (I have enough computing power to go up to 12 or 13, but I would recommend more like 9 or 10.) Thanks!
Zillions Save Game File Version 0.02 HH RulesFile=C:\Zillions\3rd_party\largechess\Chess,_Large.zrf VariantName=Janus Chess 1. Janus i1 - h3 1. Pawn e7 - e5 2. Pawn f2 - f4 2. Pawn e5 x f4 3. Knight c1 - d3 3. Pawn g7 - g5 4. Pawn e2 - e3 4. Pawn f4 x e3 5. Bishop g1 x e3 5. Pawn h7 - h6 6. Knight h1 - g3 6. Knight c8 - d6 7. Janus b1 - c3 7. Bishop g8 - h7 8. Bishop d1 - h5 8. Pawn i7 - i6 9. Janus h3 - g4 9. Queen f8 - g8 10. Queen f1 - e2 10. King e8 - f8 @ f8 0 0 11. Knight d3 - c5 11. Bishop h7 - f5 12. Knight g3 x f5 12. Pawn i6 x h5 13. Janus c3 - e5 13. Pawn h5 x g4 14. Knight c5 x d7 14. King f8 - e8 @ e8 0 0 15. Bishop e3 - f2 15. Bishop d8 - e7 16. Janus e5 x d6 16. King e8 x d7 @ d7 0 0 17. Queen e2 x e7 17. King d7 - c6 @ c6 0 0 18. Knight f5 - d4 18. King c6 - d5 @ d5 0 0 19. Queen e7 - e5
- Sam
move on a 1.6 Ghz computer. ChessV is white in the odd games.
The result was 4 - 4. Zillions won both in Janus Chess. ChessV
calculates deeper, but Zillions's evaluation function seems better.
I suppose ChessV is stronger in the more technical variants, such
as Kinglet Chess. Probably the result will vary much depending
on computer and time used. My own zrf was used for this match.
Several games were quite interesting. The games are included
in the zip-file.
http://hem.passagen.se/melki9/capablanca.htm
Zillions vs. ChessV
_________________________
Janus Chess: 1 - 0, 1 - 0
Capablanca's: 1/2 - 1/2, 0 - 1
Bird's Chess: 1/2 - 1/2, 0 - 1
Embassy Chess: 1 - 0, 0 - 1
Mats W
1. Af3 Nd6 2. Ng3 f5 3. Nd3 Nhf7 4. h3 e6 5. BI3 h6 6. Ah5 Bh7 7. Ke1?
Zillions, for mysterious reasons, made a meaningless king move.
7. ... I6 8. Af3 MI7 9. Bxd8 Qxd8 10. Nc5 Ng5 11. Ae5 Nf7 12. Ad4 Ad6 13. Mj3 Qe7
ChessV now has Zillions on the run. With a better pawn structure and two more pieces developed, black has more than equalized and now controls the game.
14. Nd3
At this point, Black can force the win of a piece. The moves to do so are left as an exercise for the reader.
In the game played, White never recovered and Black (ChessV) eventually won.
Awkward play by Zillions in the opening. But Zillions can easily be made to make good pawn opening moves by introducing rewards for such moves. As soon as Zillions has moved two pawns he continues to move pawns and pieces in a natural way. One can also introduce a reward for castling, and punish early queen moves. If one makes these additions to the code then Zillions plays chess very humanlike and positionally interesting. The effect is remarkable. Zillions's style is quite humanlike because it plays such a varied game of chess. It also understands to attack with the pawn on the flanks. It is sad that Zillions programmers don't use these tricks because there are so many implementations where Zillions plays too much with the pieces in the opening, which makes the games less interesting, and the play much weaker. You can have a look at the code in my zrf's. In most cases you can simply copy it, although it can certainly be improved in many ways. Note that I have often also added links from the corner squares. This simple trick is a good idea because it discourages Zillions from wasting king moves to the corner squares, something which is even more important in the Gustavian case.
Version 0.9.1 released
new games: This version adds support for a new class of games - the diagonal games, Diagonal Chess, Diamond Chess, and Legan's Game (all from Pritchard's Encyclopedia of Chess Variants.) These games allow you to view the board normally, or rotated 45 degrees, for a more appropriate viewing. Also, support for new 10x8 games Optimized Chess by Derek Nalls and New Chancellor Chess by David Paulowich.
new features: New square textures, and a new option to customize the 10x8 Capablanca-like games. It was already possible to customize these games by making a SGF file, but now there is a user-interface to specify the rules you want, and you are given an option to save a SGF into your include directory, making the game a permanent addition to your ChessV installation. An option to replace Chancellors and Archbishops with Ministers and High-priestesses is also present to allow one to play Christine Bagly-Jones's Capablanca Shatranj variants. Just click on Capablanca Chess variants from the start screen, and check 'Customize the Selected Game'
performance: many performance enhancements speed things up 10-40 percent, depending on the game. 10x8 variants are much faster, and have much smarter evaluation of positions.
Enjoy! Download from the project's home at sourceforge.net
25 comments displayed
Permalink to the exact comments currently displayed.