; This is the settings file for RedMixer 1.0d ; Modified 3/7/09 for evolving warriors for coresize 8000. ; pmars parameters... pmars unix pm8k.sh ;hack script to run Linux pmars from DosEmu ; ; to make that work I use script /usr/local/bin/pm8k.sh containing: ; ; #!/bin/bash ; cd /media/ramdisk/work # must change to where redmixer is ; parms=$* ; parms=${parms//SOUP8K/SOUP8K\/} # must match soup dir name ; parms=${parms//WILKIES/WILKIES\/} # must match test dir name ; pmars $parms ; ; Note that the soup and benchmark directories must be hardcoded ; as the \ path separater gets stripped by the calling process, ; directory and bench warrior names must be upper case and 8.3 format. ; The control-C stop method does not work (not in a shell to pick it up) ; so to stop the evolver by deleting the "deleteme" file. Also note that ; pm8k.sh needs to be in a "path" directory to avoid exceeding the command ; line limit of 125 characters. It's a hack! but can be a bit faster than ; emulating the pmars program. With my new 0.9.2 binary it's no faster but ; will document anyway in case needed... comment next pmars line to enable. ; pmars pmars ;path\name of pmars binary coresize 8000 ;size of core processes 8000 ;how many processes are allowed cycles 80000 ;how many cycles to run per round rounds 20 ;how many rounds to run per battle maxlen 100 ;maximum warrior length doublefixed no ;if yes then do double-fixed battles ; file/start parameters... soupdir SOUP8K ;name of directory to put warriors in deletefile DeleteMe ;name of file to delete to stop tempbase rmtemp ;base name for temp files redcodeline redcode-94 ;redcode comment line authorline anonymous ;author comment line versionline RedMixer 1.0d-8K4 ;strategy Evolved by line (use to track parms) minstartsize 1 ;minimum instructions for new warriors testnew no ;if yes test new warriors testwarrior test.red ;name of warrior to test new warriors against mintestscore 150 ;minimum score to pass the new warrior ; soup/display/benchmark parameters... xsize 77 ;number of warriors in X-dimension ysize 21 ;number of warriors in Y-dimension displaysoup yes ;if yes then show the soup and user interface colormethod 2 ;0=color by size 1=by origin 2=by species colorshift 0 ;to offset colors if needed textcolor 2 ;color used for border and stat text pmarsv unix xterm -e pmv8k ;path\name of pmarsv program ; this is a similar hack to run the linux pmarsv program from DosEmu, ; as it seems the 50-line interpreted version doesn't leave enough ; free mem to run the dos pmarsv with coresize 8000. ; /usr/local/bin/pmv8k contains... ; #!/bin/bash ; cd /media/ramdisk/work # change to where RedMixer is ; parms=$* # get command line parameters ; parms=${parms//SOUP8K/SOUP8K\/} # must match soup dir name ; pmarsv $parms ; echo "----- press a key -----" ; read -n 1 nothing ; pmarsv pmarsv ;path\name of pmarsv program vparms -v 014 ;rounds and display parms for pmarsv listprog list ;path\name of external list program benchdir WILKIES ;directory containing test warriors benchrounds 100 ;number of rounds for benchmark battles benchfixed yes ;if yes then use fixed sequence for benchmark benchprog ;path\name of external benchmark program ; redcode strings... maintain field structure... ; pure '94 only... ;instructions spl spl spl spl spl mov mov mov ;instructions mov dat dat dat djn jmp jmn jmz ;instructions cmp slt add sub mul div mod ;modifiers i i i i f f x x a b ab ba ;adrAmodes # $ @ < > ;adrBmodes # $ @ < > ; extended '94... (but no nop or pspace) instructions spl spl spl spl spl mov mov mov instructions mov dat dat dat djn jmp jmn jmz instructions slt sne seq add sub mul div mod modifiers i i i i f f x x a b ab ba adrAmodes # $ @ < > * { } adrBmodes # $ @ < > * { } ; above strings weighted by arbitrary guessing. ; weighted strings derived by analyzing Wilkies and Wilmoo... ;instructions mov mov mov mov mov mov mov mov mov mov mov ;instructions dat dat dat dat dat dat dat spl spl spl spl spl spl ;instructions jmp jmp jmp jmp seq seq seq sne sne add add ;instructions sub mul div mod jmz jmn slt djn ;modifiers i i i i i f f f x a b b b b ab ba ;adrAmodes # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ * < < < > { } ;adrBmodes # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ * < < < < < < > > { } ; mutation parameters... deletechance .004 ;chance of deleting a line insertchance .003 ;chance of inserting a line duplinechance .1 ;chance of inserted line being previous instchance .006 ;chance of changing an instruction modchance .01 ;chance of changing a modifier modeAchance .015 ;chance of changing A-field mode dataAchance .035 ;chance of changing A-field data dataAincdec .4 ;chance of inc/dec A-field data dataAsmall .76 ;chance of using small A-field number modeBchance .015 ;chance of changing B-field mode dataBchance .035 ;chance of changing B-field data dataBincdec .4 ;chance of inc/dec B-field data dataBsmall .59 ;chance of using small B-field number endchance .05 ;chance of changing end number endincdec .5 ;chance of inc/dec end number end0chance .1 ;chance of using end 0 ; crossover/species parameters... crossmode 1 ;0=none 1=species 2=origin 3=size 4=any attraction yes ;if yes pick surrounding mate with most wins flipstart .7 ;chance of starting with winning warrior flipitemchance .01 ;chance of flipping per item fliplinechance .2 ;chance of flipping per line randomspecies yes ;if yes then use random numbers for species tag randomtagrange 20 ;range of each number in random species tags specieschanges 10 ;percent instruction changes for same species ; end of parameters