Frenzee feb08 - by Sune Fischer
Release date: february 6th 2008

=================================================================
What is Frenzee?

  Frenzee is a Fischer-Random-Chess engine.

=================================================================
How do I play a game?

  Frenzee supports the WBII protocol.
  You must install Frenzee a WB engine in either Winboard or Arena.

  If you want to use the Fritz interface, you can get Frenzee to 
  play through an adapter. 
  Be aware that this is not an ideal situation, for instance the 
  book learning and contempt factor will not be working.

=================================================================
How do I achieve maximum strength?

  Open the frenzee.ini file and set:

    'memory' as high as possible (4.2 GB is maximum though)
    'egtb_path' to point to your Nalimov bases (3,4,5,6 men supported)
    'book_learning' to yes (default)
    'search_with_nullmove' to yes (default)
    'pv_egtb_extract' to no (default)

  Technical note on 'memory':
    Frenzee uses power of two table sizes, so it cannot utilize
    just any given number optimally. It will try and round down
    to something that fits. Here is a table to give you some idea:

     memory (actual usage)
      16     (10 MB)
      24     (18 MB)
      32     (30 MB)
      64     (55 MB)
      128   (108 MB)
      256   (206 MB)
      512   (411 MB)

    For instance, if you set memory = 64 it will only use 55 MBs of memory.

    One other thing is worth noting about the memory, generally more is better
    but any system has its limit. Never try and use more than you have in 
    your machine, it will result in swapping and very poor performance. 

    If you have 512 MB RAM I would not recommend going higher than 200 MB
    hash, 400 MB simply wouldn't leave much left for the operating system and
    egtb cache. 

    Also, more is not always better. If you play very fast bullet games it should not
    matter if you use 60 MB or 200 MB. You should however see a difference if you run 
    analysis for many hours or use very slow time controls on very fast machines, 
    then the hash load can be enormous and more memory can really speed things up.

  Technical note on 'egtb_cache':
    The table bases will use some additional memory for indices regardless
    of the value of cache you give it. 
    Expect about 24 MB extra on top of everything else for 5-men tables, the 
    full 6-men tables require roughly 3 GB of memory just for the indices!

    Note that table bases are generally not very important for the
    playing strength of the engine, as they can only used very late in the
    endgame where the game is usually already decided.
 
    It would be quite silly to give, say, 256 MB cache for egtbs and 
    then only 64 MB for the hash. In general I would recommend using
    at least 8 times as much memory for the hash as for the egtb cache.

=================================================================
What about Frenzee for Linux and Pocket PC?

  Very low on my list of priorities (somewhere near the bottom), 
  so don't hold your breath.

=================================================================
Has SMP support been removed?

  Yes, I may decide to keep the deep versions private in the future.
  Scaling beyound 2 CPUs was rediculously poor anyway.

=================================================================
Changes:

FDec07 -> FFeb08
  Work has been made on the eval. And no, it's not material tables ;)
 
FMay07 -> FDec07
  Minor improvements to search and a few eval tweaks.
  Support for 6-men tables in both 32 and 64 bit.

DF3.0 -> FMay07
  Usual improvements to search and some eval tweaks.

DF2.0 -> DF3.0
  Improvments to pruning and hashing. 
  Added a 64 bit build - untested though!

DF1.1 -> DF2.0
  Added pruning, so it will search a lot deeper now in the main variations
  at the risk however of overlooking something not so obvious. 

  Fixed a bug in book learning, in some cases it would learn 
  how to lose instead of how to win.

  Disabled UCI for game play, as this wasn't really working too
  my satisfaction.

DF1.0 -> DF1.1
  Polling for input in SMP mode improved, to avoid timelosses and
  "hangs".

  Pondering in UCI disabled. UCI pondering doesn't fit in with
  Frenzee's WB way of doing it. There is no good way to fix it in 
  UCI, so better disable it than make a dumbed down implementation.

  Fixed a dumb bug related to initializing a search.

F300 -> DF1.0
  No real changes other than a simple SMP implementation.  

=================================================================
Reporting Bugs:

 If you experience any bugs, please drop me an email.
 I don't spend much time reading the NG and message boards any 
 more, so unless I get an email I will assume everything is 
 working ok :)

 Most of my own testing is done in winboard, if you are using
 a different interface there may be some bugs I'm not aware of.
 
=========================================================

I owe thanks to the some of the writers of the open source programs.
Their codes and discussions at CCC and the winboard forum
has been a major source of inspiration and factor of motivation. 

The list is huge, but to mention a few...:

Robert Hyatt, Colin Frayn, Dann Corbit,
Tord Romstad, Sergei Markoff, Stuart Cracraft,
Dusan Dobes, Thorsten Greiner, John Dart, Bruce Moreland,
Gerd Isenberg, Vincent Diepeveen...

Really, anyone who has discussed their ideas publicly 
deserve mentioning - you known who you are, so thanks to you guys!

And a big thanks to Eugene Nalimov for letting me use
his endgame tables.

=========================================================

To all the testers in the community - you don't get 
enough credit! Without you guys there wouldn't be a
Frenzee engine at all, so thanks to all of you for your
interest.

=========================================================

Shine on,
Sune Fischer
email: deepfrenzee at yahoo dot dk
www.computerskak.dk

Have fun & luck 2ya :)
-S.