Maezumo Copyright (C) 2009 Christian Schmidt

This file is part of Maezumo.

Maezumo is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Maezumo is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

-----------------------------------------------------------------------

Welcome to Maezumo - the Corewar Evolver with a Twist.

To read more about this programm please open the faq.htm

-----------------------------------------------------------------------

Compiling the sourcecode:
-------------------------
If you make modifications to Maezumo and you distribute the compiled 
version of your build, be sure to obey the GPL license. You have to 
include the sourcecode, or make it available for download together with 
the binary version.


Corewar Emulator:
-----------------
Maezumo is delivered with a Windows-compiled version of Martin Ankerl's exMARS.
This version supports the -l option, source code is in the tools directory.
For the original source and more information about this corewar emulator see:
http://www.corewar.co.uk/ankerl/exmars.htm


Credits:
--------
Author: Christian Schmidt
Homepage: http://www.corewar.info
Version 1.06
Date: April 3, 2010

94nopWilkies Benchmark: Assembled by "JKW"
Website: http://www.koth.org/wilkies/

94nopWilFiz Benchmark: Assembled by "Fizmo"
Website: http://www.corewar.info/wilFiz.htm

tinyFranz Benchmark: Assembled by "Franz"
Website: http://www.corewar.co.uk/bench.htm (mirror)

tinyBM04 Benchmark: Assembled by John Metcalf
Website: http://www.corewar.co.uk/bench.htm

nanoBM07 Benchmark: Assembled by John Metcalf
Website: http://www.corewar.co.uk/bench.htm

nanob2 Benchmark: Top-20 warriors from Koenigstuhl as of 6/23/09
Website: http://users.ociw.edu/birk/COREWAR/NANO/hill_rec.html

Xbench Benchmark: Top-12 94x warriors from Koenigstuhl as of 7/13/09
Website: http://users.ociw.edu/birk/COREWAR/X/hill_rec.html

94xBM Benchmark: Nine 94x warriors supplied by Fizmo

94lp-Fiz Benchmark: 13 lp warriors supplied by Fizmo

tinyLP-Fiz Benchmark: 15 tiny lp warriors supplied by Fizmo

Executable info:
----------------
Compiled for Windows from the freebasic source code
Exmars compiled for Windows using the MinGW compiler


LEGAL:
------
Maezumo Copyright (C) 2009,2010 Christian Schmidt


Goodbye and happy sharing ;)

-----------------------------------------------------------------------------

Changes...


April 3, 2010 version 1.06

Added new benchmark sets for LP and tiny LP
Added different possibilities to re-insert hill warriors back into the soup
Added chance of re-insertion per stage 1 test
Tracking the strategies on the hill now to prevent domination of a single
 strategy
Added new complexity to the paper mode. Support now also LP papers


July 31, 2009 Version 1.04x7 (WTN)

Modified custom soup display so lines have no spacing
Soup only shows if mutation is enabled

July 29, 2009 Version 1.04cs (packaging)

Added benchmark directories, two sets each for nano, tiny, 94nop and 94x.
Added batch files that run Blassic programs...
 findtop.bat - reads bench score comments and outputs top-scoring warriors
 bench.bat - benchmarks a directory, edit bench.ini to specify parameters
 rebench.bat - re-benchmarks the top warriors output by findtop.bat,
  edit rebench.ini to specify parameters.
Compiled the 1.04cs version source for Windows.

July 28, 2009 Version 1.04cs (Fizmo)

Implement probabilities for the hint modes if running in mode 7
Added new INI setting hint-pur, hint-pap, hint-sca, hint-fra and hint-sto
 for in-evolution adjusting of the hint mode probabilities
Fixed bug in the paper mode in regards of evolving paper/imp 
Optimize the paper mode in regard of complexity  
Change composite into fragment in html generation
Change Maezumo text in warrior generation
Altered fragment hint code

July 24, 2009 Version 1.03x6 (WTN)

Modified display of soup code
Condensed report titles to require less screen space
Writes report to temp file first then copies to index.htm
Added INI setting SoupWins - how many wins needed to mutate

Altered INI files for better organization.
Note... INI files do not contain "SoupWins" setting - default is 0.
Add SoupWins   :1 to require at least 1 win, 2 to require 2 wins etc.
Very experimental and might not make much difference (so hidden for now).

July 23, 2009 Version 1.03x5 (WTN/Fizmo)

Corrected line-end corruptions in a couple places
Incorporated Fizmo's 1.03 Fragment/Stone Hint mods
Added origin/generation info to displayed soup warriors
SDcustom changeable during evolution
Fixed bug in parallel evolution - changed BattleEvoRounds to SoupRounds

Changed to soup mode 5 with SDcustom to &#9608; for solid blocks,
this shows up OK under Internet Explorer (but there's still a flash
and scroll when the page updates, works OK with FireFox).

July 22, 2009 Version 1.02x4 (WTN)

Modified mutation code to avoid changes that result in equivalent code
Added INI setting SDcustom to specify soup display string (display mode 5)
Made so soup display can be used for ring soups too (still rectangular)
Added display of randomly-selected soup warrior when soup display is enabled
Added INI setting SW Display to enable/disable soup warrior display
Fixed bugs in HTML color strings

July 18, 2009 Version 1.02x3 (WTN)

Added new INI setting EnableSeed, if 1 (default) adds hill warriors to soup
Added new INI setting SwapRate (default 0) - chance of swapping lines
Added new INI setting Topology (default 4) - if 0 selects a grid topology
 otherwise specifies maximum distance between battles along ring
Added new INI setting SoupX for width of grid soup (default square)
Added new INI settings SoupDisplay (0 1 2 3 4) to control soup display

July 17, 2009 - Version 1.02x2 (WTN)

Added new INI setting mars to set simulator path/name.
SoupRounds defaults to evo rounds if not specified.
Fixed potential array index issue in MutateSpecies: code.

July 15, 2009 - Version 1.02x1a (WTN)

Fixed so the MinChanges setting is correct (was off by 1).
(a) Added "nop" to the instruction list (for seed/mutation possibilities).

Added Blassic scripts to the tools directory for finding strong warriors.

July 14, 2009 - Version 1.01e1a (WTN)

Added automatic benchmarking, new INI settings EnableBench and BenchDir.
Added tracking of origin, generation and benchscore in warrior comments.
Reworked HTML gen code to show extra info, new INI setting ShowExtra.
Added/modified logic to make somewhat more resistant to INI errors.
Added code to limit hill size to 1000 warriors.
Made so mutation works for all hints, not just pure.
Added code to make it easy to configure OS.
New INI setting SoupRounds to set number of rounds for soup evo.
(a) Made so only *.red *.war and *.rc warriors used from BenchDir

July 9, 2009 - Version 1.01 (WTN)

Modified mutation code that it correctly sets the warrior length.
Modified the pure generation code so all available lines can be used.
This corrects problem when generating nano warriors where the last line was
always a dat $0,$0 instruction. Added code to limit soup size to 10,000 and
warrior length to 1000. Changed exit prompt text and other minor things.

July 6, 2009 - Maezumo v1.00 released by Christian Schmidt

-----------------------------------------------------------------------------

