home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR2
/
CBUFF09.ZIP
/
DOX.ZIP
/
NOTES
< prev
next >
Wrap
Text File
|
1993-11-16
|
6KB
|
219 lines
Release Notes CBUFF 0.9.0
Anjo Anjewierden (anjo@swi.psy.uva.nl)
November 15, 1993
Below are the release notes for CBUFF 0.9. I will have little time
available until the end of the year to develop CBUFF further. Most of the
utilities have already existed for quite a while and I therefore suggest
that they have entered the status of an "alpha-release".
The utilities have been tested extensively under Unix (compiled with GCC
2.4.5). I leave the testing on other platforms to you. I'm also looking
for those who can compile CBUFF on Amiga, Macintosh and MS-DOS (other than
Borland C++). The public distribution will contain binaries for the Atari
ST.
The documentation is nearly complete.
New utility:
============
There is a new utility: "cunames". This utility prints a frequency count
of the players and the source of the games in a database. The intention of
"cunames" is to spot incorrect player and source names.
At the moment "cunames" can generate the following information:
-names file
Names of the players (Black and White).
-place file
Place where the game was played.
-players file
Entire players field.
-source file
Entire source field.
The top-10 of applying "cunames" to a large database results in:
cunames -names
2466 Tal,M
1258 Timman,J
1030 Karpov,An
824 Kasparov,G
802 Korchnoi,V
722 Nunn,J
684 Portisch,L
672 Uhlmann,W
664 Hort,V
634 Spassky,B
cunames -place
5794 corr
4009 cr
3718 Moskva
3718 Budapest
3558 Bratislava
3446 BRD tt
3378 New York
3341 London
2903 Duisburg
2664 Manila
cunames -players
74 Kasparov,G-Karpov,An
74 Karpov,An-Kasparov,G
42 Neumann,G-Anderssen,A
42 De la Bourdonnais,Louis-MacDonnell,Alexander
41 MacDonnell,Alexander-De la Bourdonnais,Louis
34 Anderssen,A-Neumann,G
33 Karpov,An-Timman,J
28 Karpov,An-Korchnoi,V
27 Timman,J-Karpov,An
27 Short,N-Timman,J
cunames -source
2667 cr
1302 BRD tt
1124 Sverige
781 USSR
668 London
659 Hastings
653 Moskva
624 corr
605 Karlsbad
571 Hamburg GER-chJI U20
Many players appear more than once under different names. Kasparov
appears as:
824 Kasparov,G
64 Kasparov,Gary
40 Kasparov,Garry
6 Kasparov,Garri
4 Gary Kasparov
2 Kasparov
and Karpov appears as:
1030 Karpov,An
164 Karpov,Anatoly
118 Karpov,A
16 Karpov,Anatoli
8 Anatoly Karpov
2 Karpov
The total number of player names is 32706 (including duplicates such as
those mentioned above). The total size of the database is 192649 games,
such that the average per different player is about 11.8 games. Note
that the total player count would fit within 16 bits, this presents an
opportunity to improve the space efficiency of "cusort" further.
Player names:
============
In order for "cunames" to work a number of changes have been made to the
way player names are extracted from the "players" field of a game. If the
players field contains more than one hyphen, it is compared against a list
of known player names that include a hyphen (e.g. "Jan-Hein", "Lars-Bo",
etc.). If there is a match then the hyphen is replaced by a space and once
again the names of White and Black are extracted. Finally, the function
"normalisePlayer" is used to remove leading and trailing spaces, brackets
and so forth. This is implemented as part of "getWhiteGame()" and
"getBlackGame()" and therefore applies to all utilities that use these
functions.
Place names:
===========
The function "getPlaceGame()" can be used to extract the place from a game.
This function uses a number of heuristics. The main heuristic is that the
place is the first word of the players field. There are obviously various
exceptions (e.g. New York, Wijk aan Zee), these are stored in the file
"places.def" and "getPlaceGame()" will load this file.
Sorting:
=======
Thanks to Urban Koistinen the "cusort" utility has been improved. Urban's
algorithm is (much) more space efficient than my old one was. I have been
able to sort a 11000 game database under DOS. "cusort" reports the
amount of memory available, so you can experiment. The C compiler still
generates a number of "sign-mismatches", I will work this out later.
CBUFF directory:
===============
In DOS and Unix you can specify a CBUFF directory. CBUFF will read the
standard files (e.g. "ascii.sym") from this directory if they don't appear
in the current working directory. The same applies to files specified with
the "-insert" or "-symbols" option.
In DOS say (do not forget the trailing "\")
set CBUFFDIR C:\CBUFF\
In Unix say (do not forget the trailing "/")
setenv CBUFFDIR "~/CBUFF/"
Make sure to copy the relevant files to the directory you mention.
Bugs fixed:
==========
* "culist" would generate an error message for games for which
no Result was available.
* "culist" could crash on a game with errors.
* Memory exhaustion in "cusort" printed properly.
* The -append option would remove the last game of a database and make
it appear that the first game of the appended database appeared twice.
Enhancements:
============
* "cusort" can handle bigger databases under DOS. If "cusort" cannot
obtain the name of White it will use the entire player field instead.
* "cuverify" contains additional options to control what aspect of
a database is being verified (see -help of "cuverify for details).
Brief summary of new options:
cuverify <db> To find errors in header and moves
cuverify -nomoves <db> To find errors in header only
cuverify -noverify -index <db> To check .cbi file against .cbf
cuverify -noverify -names <db> To check names of players, source
Version management:
==================
The version numbers are now:
CBUFF library 0.9.0
Utility Version DOS limitations (approximately)
----------------------------------------------------------
cuclean 1.1.0 60000 games / database
culatex 1.1.0 60000 games / database
culist 1.1.0 60000 games / database
cumerge 1.1.0 60000 games / database
cunames 1.0.0 60000 games / database
cupgn 1.1.0 60000 games / database
cusort 1.1.0 13000 games (see Memory available statistics)
custats 1.1.0 60000 games / database
cuverify 1.1.0 60000 games / database