
  Warrior Benchmark Tools (adapted for Windows)
  =============================================

These are crude benchmarking programs for testing evolved warriors
in MEVO's save and soup directories. Benchmark scores from two test sets
can then be cross-compared to find warriors that score well against both
benchmarks. The "bench" benchmarking program reads settings from "bench.ini"
that specify the directory to test, the directory containing benchmark
warriors, the filemask to select the benchmark warriors (sometimes test
set directories contain other files), pmars parameters, and the name of
the output report file. Four INI files are provided to test the save and
soup directories against two test sets. The stock settings are for testing
nano warriors, edit the INI files to comment the nano settings and uncomment
settings for the desired core size. Four scripts are included that copy the
corresponding INI to bench.ini and run the bench program...

run_bench1.bat - tests the save dir against bench set 1
run_bench2.bat - tests the save dir against bench set 2
run_bench1soup.bat - tests the soup dir against bench set 1
run_bench2soup.bat - tests the soup dir against bench set 2

The default bench set 1 is nanob2, bench set 2 is nanobm07.
Commented tiny bench set 1 is franz, bench set 2 is tinybm04.
Commented standard bench set 1 is wilkies, bench set 2 is wilfiz.
When editing the INI's for different coresizes place a # before all
of the nano settings and remove one # from in front of each of the
other desired coresize settings so that the proper test set and
output filename is enabled.

The INI files are set to output to rep_bench1.txt, rep_bench2.txt,
rep_bench1soup.txt or rep_bench2soup.txt - using generic names makes it
easier to run the "findbest" cross-score program without further editing...

run_findbest.bat - cross-scores rep_bench1.txt and rep_bench2.txt
run_findbest_soup.bat - cross-scores rep_bench1soup.txt and rep_bench2soup.txt

These are set to output to rep_best.txt and rep_best_soup.txt by writing
a temp file with the input files and output file and calling the findbest
program passing the name of the temp file. If findbest is run without a
parameter it prompts for the two input files and the output file - not
provided for here, got tired of typing in the filenames so re-scripted
to permit mostly mindless double-clicking.

Output report files are sorted in ascending order so that the best warriors
will be at the ends of the files.

Typical usage... To test the save directory...
Double-click run_bench1.bat, wait for it to finish, press a key to exit.
Double-click run_bench2.bat, wait for it to finish, press a key to exit.
Double-click run_findbest.bat, wait for it to finish, press a key to exit.
To test the soup directory...
Double-click run_bench1soup.bat, wait for it to finish, press a key to exit.
Double-click run_bench2soup.bat, wait for it to finish, press a key to exit.
Double-click run_findbest_soup.bat, wait for it to finish, press a key to exit.

Only run one script at a time, otherwise the temp files will collide
and cause malfunction.

The bench and findbest programs are compiled using FreeBasic
Compile using: "c:\program files\freebasic\fbc" -lang qb bench.bas
(or findbest.bas)

The programs can also be run under Blassic (http://blassic.org/) to eliminate
needing the space-consuming bench and findbest binaries. To do this the scripts
would have to be edited to run the .bas files with blassic, and since Blassic
doesn't read command-line parameters, to avoid entering the filenames manually
findbest.bas would need slightly changing to open the findbest.tmp file
(containing the filenames) directly instead of checking command$.
Similar mods would also permit running the .bas files under QBasic.

These programs can be considered public domain.
These programs are provided as-is and without warranty.

-------------------------------------------------
Terry Newton (wtn90125@yahoo.com)

