Rebel Century is the latest version of the extremely popular and well-respected chess program from Ed Schroder. Rebel is a full-featured, strong IM strength opponent on slower PCís such as a Pentium-133 MHz. On a fast PC, for example, an AMD K6-III 600 MHz computer, there is little doubt that Rebel Century is capable of playing many positions with the ability of a 2600+ ELO player.
Ed Schroder has thought all along that the most important measure of how strong a chess program is should be determined by playing the program against strong human opposition. While the world seemed caught up in measuring a programís playing strength by testing one program against another in exhaustive matches of hundreds of games, Ed has maintained that chess programs are used by people to help further their game and their enjoyment of chess. The result is an opponent that will analyze positions for you with an uncanny accuracy in its evaluation of the position. Rebel has been regarded by many to have the most accurate evaluation of all programs. I can only say that when many annotated GM games say, in the comments, and white has a slight plus, very very frequently, Rebel agrees with the GM opinion!
In order to get games against strong players, Ed Schroder has relied in years past on the Aegon tournament, held annually. This offered a wonderful arena for programmers to test their creations against IMís and GMís at tournament time controls (40 moves in 2 hours). Sadly, this tournament is no longer held.
Ed decided that in order to continue to improve Rebel, more games against GMís were needed. So, he created the Rebel GM Challenge, where GMís compete against the latest version of Rebel (experimental versions typically) to help Ed learn where his program can be improved. The initial game of this challenge was against GM Rohde. Rohde showed just how sophisticated GMís can be. He offered a pawn in exchange for a strong attack. Rebel saw the line winning the pawn, and underestimated the strength of Blackís attack against the White (Rebel) king. Based on this loss, Ed Schroder made some important improvements to Rebelís ability to "smell trouble". This code was included in the next version that faced GM Sorin a month or so later. GM Sorin played a quiet opening line that led to little advantage for either side. The game was, for the most part, a quiet draw. Further games against other GMís are planned at the time of this writing (August 1999), including a rematch against GM Rohde on August 14, 1999.
Enough about the background information of Rebel Century. What is this program all about?
Rebel Century offers the serious chess player many valuable features for improving his/her play, playing chess against a computer opponent that closely matches his/her skill level, very powerful database search capabilities, and some features for just having fun! Many of these features were present in Rebel 10.0 and I will not attempt to discuss these here. I refer the reader to the Rebel website so they can read reviews of Rebel 10.0. The URL is: http://www.rebel.nl/reviews.htm.
So what does Rebel Century offer that is different from Rebel 10.0? Rebel Century offers an exciting array of new features for the computer chess enthusiast and chess player alike:
Letís take a closer look at these new features now. I must warn you that the first item on this list (the ability to customize the Rebel engine) is very flexible. As such, there are quite a few things to discuss on this one topic alone!
Revised chess engine Ė can now be customized by the user to suit his/her preference for playing style. These styles can be selected from the Options menu.
The engine parameters are intended to allow the user to customize the amount of chess knowledge that Rebel uses in evaluating positions. Some may prefer to limit this knowledge in an attempt to either deliberately weaken the program or to speed the program up, allowing it to search even deeper in a given time period. In a very real way, Ed Schroder is letting users decide for themselves whether they prefer an intelligent and somewhat slower (in terms of the number of positions analyzed per second) program or a simpler, dumber opponent that sees more deeply into a position.
The pre-defined styles can be selected from the Options menu (F3 key). From there, use the Personalities option and select from a list of:
Letís clear things up a bit right here. Selecting Gary Kasparov as a personality will NOT make the program play like Gary Kasparov. The same is true for the other personalities, with the exception of Rebel Century. Selecting that one WILL make the program play like Rebel Century (by definition). The personalities are more intended to let you pick a STYLE of player. Kasparov, as most of us know, plays chess that is very dynamic, active, somewhat risky (at times). If you wish to play against this type of opponent, select Gary Kasparov as the Personality you wish to play against. We can all argue about the differences between Kasparovís style of play and the other famous names on the Personality menu, but it should be obvious to most that there are some differences between Kasparov and Karpov, for example, or Karpov and Tal.
Strong Club Player, Average Club Player, and Novice Player are intended to let you win once in a while. These levels feature occasional errors on the part of Rebel. It will not intentionally lose its queen; the errors it will make are more subtle than that. Ed Schroder claims that it will make minor positional mistakes all the way up to losing 2 pawns. This is intended to mimic the play of a club player, hence the name. The Strong Club Player will make more minor mistakes than the Average Club Player. The Novice Player will make many more mistakes (and they will be bigger mistakes as well).
While the pre-defined personalities are interesting, there is much more to explore when it comes to modifying the playing style of Rebel Century. You can create your own personalities and experiment with them. I myself created two personalities that I enjoyed playing against: Karpov (my definition of this player personality is given in Appendix A at the end of this review), and something I called NEW01 (shown in Appendix B at the end of this review). NEW01 is quite an aggressive player, throwing material around somewhat casually at times in an attempt to gain access to your king. There are many ways to achieve this kind of behavior with Rebel Century Ė NEW01 is mine and seems to do so without excessively weakening the programís play, in my informal opinion.
Included with Rebel Century is a separate program that runs under Windows to assist you with creating your own personalities, called RebPersonal.exe. Running this program, you simply click the mouse in the field you wish to change, supply the value you want, and when finished, save it into the appropriate directory with a filename. Then, inside Rebel, you use the "View Text File" option under the "File" menu item to load that personality. The second Beta version of Rebel works this way. There is a chance that the final customer-ready version will have some slight changes to this process.
Note that Ed Schroder is searching for the best settings for his new program. Ed has announced the Rebel Century Engine Contest. The person that submits the settings that result in the strongest play for Rebel Century will win $1000. Second place is $500 and third place is $250. So, get busy and experiment!!
In order to help you experiment with a plan in mind, the following section is a detailed description of each engine parameter:
Engine Parameter Default Value
General note: The minimum value of any parameter is 1 (with the exception of Draw Contempt Factor and Strength of Play). The maximum value of any parameter is 500 (with the exception of Draw Contempt Factor and Strength of Play).
PERSONALITY REBEL Century
This parameter allows you to name your personality. Fred, Killer, Attack_Me are all examples of personality names.
Pawn Value 100
If you increase this value, Rebel will value pawns more. If you decrease it, Rebel will, not surprisingly, value a pawn less. I decrease the value of this when I want to create a personality that will sacrifice pawns more often.
Knight Value 100
If you increase this value, Rebel will value knights more. This affects not just Rebelís knights, but his opponentís as well. Thus, if you make knights more valuable, Rebel will try to preserve his knights more and likewise will seek to capture his opponentís knights more. If you decrease it, Rebel will, not surprisingly, value knights less. I decrease the value of this when I want to create a personality that will sacrifice knights more often.
Bishop Value 100
If you increase this value, Rebel will value bishops more. This affects not just Rebelís bishops, but his opponentís as well. Thus, if you make bishops more valuable, Rebel will try to preserve his bishops more and likewise will seek to capture his opponentís bishops more. If you decrease it, Rebel will, not surprisingly, value bishops less. I decrease the value of this when I want to create a personality that will sacrifice bishops more often. Note that there is a second parameter relating to bishops, discussed below under "Bishop Pair".
Rook Value 100
If you increase this value, Rebel will value rooks more. This affects not just Rebelís rooks, but his opponentís as well. Thus, if you make rooks more valuable, Rebel will try to preserve his rooks more and likewise will seek to capture his opponentís rooks more. If you decrease it, Rebel will, not surprisingly, value rooks less. I decrease the value of this when I want to create a personality that will sacrifice rooks (especially sacrifice the exchange) more often.
Queen Value 100
If you increase this value, Rebel will value queens more. This affects not just Rebelís queens, but his opponentís as well. Thus, if you make queens more valuable, Rebel will try to preserve his queens more and likewise will seek to capture his opponentís queens more. If you decrease it, Rebel will, not surprisingly, value queens less. I decrease the value of this when I want to create a personality that will sacrifice queens more often.
Material Values: General note Ė I have found that decreasing the value of all pieces equally creates an interesting effect. Rebel seems to value positional features of a position more. This can be achieved by increasing other parameters below (Chess Knowledge especially). However, changing material values to a lesser value (for all pieces), achieves a subtly different thing, albeit while slowing the search a bit. Itís all part of the great experiment that Ed Schroder is letting Rebel customers participate in!
King Safety 100
If you increase this value, Rebel will take a special interest in king safety. This definitely applies to Rebelís opponentís king! A value of 150, for example, will tend to make Rebel search more intently for sacrificial attacks against the enemy king position. There are several examples of this on the Rebel website; visit www.rebel.nl and look for the link for the new Rebel Century engine. There you will find 25 positions that highlight the exciting effects that these parameters can have on how Rebel analyzes a position. Several of these positions relate directly to the King Safety parameter. Decreasing the value of this parameter should cause Rebel to look less strongly at king safety. Perhaps you would want to decrease this if you were searching for a weaker opponent to give you some practice at storming an enemy king!
This parameter influences Rebelís evaluation of overall mobility in its positional assessment. If this value is increased, Rebel will value mobility (measured roughly as the number of squares controlled by a given side). Mobility is linked somewhat to the concept of active play, especially for the pieces. Computers are usually strong players in open positions (where mobility is high). Increasing this value will cause Rebel to create these types of positions more often.
Pawn Structure 100
This parameter influences Rebelís evaluation of pawn structure. That is, how important will the placement of pawns on the board be to Rebelís evaluation? Pawn structure includes things such as doubled pawns, isolated pawns, backward pawns, advanced pawns (pawns on the 6th rank are more valuable than those on the 5th, etc.) Users interested in weakening the program should seriously consider decreasing this value. It will provide a weaker program without forcing gross material blunders.
Passed Pawns 100
This parameter affects the importance of passed pawns. Pawn Structure (discussed just previously) considers general aspects of pawn structure. This parameter focuses specifically on passed pawns. Increasing this parameter will tend to make Rebel more aggressive in creating passed pawns; even to the point of sacrificing material to create a passed pawn, even when Rebel cannot see that the pawn will queen. Decreasing this parameter will tend to make Rebel blind to the danger of the enemy passed pawns.
This parameter affects how Rebel analyzes pins. Pins are a very important part of chess from a tactical perspective. Some positions involving pins are quite complex and beyond the ability of Rebel to accurately analyze in a short period of time. Increasing this value will make Rebel study positions with pins more closely. This can greatly improve the humanness of Rebelís play Ė some pins are easily seen by humans as decisive, while many programs cannot see this without a very long search time. Increasing this value will make Rebel more aware of the power (or lack thereof!) of pins. Decrease this value to make Rebel pay less attention to pins Ė handy for users wishing to weaken Rebel so they can pound on it!
Bishop Pair 100
It is well known in chess that the player with the bishop pair can, in the right situation, have a sizeable advantage. This parameter tells Rebel how important the bishop pair should be. Increasing it will make it more important to Rebel to possess the bishop pair (or likewise, prevent the enemy from getting the bishop pair). Decreasing this value will influence Rebel to casually give away the bishop pair. The first time Rebel has an option to trade a bishop for an enemy knight, the Bishop Pair parameter will have some effect. If this trade occurs, and Rebel has only one bishop, the second time a bishop-for-knight trade could happen, Rebel will shy away from it; based on the value of this parameter. I have watched this several times in games. Like all of the parameters here, they can have a major influence on how Rebel plays!
Chess Knowledge 100
This parameter is a big one. It has a major impact on Rebelís play. Increasing this parameter will cause Rebel to use more pre-programmed chess knowledge as it evaluates positions. This means a more accurate positional analysis is performed. It also means that the search will take longer to reach a given search depth.
As we all know, chess is a wonderful mixture of positional knowledge and tactics. Tactics can be overlooked by a chess program if the search performed is not deep enough to discover the tactic(s). Thus, we have the classic "you cannot get something for nothing". The good news, from my perspective, is that Rebel is already an accomplished tactician. While it may sometimes overlook tactics that other programs may spot, when playing against humans, Rebelís tactical ability is very good. Unless you are an IM or stronger, look for Rebel to tactically pound you with its default settings.
So, this means that ordinary mortals can have Rebel increase its positional understanding by increasing Chess Knowledge. This is a great help to patzers like myself who need a helping hand from Rebel in understanding what is happening in a given position. What features are more important than others? Increasing Rebelís chess knowledge can help it provide you with a clearer answer to this question.
Decreasing the value of this parameter will cause Rebel to search more deeply into the position. This happens because Rebel executes less code to analyze a position. While this will make Rebel "dumber", it will allow it to, perhaps, discover tactics that were too deep to be discovered when extra chess knowledge was included in the evaluation.
With computers getting faster and faster every year, those who have purchased very fast machines may want to experiment with increasing Rebelís chess knowledge. Doubling the value of this parameter (setting it to 200) causes a slowdown of about 20-40%, but with superfast CPUs, this may not be much of a problem at all. Experiment!
Note that there is a way to attempt (key word here!) to have both positional knowledge and tactical supremacy. Chess Knowledge is the parameter for positional knowledge. Search Technique (discussed below) is a way to try to
improve Rebelís tactical ability by spotting certain tactics sooner in the search. It does not always work as intended, but in general it is quite successful!
This parameter is a bit difficult to discuss. Ed Schroder says that increasing this parameter will result in "spectacular play" by Rebel. Exactly what is spectacular play? Itís hard to define. I can say that increasing this value tends to make Rebel play attractive chess (i.e. not boring). Additionally, values above 100 will cause Rebel to invoke some of its special King Safety code that was added as result of the GM Rohde game. This is a very fun parameter to experiment with. Rebel gets VERY aggressive when this value it increased. Users wanting a tame opponent that does not "go after them", will want to experiment with setting this value to something well below 100.
This parameter tells Rebel how much it should favor tactical positions. Values above 100 will cause Rebel to actively try to create positions where lots of captures, pins, forks, discovered checks, etc are present. These are precisely the types of positions that computers tend to out-compute their human opponents! Decreasing this value will cause Rebel to favor tactically quiet positions.
Strength of Play 100
This value can range from 1 to 100, unlike many other parameters which can range from 1 to 500. At 100, Rebel plays full-strength; as hard as it can. Decreasing this value will result in weaker play. The Club player, for example, has a strength of play set to 25 (and a chess knowledge set to 10!)
Draw Contempt Factor 0.00 (Range: -1.00 through to 1.50)
This parameter tells Rebel how hard to avoid a draw. If the value is negative, Rebel will "show contempt" for its opponent, and even make moves that are somewhat less than best in an attempt to steer the game away from a draw.
Setting this parameter to 1.50 on the other hand, will make Rebel try very hard for a draw, even giving up material (1.5 pawns worth) to achieve a drawing position! Setting a positive value here would only reasonably occur when Rebel is playing against a GM, in my opinion; or in a tournament situation where Rebel needs only a draw to secure first place!
Selective Search 100
Chess is a very complex game for a computer. [Hey, what about for us humans!] The vast number of positions that must be analyzed is so huge that even the worldís fastest computers must search selectively (only some positions are selected for evaluation; others are discarded). Sometimes, programs discard a given position, when in fact, something important was present. The result is a blindness and the program makes a weaker move. Selective Search is a parameter that affects how selective Rebel is in searching through positions as it analyzes. The more selective Rebel is, the greater the risk that Rebel will overlook something as it searches.
Increasing this value will result in a faster search, but at the risk of having Rebel overlook something important. Decreasing this value will result in a slower search, but there will be a lesser chance that Rebel will miss something important.
Search Technique NORMAL
Just as there are many ways to get from London to Amsterdam, so it is with search algorithms in chess programs. This parameter allows the user to select the search algorithm (process) used by Rebel. NORMAL is the default. NORMAL is also very good. However, other options allow for great variety in Rebelís play.
RISKY produces a faster search with a slight chance that Rebel will overlook something. Ed Schroder says that overall the risk is small and RISKY is a good setting as well for Rebel.
OVERNIGHT is a search technique specially developed for humans who want to let the computer "think" all night. Previously, Rebel and other programs would effectively stop getting deeper after somewhere around 15-20 minutes of search time. The hash tables (memory used by chess programs to store previously analyzed positions) became full and progress all but stopped. OVERNIGHT is a special search technique that changes the way the hash tables are used, thereby giving a much greater search depth during an overnight analysis.
DEEP is a technique that attempts to discover deeply hidden tactics sooner. It uses "search extensions" to extend the search in certain situations. Usually, these extensions get to the tactical heart of the position, revealing to Rebel that certain tactics exist. Sometimes, these extensions yield nothing, and yet cost some valuable time to execute. In these situations, DEEP and its relatives DEEPER and DEEPEST hurt the strength of Rebel. This is very rare, at least for DEEP (in my experience).
DEEP, DEEPER, and DEEPEST are all related. Each attempts to discover tactics sooner. DEEPER tries harder than DEEP. DEEPEST tries even harder than DEEPER. There is a cost here though. DEEP searches more slowly than NORMAL, requiring more time to reach the same search depth. DEEPER searches more slowly than DEEP, and DEEPEST searches slower than even DEEPER.
I mentioned in the Chess Knowledge section that Chess Knowledge and Search Technique were an attempt to allow Rebel to player positionally stronger chess while not missing deep tactics. It works well, but nothing is perfect. Sometimes, the DEEP option (which I use almost exclusively Ė it really works VERY well) will slow the search down just enough to prevent Rebel from having time to search one more ply. The result is that it may sometimes (rarely in my experience) miss a tactic that NORMAL would have found. My recommendation for this parameter: set this to DEEP!
I mentioned that the section above reviewing all of the engine tuning parameters was a long one; I wasnít joking! Now we are on to other features of Rebel Century. The Club Player Option is intended to give the human opponent a chance to win without having Rebel throwing away material in an unrealistic manner. Rebel will attempt to play more like a club player, occasionally overlooking things, making mistakes in judgement (positionally), etc.
Rebel will now automatically store its thinking processes in a log file. This is a text file that you can view separately. It shows the position, and the search as it progressed. You can see what Rebel would have played after the first ply, second ply, etc. Also stored is the best line of play for the given search depth, the time required to reach that depth, Rebelís score for that line of play, etc. You have the option to have Rebel store this info for every position reached in the game, or just the most recent position.
As with Rebel 10.0, users can set the approximate ELO they want Rebel to play at. In Rebel 10.0 however, you could set this value to 1300 and then play against an opponent that knew more opening theory than many Grandmasters! Now, Rebel decreases the size of its opening book if the ELO value is less than 2200 (a FIDE Master).
Rebelís opening book has been improved. It has been updated to reflect recent changes in opening theory. This is an important part of a chess program as users rely on the opening book of their chess program to contain the latest trends in opening theory. The Rebel website is a valuable tool for the Rebel user to obtain updates to the Rebel opening book and collections of high quality GM games for Rebelís database.
Rebel 10.0 introduced the EOC (Encyclopedia of Chess). This cutting-edge technology was intended to allow Rebel to make use of massive game collections available these days. The setting STRONG and ACTIVE have been improved in Rebel Century. There is less danger in using these settings with Rebel Century. Rebel Century is better at spotting poor moves present in the GM games that make up the EOC. Also, the BOOK option allows you to let Rebel use the entire EOC as a huge opening book. Rebel Century will randomly play lines from this book, improving the variety of play and decreasing the chance that it will repeatedly follow a poor line. I refer the reader to the Rebel website for Rebel 10.0 reviews that spent a lot of time discussing this important feature. Visit http://www.rebel.nl/reviews.htm for more information on this topic.
Rebel Century is a major step forward in the evolution of Rebel. Prior versions of Rebel gave you a very solid program with a trusted evaluation that won respect from many strong players with computer chess backgrounds. This improved Rebel offers you all of that, including the very sophisticated database functions from Rebel 10.0, and adds a whole new dimension to the computer chess experience Ė the ability to create a chess partner that can play in a style that you choose and at a strength that will offer you a chance in games against Rebel. This keeps the whole experience fresh for the user. I own several chess programs, but I very rarely use the others Ė they are simply not as interesting to play against as Rebel. The new personalities offer a whole new way to increase your enjoyment of computer chess! While this program is not yet ported to Windows, Rebel Century runs from within Windows 95 or 98 and runs well. The process of porting Rebel Century to Windows is underway, but that should not prevent you from purchasing Rebel Century. The feature set offered with Rebel Century warrants its purchase now.
Appendix A : Karpov Personality
(as defined by me; may not be the one used for the final version of this product!)
[PERSONALITY: Karpov] * range 1 - 500 (default = 100) [Pawn Value = 50] * 200 -> will double its value [Knight Value = 50] * 50 -> will divide its value by 2 [Bishop Value = 50] * 105 -> will slightly increase [Rook Value = 50] [Queen Value = 50] [King Safety = 100] * increase/decrease King Safety [Mobility = 110] * increase/decrease Mobility [Pawn Structure = 130] * increase/decrease Pawn Structure [Passed Pawns = 130] * increase/decrease Passed Pawns [Pins = 130] * increase/decrease Pins [Bishop Pair = 120] * increase/decrease Bishop Pair [Chess Knowledge = 250] * Chess Knowledge above 100 will result in more accurate positional play but a lower search depth. Chess Knowledge below 100 will result in less accurate positional play but a higher search depth. [Attractiveness = 100] * increase/decrease Attractiveness Attractiveness above 100 will result in spectacular play. Attractiveness below 100 will result in boring play. [Attacking = 100] * Attacking above 100 will result in tactical positions on the board. Attacking below 100 will do the opposite (avoid tactics) [Strength of Play = 100] * REBEL's strength (range 1-100) [Draw Contempt Factor = -0.25] * Possibilities: -1.00 -0.50 -0.25 0.00 0.25 0.50 1.00 1.50 [Selective Search = 100] * increase/decrease Selection Selective Search above 100 will result faster search by aggressive pruning techniques. Selective Search below 100 will result in a slower search but search is more reliable. [Search Technique = DEEP] * modify REBEL'S way of search NORMAL (default setting) RISKY (faster search) OVERNIGHT (overnight analysis) DEEP (deep extensions) DEEPER (deeper extensions) DEEPEST (deepest extensions)