Learning Methods

Pro Deo and REBEL practices with 4 different types of learning algorithms, these are:
  • The Book Learner.
  • The Position Learner.
  • The Extended Book Learner.
  • The Engine Learner.
All these 4 learning algorithms can be activated, turned off, or tuned in Pro Deo's flexible engine concept using the Personality technique. For instance the Pro Deo default personality (rebel.eng) contains the following 4 settings:

[Book Learner = aggressive]     * off|passive|moderate|strong|aggressive
[Position Learner = on]         * off|on
[Extended Book Learner = off]   * off|read|write|read&write
[Engine Learner = off]          * off|on

We will now discuss them one by one, all 4 algorithms work independent from each other and can be mixed.



Pro Deo and Book Learning

The main goal of the so-called "learning algorithms" is to avoid the program to repeat its mistakes, a second goal is to recognize its own strong points and guide the engine into positions (games) it does well.

Pro Deo's opening book is broad, it might play opening lines which it doesn't understand quite well, a Book-Learning algorithm is going to help the engine to play the lines it understands and plays well. In time the program will perform better and better.

The Book-Learner algorithm has 5 tunable options (off | passive | moderate | strong | aggressive), currently it is set to "Aggressive" which means it will not play opening moves that have a bad history so easily a second time, it will also try to repeat opening lines it has a good record. "Passive" on the other hand tends to take it easy and so now and then will try the opening again even if it has a bad record and it will not try to repeat opening lines with a good history.



Pro Deo and Position Learning

Another tool that will greatly help the engine to perform better is Position-Learning. Pro Deo will recognize games it has lost and when faced a second (third, fourth etc.) time it will adapt its playing style until it has found new and good settings for the type of opening it is playing, or is forced to play.

This all goes automatically and is not visible for you the user (or opponent). Its orginal loaded personality is automatically reset the moment the game has ended, either by a new-game command, loading a new position or game or on exit program.



Pro Deo and Extended Book Learning

The Extended-Book-Learner is a new development comparable to the CAT approach, only better.

When the algorithm is set to read&write Pro Deo will remember everything (games and/or positions) it has calculated before and either play the best move instantly or use the information for a faster and deeper search. You can watch its behaviour in the engine:learn window. A couple of typical characteristics of the algorithm:

  • When a position has been calculated before and has used (say) 30 seconds for that calculation it can play the best move instantly when it is playing on a blitz-level of (say) 4-5 seconds average. The advantage is clear, firstly it saves time and secondly the quality of the move is based on a much deeper calculation, thus better.

  • When a position has been calculated before and the game went well for Pro Deo it will play the best move instantly, in a way the algorithm tends to behave as an opening-book, hence the name of the algorithm.

  • When a position has been calculated before and the game went bad for Pro Deo the algorithm still can use the previous information. Pro Deo typically is able to search one ply deeper in these situations thus the quality will be better.

  • Last, the algorithm is handy for position solving as it instantly remembers the key-move of positions.
The only reason the algorithm is set to OFF in the default setting is the lack of sufficient testing, something that will be done in the near future.



Pro Deo and Engine Learning

Engine-Learning also is something new, its thought behind comes from observations and experiences with computer-computer games (matches) but of course its principles are also valid for normal human-computer play. The observation is that every opponent (human or computer) has its own playing style and that certain types of playing styles can be bad for Pro Deo.

The idea behind Engine-Learning is to escape from this, that the engine must have a way out. The way out in this case is to switch to another pre-defined engine using the personality technique.

As a result in the hypothetical case when things go bad for Pro Deo it will automatically switch to "rebel1.eng", thereafter to "rebel2.eng", "rebel3.eng" and finally to "rebel4.eng" from where the cycle starts again to Pro Deo's default settings (rebel.eng).

The algorithm is considered as a powerful learning system provided 4 strong alternative personalities with different playing styles are present in the engine files rebel1.eng - rebel4.eng.

Unfortunately we haven't found the time yet to create 4 alternative engines, the delivered rebel1-rebel4 engine files are only present to have a working system so that you are able to make your own experiments. Needless to say the (half-ready) algorithm is set to OFF in the default setting.

Copyright © 1984 - Ed Schröder
Mail Me