[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]
Comments/Ratings for a Single Item
Joe, these pieces can also make a non-capturing move to capture square. The Alpaca is interesting because it can sometimes invade the enemy position by jumping, and drive away enemy pieces while they have a higher value. However, it is a common theme that a light piece is exchanged for Alpaca + pawn. Pieces valued 2 are interesting, as long as they are short-range, it seems. I have now also implemented the Vicuña, which captures only on the second square, and jumps continuously. A peculiarity is that the Guanaco can continue jumping although it has a capture possibility on the first square. This is wholly logical. I decided to call this category Lama pieces, after genus 'Lama'. I don't know how good they are, but they can be tested in my programs. They are described here: http://hem.passagen.se/melki9/llamapieces.htm /Mats
OK, I started some tests of the Lama pieces. As they are regular Chess pieces that fit in the Betza classification scheme, Fairy-Max can handle them without modification. Both Lama and Alpaca are handicapped versions of the Woody Rook (Betza WD). I tested this Woody Rook in the context of Great Shatranj, and IIRC it tested as slightly less than a Knight. From my current understanding of short-range leaper values, WD should have been one of the weakest of all 8-target leapers, due to the small number of forward moves. And forward moves seem to contribute about twice as much to the overall value as backward or sideway moves. But I guess the global property of having mating potenial is worth some extra bonus. The Lama and Alpaca should be practicaly equal in value; moves of 1 step seem to contribute to the value of a piece about as much as moves of 2 steps in the same direction. If I would have to do a prediction, I woud use the formula Value = (30+5/8*N)*N, which would put 8-target SR leapers at 280 (centi-Pawn). I would count non-capture moves in the second factor N only for 1/3, though, so that we would get 35*16/3 = 187 cP. For rider-like pieces like the Guanaco I have no theory yet. I started tests by replacing the Knights of one side by Lamas, to see how badly they are beaten. I will then probably switch to replacing two Knights by 3 Lamas. On the other core of my C2D I am playing a substitution of 2 Bishops by 2 Guanacos. I will keep you posted. (I cannot promise I will be able to complete all necessary tests shortly, As I might need the computer to test my Xiangqi engine HaQiKi D, which I entered in the World Championship in Pamplona, taking place early May. And I still have a lot to improve on that before I will have any chance on winning there...)
Thanks for this. One factor which is very important in the Guanaco and the Alpaca is that they become quite strong in endgames with pawns. They can rather easily attack a pawn chain while they can move to an adjacent square of a different colour, and hop over pawns. To attack an enemy pawn chain could be impossible for a bishop of the wrong colour, and be somewhat difficult for a knight, while it has to maneuvre many moves. I found that Zillions has difficulties handling the Guanaco in the beginning while it demands planning. You must maeuvre it in order to use it, so it's not the ideal piece for computers. Therefore one cannot expect that the replacement test will work very well. The Guanaco is very strong in the endgame, and two Guanacos plus king seem able to checkmate an enemy king (needs to be verified). If this is true then two Alpacas would also be able, together with the king, to give mate. The Llama has fewer capture squares than the Alpaca. Only on the inner 6x6 square it has four capture squares. So I suppose it's worth somewhat less. On the other hand it can threaten at a two square distance. Notice also that the Guanaco *slides* on the squares on which it stands. In a sense, it is an orthogonal bishop. /Mats
For instance, this position is an easy win for the Guanaco because it can easily hop to squares f5 and h5 and put pressure on the white pawns. This keeps the white king bound, and then the black king can advance. Zillions finds the win easily, too. However, in opening and middlegame the Guanaco cannot make much threats because of its short capture distance (only one square orthogonally). Anyway, it's interesting that a piece, having maximally only four capture squares, can compete with a bishop that has maximally 13 capture squares (14 on the Gustavian board). /Mats |
Hmm, I am starting to doubt that the Guanaco is anywhere near a Bishop in value. In the match of two Guanacos vs two Knights the Knights lead by 80%. Strange thing is that two Llamas vs one Knight seems to go towards a very clear victory for the Llamas (64%, which suggests a difference of the order of a Pawn). All this after a mere 100-150 games, so with a sizable error bars. But these results would put a Guanaco quite close to a Llama, which is a bit strange, as it is clearly upward compatible with it. Perhaps I should start with a test of two Guanacos against two Llamas, (say as Knight replacements), to get a direct measure of how much the difference between the two really is. It might be that the distant non-captures are pretty useless. Thee are only few squares from which you can actually make them on 8x8, and perhaps the Llama is already fast enough. One thing I can confirm straight away, though: Both two Llamas and two Alpacas make a generally won end-game. (Maximum distance to mate 43 or 51 moves, respectively.)
It is obvious that the Guanaco is very strong in endgames with pawns, so the results are strange. In a replacement test it's necessary to tweak the value of the knight to be the same as the value of the Guanaco. Otherwise the knights become dominant while they can chase away the Guanacos. The Alpaca and the Llama have this advantage against the knight, too. /Mats
Yes, it seems I have to go 'back to basics', and first make sure that the program handles the pieces well. I was running the test where the Guanaco did so poorly with programmed-in values that had the Guanaco worth slightly less than a Knight (240 vs 259 in the peculiar micro-Max internal units that have B=296). So the problem you mention could not have occurred. I did not program the Guanaco as a piece that has to be centralized, however. Fairy-Max knows two kind of pieces, those that are lightly) drawn to the center (Kings, Knights and Bishops), and those that move neutrally over the board (which works better for Rooks and Queens). I programmed the Guanaco as belonging to the latter group, because I figurered that its rider moves woud make it behave like a Rook, while the Llama was obviously short range and not very valuable, so the center was the obvious place for that. But perhaps the Guanaco has to be centralized to perform well. This can matter a lot: for the Lion (FWADN) I initially figured that it was too valuable to centralize it (it would only be chased), but giving the program a drive to centralize upped its value by nearly half a Pawn. So the first thing I will do now (last night's tests were spoiled by auto-updates...) is to test a symmetric position with Guanaco-for-Knight substitution, between two differently configured versions of Fairy-Max, one that centralizes the Guanaco, the other that doesn't. (And perhaps repeat it with Guanaco-for-Bishop substtutions, or GG for BN.) This should tell me if a Guanaco gets you more when it is centralized. After that I will do a a Guanaco vs Llama test, between idenical engines that handle the Guanaco in the way that proved best. In this test I will configure the Guanaco only very slightly above the Llama in value. We know the Guanaco must be better. This should result in an initial empirical Guanaco-Llama difference. The test should then be repeated with this value programmed in, for confirmation. One question: would the end-game you show not be equally won when black had a Llama rather than a Guanaco? That it is won might be due more to thefact that black has an extra Pawn, while white has two very awkward Pawns (one backward, one isolated) than to the Guanaco being so powerful.
Oops! I have made a programming error in the Guanaco. The black Guanaco can only make one two-square jump toward the white position. This makes it much weaker than the white Guanaco, of course. The reason why I missed this is because I only tested the game with the white side, and the white Guanaco moves correctly. (I had simply forgotten to insert the 2-jump directions into the symmetry statement.) The programs which contain the Guanaco are the following, which have been corrected. http://hem.passagen.se/melki9/guanacochess.htm http://hem.passagen.se/melki9/pilgrimchess.htm http://hem.passagen.se/melki9/pioneerchess.htm /Mats
True, that diagram example was badly chosen. Forget about it. It is very likely that the Guanaco should be centralized because it has such a short capture range. Those four capture squares should cover important fields, which are in the centre. I might, too, need to tweak the Guanaco so that it maneuvers more in the middlegame /Mats
This is starting to get very mysterious. Whatever I do, it seems impossible to create conditions where Guanacos convincingly beat Llamas, between equal programs. The scores always converge around 51-53% in favor of the Llamas, so far. There is an error of around 3-4% on this, as it was all done with about 100 games, but still... It is totally ridiculous outcome, as the Guanaco is obviously upward compatible. What I did was this: First I established that it is a much better strategy to centralize Guanacos than to leave them roam the board neutrally: A version that centralizes wins symmetric positions where each side has two Guanacos (replacing the Knights) very convincingly (66% score in 100 games). Nevertheless, with this better Guanaco handling, the score of Guanacos against Llamas (between identical programs) remained around 50%, like it was with the poor Guanaco handling. This is not unusual: The fact that the program having the Guanacos knows that they are better in the center is largely offset by the fact that its opponent now knows this too, and tries to keep them out of the center. I did this test with a value of 240 for Guanaco and 180 for Llama (on a scale Bishop = 296). So my first thought was that the high programmed value of the Guanaco was hindering its proper use, by making the program too scared to risk it being traded for other material. So I repeated the test with rogrammed values 180 and 190. But after 100 games the Llamas now lead there by 52%. The only thing I can think off at the moment to explain this is that the extra Guanaco moves (compared to the Llama) are nearly useless, but that the fact that they are searched increases the branching ratio of the search tree, reducing its depth. The side having the Guanacos suffers more from this than its opponent, as at odd ply depth it searches one more level in the tree with Guanaco moves than the program with the Llamas. But I cannot imagine that this effect is very big. (There are not that many distant Guanaco moves, compared to total moves in a typical positon.) Anyway, it seems that the Guanaco hardly offers any advantage over the Llama. Which is a bit surprising. I also did another test with to Guanacos as Knight replacements on one side, between Guanaco-centtralizing engines, and the Guanacos get clobbered by ~73% so far. I will let these test runs overnight to get somewhat better statistics, but everything so far points to nearly equal Guanaco and Llama value, both significantly weaker than a Knight.
Gentlemen, I have a question on shortrange piece placement on larger board sizes. I wasn't going to pursue it, but after seeing HG's last comment, I've re-considered and will happily try to muddy the water a bit. One of the things I've noticed is that 'centralized' as a concept might be somewhat misleading, in that on an 8x8, getting the shortrange pieces into the area of the board where their moves are maximized means getting them into the central 4x4 square. However, on the Capa board, the area is 6 wide and 4 deep, and on larger boards, it expands more. On a 12x16, the area of maximum movement for a knight is an 8x12 area that encompasses far more than the center of the board. Further, since the forces are opposed in a linear array, anywhere near the midline is actually advantageous, even on the wings, because the piece is still close enough to the enemy forces to threaten. And if a bunch of slow-moving pieces clog the center of the board, that restricts the mobility of the rook and bishop types. A knight on b5, for example, is not necessarily in a bad position, and it may be a quite good position. Now, a piece like one in the lama family, being so shortrange, is about as well positioned anywhere in the area of the midline, not just the 'center' of the board, isn't it? [HG, you had a similar problem with a lion, I believe; when you removed 2 backward moves, the less-mobile piece did better than the full piece, if I remember correctly. Try chopping out the odd potential move or two, and see what happens, if this makes sense to you.]
The Guanaco is a much faster piece than the Llama. Moreover, the Llama has, in practice, fewer capture squares than the Guanaco. However, it's easier for the Llama to create threats, while the capture square is two squares away. If an enemy piece occupies a central square, the Llama can chase it away from a distance of two squares. It doesn't matter if there is a friendly pawn in between. Thus, the Llama is the perfect piece for controlling the centre, and that's why I am somewhat sceptical about it. (The Alpaca is different.) Anyway, since computer programs are threat- and capture-oriented, they can find good use for the Llama. The Guanaco, however, is a piece that demands planning. It can easily penetrate into the enemy position. But one must think like Capablanca and decide where one should position it. Probably it is better handled by the human brain. So the solution to the Guanaco mystery would be that the computer is too stupid to handle it. The Guanaco's capabilities are, in the middlegame, beyond the horizon. A way of verifying this is to set up practical endgames, (e.g. remove the queen, a rook, a bishop, a knight and a few pawns) and set Guanacos against Llamas. The Guanacos would win against the Llamas in a practical endgame. In this case the Guanaca positioning would be within the horizon of the computer. /Mats
First, I have to apologize for creating confusion: I mixed up pieces, and everywhere in my previous posts where I said Llama, I actually meant Alpaca (Betza WmD). So I have been comparing Alpaca with Guanaco (Betza WmDD). And it is obvious the Guanaca must be the stronger of the two, as it is fully upward compatible with the Alpaca. I did not do any tests wit the Llama (DmW) yet. [I wll probbaly edit my previous posts to correct this error, soon.] About the Lion: you are right, I had nearly forgotten about this peculiar artifact. Now that you reminded me I remember: The Lion seemed to get stronger by deleting some of its backward moves! But this was only when I programmed it as a neutrally moving piece, and could be well understood in this context: if an assymmetric piece moves randomly over the board (i.e. each move is chosen with equal probbility) it tends to gravitate in the direction with the most moves. (Actually towards the center of gravity of its footprint.) So the Lion with fewer backward moves had a net forward drive, which turned out much more important for its impact on the game than a few extra means of retreating. (As it already had so many of those.) But this effect disappeared entirely when I programmed the Lion as a piece that should be centralized. Then both the nomal Lion (FWADN) and the one missing a few backward move got much stronger, but the latter was clearly weaker than the former, as it should. So articacts like this can only have an impact if the original strategy fr using the piece s far from optimum, and not very stable (i.e. easily affected by minor issues.) About the center: Centralization is something different from mobility. (Although the two happen to correlate in practice.) The reasons why it is good to centralize pieces are: 1) Pieces like B can attack the opponent's lines in two places, that he might not be able to simultaneously defend with non-cenralized pieces. 2) Short-range pieces have their worst-case travel time to any place on the board minimized. 3) Pieces for which (1) or (2) do not apply can attack and defend squares in the center to chase away or create safe squares for pieces for which it does. None of these is related to the number of moves of the pieces per se: a Wazir only loses moves (and just a sngle one) at the edge of the board, but it is far better positioned on e4 than on b2. Pawns in the center are important because of (3). I guess the Guanaco should be centralized also because of (3), (with only a single forward direction, (1) does not apply, and because of its rider moves distance (2) plays no role either), which I initially overlooked. Btw, it seems we simply were unlucky: where after 100 games the Guanaco vs. alpaca was only at 48%, after 250 games it had recovered to a 56% lead for the Guanacos. I will let it run to 400 games (2% statistical error). Nevertheless, a 6% advantage for two Guanacos over two Alpacas is not very impressive; it is not even half a Pawn. (I will repeat the test with the f-pawn deleted for the Guanacos, to get a precise interpolation.) So it seems the value difference between a single Guanaco and Alpaca is at most a quarter Pawn.
Hey, HG, can I ask a favor if/when you edit your earlier remark? I'd appreciate it if you add the edit either after or before the comment you are correcting, and leave both. Don't just change the original, so we have context for the following remarks when people go through this topic in the future. [I'd like to see that as a general policy.] Now, as for centralization and mobility, I see what you are saying - there are differences between the two, although in chess, they correlate strongly. Are there situations where they don't? Let's build up to this slowly. I'm interested in establishing some [very] general principles. First, while a wazir on e4 is much better positioned than one on b2, look at the wazir on b4. Is it better-positioned than the one on e2? Both require 2 turns to get to e4, which we will agree, for now, is the 'best' square. However, the piece on b4 is already 2 steps closer to the enemy, and thus much better positioned, no? What's the mean free path of a bishop? Stipulate that it changes during the game, starting at zero in the setup and approaching the length of the side/shortest dimension of the board at game's end. During 'mid-game', the path length would be roughly 3-4 squares, no? On a small board, ie: 8x8, that still means that the bishop, for greatest effect, must be in the center. Suppose the board is bigger? On our 12x16, there's a 6x10 area where, on an empty board, a bishop on any square can travel at least 3 squares in any of its 4 allowed directions. Next, suppose no piece in the game moves more than 3 squares. Now what have you got? A very large game, lots of pieces, all with short range moves - how does this affect the equation? How about having more than 1 goal target? Suppose there are 2 kings per side, not all that near each other. Or more kings. Make it multi-move. On an infinite chessboard, there is no center. - Unless you define it by goal positions, which change as kings move. I'm sure I'm looking at this far too broadly for most people's taste, but who gets anywhere new by following the crowd?
I let Zillions play four games with Alpacas against Guanacos and the Guanacos won by 3½-½. Just as expected if the Guanaco is worth around 3. But it's to few games. However, it could be a program problem. Maybe Zillions is intelligent enough to handle this piece well. In fact, Zillions overestimates it somewhat. So I had to tweak it to a lower value, to somewhat lower than a bishop. Zillions overestimates movability without capture-capability. /Mats
I agree that it is important where the opponent is. If he would huddle with all its pieces in one corner, (and there is no need to defend the back rank in the other corner against promotions), the usefulness of being in the center deminishes. There are some default assumptions here, and one of those is that the opponent's pieces will be stretched out along the entire back rank on his side of the board. In the end-game that assumption might fail. If both sides only have Pawns on the King side (say on f-, g-, and h-file) plus Knights and Bishops, there is absolutely no point being in the center. I would think g4 indeed a better square for a Wazir than e2, because it is closer to g7, and not further from b7. This is only from the point of view of attacking, though; A Wazir can also be useful as a defender, and that might be a reason to keep it on g2 (with Kg1, and Pawns on f2, g3, h2). But that pertains to King Safety, which is yet another, independent evaluation term.
Mats: 'But it's to few games. However, it could be a program problem. Maybe Zillions is intelligent enough to handle this piece well.' Well, 3.5-0.5 is indeed far to few games to conclude anything. It could easily occur in a match between two exactly equal opponents if one of them is slightly lucky (e.g. because his opponent blunders away a single win). I am at 366 games now, and the Guanacas lead by 57% over the Alpacas. When I reach 400 games there, I will delete the f-pawn of the Guanaca side, and see how they do then. (The Alpacas should win then by a similar amount.) Two Knights vs two Guanacos is at about 250 games now, and the Knights lead by 77%. Intelligence is usually not in the vocabulary of Chess programs. It is all brute search power, going through millions of positions with a very simplistic evaluation. (Counting wood or moves.) Especially for a generalist program like Zillions, that has no specific guidelines programmed in for the Guanaco for sure. I don't believe that handling Knights (or Alpacas, for that matter) requires less intelligence than handling Guanacas. I don't believe that Zillions would be any better at handling any specific piece than Fairy-Max. Fairy-Max is only a very simple Chess program, but despite its complete lack of programmed knowledge (except the piece values) it plays surprisingly strong in normal Chess, dominating over many engines that are stuffed with Chess-specific knowledge. Apparently it does not need any knowledge to handle its pieces intelligently enough to win; plain search is good enough, even in the end-game. From what people told me, I don't think Zillions would be a match for Fairy-Max in Chess variants with FIDE-like Pawns that they can both play. I have not tested this myself, of course, as Zillions is commercial software that I don't have. So it is just based on what people that do have Zillions told me. I understand that there is an adapter that allows WinBoard engines to play in the Zillions GUI. Isn't it possible to play Fairy-Max against Zillions automatically, that way? Then we could handicap one of them by time odds until they play equally strong in normall Chess, and then add or substitute Guanacas on both sides, to see if this breaks the equivalence because one side handles the Guanacas 'more intelligently' than the other.
The 2 Guanacas in the end beat the 2 Alpacas by 56.3% in 404 games. I now gave them an additional Pawn odds for a new 400-game run. As predicted from the previous result, the Guanacas seem to be losing that substantially. I stopped the 2 Knights vs 2 Guanacas match after 300 gmes, with the Knights leading by 77.8%. Such an extremely unbalanced result cannot really tell me anything quatitative, So it makes no sense to try to reduce the error from 2.5% to 2%. In stead I started a match of 2 Knights vs 3 Alpacas, where I put the third Alpaca on d2,e2,d7 or e7, advancing the corresponding Pawn by 1 square. e.g. rnbqkbnr/pppppppp/8/8/8/4P3/PPPPAPPP/RABQKBAR w KQkq - 0 1 where A = Alpaca. This seems to go pretty even (but only 20 games so far, so can still easily be anything between 35% and 65%). I remember I did some divergent pieces sometime ago (in particular mNcK, mKcN, mQcN and mNcQ), and I thought I posted the rsults at CVP. But I don't remember where, and I cannot find it. What I recall was that mQcN was 450 and mNcQ 750, when N=325 and Q=950. I never did mQcK and mKcQ, but snce K and N are pretty close in value, one might expect nearly the same. Now R is about half a Q, and W is about half a K, so it does not seem that silly if mRcW would be about half a mQcK, which would be about equal to mQcN = 450. That would put mRcW around 225. Now the Guanaca is very similar to mRcW: its lacks the odd-stride distant non-captures, but as a compensation it jumps, and so it cannot be blocked on these odd-distance squares. So actually something around 225 would seem a quite reasonable value for something like the Guanaco.
It is truly remarkable that the Guanaco is only 0.25 stronger than the Alpaca. But I believe now that it could be correct. It is easy to overestimate movability which lacks capture-capability. Thanks for the investigating job! So I have some tweaking job to do in my Zillions programs, to lower its value. Tip: In Zillions the pawn's value can be increased somewhat by adding yet another rook or queen, etc. to the list of promotion pieces. It doesn't change the rule if it is allowed to promote to 'queen or queen'. I don't understand why you haven't purchased this wonderful software. It's only $20. /Mats
I have now lowered the value of of the Guanaco in my Guanaco Chess, etc. The immediate consequence is that Zillions starts to use it much more actively. I wonder what those scientific piece value algorithms say about its value? However, its value is such that it is really a misfit in the Western piece array, so I am somewhat sceptical about it. The Alpaca is different while Alpaca + pawn = light piece. /Mats
Mats: 'I don't understand why you haven't purchased this wonderful software. It's only $20.' I guess the main point is that I aready have my own programs, which I consider better, and for which I don't have to pay anything. That does not only pertain to playing strength, but also to the things it can do. E.g. automated self play. I suppose there is a reason why you only played 4 games with Zillions to play-test the Guanaca, and turn to me to play a few thousand, in stead of having Zillions do that? Another issue with Zillions is that it does not support a standard interface for playing external opponents. I know there is an adapter that allows WinBoard Chess engines to play in the Zillions GUI. But can the WB engine play againt the native Zillions AI, in that case? Can two native Zillions AIs (such as one of your hand-tuned versions against the standard one) even be played against each other, to optimize the tuning? Does the WinBoard-to-Zillions adapter work for any variant besides normal Chess? In short, based on the information I have, WinBoard + Fairy-Max are far superior to Zillions, and they are free. That Fairy-Max has limitations in the piece types that can be programmed into it through its .ini file could be a problem for non-programmer users that are limited to altering the piece definitions in that .ini file. But it isn't to me: if I would be really interested in a particular piece falling outside the usual parameter range, I would simply add a few lines in the C code of Fairy-Max to make it support such pieces (or special winning conditions). This is what I did to make a Xiangqi version of Fairy-Max (MaxQi), or for implementing the Shatranj baring rule (Shamax). Did you ever download Fairy-Max? That is only $0... On the main topic: Some 'half-time standings': 2 Alpaca + Pawn are leading 65% over 2 Guanaco. (Which is more than I would have expected; usually deleting a Pawn on 8x8 only swings the result by 15-18%). 2 Knights are leading 55% over 3 Alpacas.
I don't know about the Winboard interface, although I have also noted that it exists. But Zillions also have an internal interface for playing between two human players over the net (menu 'Net'). However, I don't know whether it works because I have never tried it.
Thanks for the testing work. It was useful, and I couldn't have done it with Zillions. Nevertheless, Zillions is superior because it is easy to implement chess variants and to publish them. One can publish them freely on the Zillions site. One can easily add new graphics. If the programs are tweaked, they play chess finely. Zillions is so powerful so you can handily create very complicated solutions with little code, such as pieces which can stymie the movement of other pieces, such as in Mongol Grand Chess, or pieces that use geometric proportions to capture enemy pieces, such as in Coordinator Chess. In practice, this cannot be done in Fairy-Max. It is the very ease with which one can create catapults, and very remarkable game properties, that makes Zillions superior to anything else. Lets's conclude that these softwares complement each other, but that Zillions is an indispensable software that cannot really be compared with anything else. This notion of speed of calculation is what people always return to, but I have never been interested in those strong bean counting programs, anyway. They don't play chess, anyway, only sterilely count variants. But with Zillions you can immediately download an immense multitude of chess variants and historical boardgames, such as Chivalry, which was played by such luminaries as /Mats |
Zillions cannot be compared to anything else, because of its amazing geneality. But that does not mean that any particular thing Zillions does cannot be done better by other means. Zillions is basically a programming language, and so it can do anything. But C is also a programming language, and it can also do anything. Although some pieces are too complicated to handle for Fairy-Max at the level of the configuration (.ini) file, because I only provided for true Chess pieces (i.e. moving from one square to another in a translation-invariant pattern, capturing by replacement). Side effects are rare and too specific to generalize them efficiently. So they cannot be implemented by enabling pre-cooked options from the .ini file. But that does not mean I could not handle such pieces if I wanted to. It only means that in such a case I would have to handle them at the C level. Being the author of Fairy-Max, it is very easy for me to add the necessary code to implement peculiar properties at the C level. I would have little difficulty to use pieces like BodyGuard or Coordinator in a Fairy-Max derivative, like I have no problem limiting Kings and Guards to the palace in a Fairy-Max derivative (MaxQi) that plays Xiangqi. It is very questionable if this would take more effort than describing the piece in ZRF. How I would do that, would depend on the case at hand. having to think about it would allow me to choose an efficient implementation. For the BodyGuard I could for instance test all surrounding squares on the presence of an enemy BodyGuard, and abort the ray scan if there is one. that would probably still leave Fairy-Max faster (in searched positions per second) than Zillions, which always has to test for who knows what strange propertis of pieces. But really efficient implementation would add the lines position[piece] = toSquare; position[piece] = fromSquare; if(neighbor[toSquare - position[32 - color + BODYGUARD] + 140]) break; in the code for MakeMove, UnMakeMove and the ray scan of the move generator, respectively, plus an initialized table char neighbor[280] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,1,1 }; Well, big deal, 3 lines of code and a trivial table. I doubt if you have to tell Zillions less than that to implement the stimying effect of a BodyGuard. I don't understand your negativism towards brute-force tree searching; I am sure that this also is exacly how Zillions comes up with its moves. Except that the need to be general slows it down, so that it searches less deep. And that means it plays on the average weaker moves. Deep searching has proven the way to winning Chess. Why you would prefer to have an entity that plays like crap just to be able to say that it was not a 'bean counter' escapes me.
You would have to use C-language, yes. Anyway, Zillions is freeware, too, to a great extent. There are many games for free, and you can construct chess variants, too, and store them as Zillions games. There are many pieces implemented which one can add by right-clicking. The brute tree-search is deadening. Chess is much more fun when plans are used. Zillions sometimes comes up with the plan to move the rook to f6 and then out on the kingside (before his own pawns) in order to make the enemy king nervous. Sometimes it's not good, but it's a plan. ChessBase Fritz has always been a very bad program in this respect. It has only made calculations and is lacki ng in ideas. Zillions suddenly starts a mad pawn storm on the king's side. At least it's a plan, although, by calculation, it is often bad. But it's much more interesting because it's the human style of play. Zillions, of course, has too little of this. If a planning, thinking, chess program would be created, it would revolutionize computer chess. Chessplayers are bored to death about sterile chess programs. /Mats
25 comments displayed
Permalink to the exact comments currently displayed.