New features in Zarkov 2.60

1. Stronger than Zarkov 2.50.
2. New, positional based opening book.
3. Easier to create and modify opening books.
4. Larger transposition table (8K positions).
5. Rate your play feature.
6. Beginner, Novice, Intermediate, Expert, and Master playing strengths.
7. Balanced, Cautious, and Aggressive playing styles.
8. Analyze Game -- allows multiple candidates at each position.


SEARCH STRATEGY  (page 35)

The option to select Full-Width search or Speculative search has
been eliminated due to a modification to the search algorithm.
Zarkov now employs a more selective search than previous versions
which allows it to analyze more deeply in a given amount of time.


OPENING BOOK  (pages 24,25 and 39-44)

Zarkov 2.6 now uses a positional based opening book.  Each
position in the book has a score associated with it.  When
playing a game, before computing it's move Zarkov checks each of
the legal moves to see if it reaches a book position. If multiple
candidates exist, Zarkov gives priority based on the positional
score. Each position in the opening book requires 6 bytes of memory.
The maximum opening book size that can be used is determined by the
amount of memory available in your machine after loading
Zarkov.  Up to 1000 new moves can be added during a session without
exiting and restarting the program.

It is very easy to view the candidate moves at any position, modify
the score for a move, add a new move, delete a move, or play a
move from the candidate list. 
 
The 'buz' utility has been modified to allow using the BOOKUP
rate codes for each position to be used by Zarkov.

The BOOK menu now has the following selections:

  TOGGLE ON/OFF
  SELECT BOOK
  BOOK VARIETY
  ADD VARIATION
  CANDIDATES
  
Toggling the Opening Book

  This works the same as described in the manual on page 24.

Select Book  ('newbook')

  This option allows you to change the current opening book.
  You will be prompted for the name of an opening book file
  to use. If you enter the name of a file which does not exist,
  Zarkov will create a new opening book with that name.
  It is advisable to use the *.bk extension for opening book
  files -- for example you might type "user.bk" to create a new
  book for yourself.  Note that the opening book is kept in
  memory and if any changes were made it is saved when you exit
  the program .

Book Variety  ('rand')

  This option allows you to adjust the randomness with which
  Zarkov will select moves from the currently selected opening
  library.  The default value is 30.  Entering a larger value
  such as 50, will cause Zarkov to play a wider variety of moves
  from it's book.  A smaller value such as 10 will cause to play
  it's favorite moves most of the time.
  
Add Variation  ('bk')

  Selecting this option causes Zarkov to add all the moves of
  the current variation to the opening book.  Each move which
  is not already in the book will recieve a score of zero.
  
Candidates   (F4 or 'peek')

  This option will bring up a window containing all the candidate
  moves available for the current position along with the score
  for that move. Moves with higher scores will be played more
  frequently by Zarkov.

  Clicking the mouse on a move or using the cursor keys and hitting
  the ENTER key allows you to change the score for a candidate
  move.  Entering a score greater than 126 or less than -126
  will cause the move to be deleted from the book.  Selecting
  the blank line at the bottom of the window allows you to add
  a new move.  This new feature makes it easy to adjust the ordering
  of candidate moves or add new moves that you would like the program
  to play.
  
  Hitting the SPACEBAR key when the candidates move is active will
  cause Zarkov to play the currently highlited move.
  
  Hitting the ESC key or clicking the right mouse button will remove
  the Candidates window.
  

ZARKOV's Standard Openings

Unless given a command line option to specify another opening
book, Zarkov will load the file "zarkov.bk" which contains the
standard opening book.  This library contains over 12,000 unique
positions with an emphasis on variety rather than on depth.

If you prefer not to load an opening book at startup use the command

  zarkov /b   (press Enter)
  
If you want to load the file "mybook.bk" at startup use the command

  zarkov -b mybook.bk  (press Enter)
  
During a game you can modify the way Zarkov uses the book as explained
above.

  
Supplementing ZARKOV's Openings

You can modify the standard opening book "zarkov.bk" by bringing up
the Candidates window from the BOOK menu or by using the F4 key or
typing "peek" as described above.  When you exit Zarkov, any book
changes will be saved.

You can also use the "Select Book" option to enter the name of
your own opening library and then use the Candidates window to
add moves to this book.

If you want Zarkov to score positions in an opening book, you can
do this with the '-s' command line options as follows:

  zarkov -s mybook.bk -t 15       Perform a 15 second search on each
                                  position in 'mybook.bk' which currently
                                  is unscored (has a score of 0).
                                      
  zarkov -so mybook.bk -t 30      Set the scores for each position in
                                  'mybook.bk' to 0 and begin scoring
                                  each position with a 30 second search
                                  time.

NOTE: This may take a long time if you have a large opening book
      to score.  You can break the scoring routine by hitting the
      ESC key.  To resume scoring at a later time, just use the
      '-s' command again.
      
After scoring each position in the book you can have Zarkov adjust
that score based on the scores of "deeper" book positions as follows:

  zarkov -sx mybook.bk            Average the current score for each
                                  position with that of the position
                                  arising from the best candidate move.

This allows Zarkov to make use of the knowledge of "future" book
positions to improve it's evaluation for a given position.  It seems
best to apply this procedure about 2 or 3 times.

You can write out a file containing the variations in an opening
book using the '-w' command line option as follows:

  zarkov -w mybook.bk            Create a file called 'mybook.opn'
                                 containing all the moves in
                                 mybook.bk, a backup of the old
                                 mybook.bk if any is saved in
                                 mybook.bak
  
You can read in an ascii "*.opn" file and convert it to "*.bk" format
using the '-r' option. For example,
   zarkov -r mybook
will create a file called "mybook.bk" which can be used by Zarkov.

You can merge two or more ".opn" files as follows:

  0. type->    copy book1.opn tmp.opn
  1. type->    zarkov -r tmp.opn
  2. type->    copy book2.opn tmp.opn
  3. type->    zarkov -r tmp.opn
  4. type->    copy book3.opn tmp.opn
  5. type->    zarkov -r tmp.opn
  6. type->    copy tmp.opn newbook.opn

When manually scoring or modifying candidate moves use the
following guidelines (assuming that book randomness is set
to the default value of 30).
        
If a candidate move has a score more than 30 points worse
than the best candidate it will never be chosen. If a
move has a score 10 points worse than the best candidate
and there are only 2 candidates, it will be chosen about
25 percent of the time.  Therefore, at any position,
playable candidate moves should lie within a score range
of about 20 points.  If Zarkov has been used to generate
scores for candidate moves, the scores may exhibit a 
larger range than this and it would be wise to review
and modify the scores where necessary.



Using Zarkov with BOOKUP

A separate utility called 'buz.exe' allows you to convert a
BOOKUP database into an opening library for ZARKOV.

Suppose you have a BOOKUP database called 'french' which contains
rate codes or numeric scores for positions which favor one
side or the other. You must first convert the data base into an
ascii file containing variations by typing:

  buz french  (Press Enter)
  
You now have an ascii text file containing all the variations
found in the "french" BOOKUP database.

Move this file into the ZARKOV directory.  To convert this
file into a positional based opening book for Zarkov, type:

  zarkov -r french.opn
  
Zarkov will read in each of the moves, along with the rate
codes to create an opening book called "french.bk".

If the BOOKUP database does not contain many rate codes at
each position, you can have Zarkov generate rate codes for
each position in the database by typing:

  zarkov -a \bookup7\french -t 15
  
Zarkov will spend 15 seconds on each unrated position in the
BOOKUP database.  Then the 'buz' utility can be used as
explained above to generate an opening book for Zarkov.

Another way to create an opening book from a BOOKUP database
is to first use Zarkov to score all the terminal nodes of variations
(called leaf nodes), and then use the 'buz' utility to create
a file with scores for each variation rather than for each position.
This file can be sorted based on variation score and also on
popularity using the 'sortbook' utility.  The file containing
sorted variations can then be converted into an opening book
for Zarkov.  The procedure for doing this is summarized here:

  zarkov -al \bookup7\french -t 30        Score each leaf node for
                                          30 seconds.
                                          
  buz -o french                           Create an ascii text file called
                                          french.opn with scores for each
                                          variation rather than for each
                                          move.
                                          
  sortbook french.opn                     Sort the file 'french.opn'
  
  zarkov -r french.opn                    Convert the file into an
                                          opening book for Zarkov.

When this method is employed, Zarkov sets the scores for each position
so as to retain the ordering of the candidate moves that exists in the
file "french.opn".  Zarkov uses the score of the best variation 
leading from a given position as a base score.  Note that it
is important to include variations which pretty much contain best
play for both sides so that the terminal scores are reasonably
accurate for each move along the variation.



NEW FEATURES

  RESIGN     The 'resign' command has been added.  This command
             will end the game and allow you to store the game as
             a "rated" game.
  
  
  RATING     The 'rating' command causes ZARKOV to display the rating
             of the opponent based on games played against the various
             levels of ZARKOV.
          
  STRENGTH   The 'strength' command allows you to select between
             BEGINNER, NOVICE, INTERMEDIATE, EXPERT, and ADVANCED
             levels.  This command is also accessable via the
             SETTINGS menu.
             
  STYLE      The 'style' command allows you to select between the
             BALANCED, AGGRESSIVE, and CAUTIOUS playing styles.
             
  ADJ        Adjudicate a game.
  
