Jason's Corewar project page.
What is Corewar?
Corewar is a game played by two or more programs written in an assembly language called Redcode. They are run on a virtual computer. The object of the game is to cause all processes of the opposing programs to terminate. Free Corewar systems with source are available for most computers. Because of this Corewar programs are very portable. I see Corewar as very good system for looking at the behaviors of a simple computing system without the limitations many modern computer place on program structure.
My corewars evolution program ga_war.c.
This program will make corewars warriors in a closed system.
I have built it under DOS, AIX , Irix, Linux, Solaris and
HP-UX without change.
Some programs after 250 cycles.
xx_1.red
xx_2.red
xx_3.red
xx_4.red
xx_5.red
cycle.text
Some programs after 5000 cycles.
vv_1.red
vv_2.red
vv_3.red
vv_4.red
vv_5.red
vv_6.red
vv_7.red
vv_8.red
vv_9.red
vv_10.red
cycle.text
Some other programs.
This program was the winner of 1000 programs developed with
a many types settings and run times. It was part of a population
of 100 ran for 2500 cycles with a low mutation rate of 3% and
a replacement/return rate of 1%.
zz_972.red
This program was the best of a early batch of 50 run for 500
cycles. I sent it to the beginer hill and got in at 25th.
ga_24.red
The report from pizza.
This is a nice one for a 100 program 500 cycle run with 25% mutation.
x_25.red
These are just some simple forms.
djn-1.red
djngun-1.red
mov.red
movgun.red
I have noticed that the programs seem to pass though
stages that cycle between high and low rates of replacement.
Also as program size seems to become stable at some size less
than the maximum size in the config file. This I think is a function
of the mutation rate. Larger programs stand a better chance of
preserving a helpful development with a lower mutation rate. So
slow mutation seem key to further improvements.
I think a very large population is not nessary for improvement, but
the total number of battle tested is. So 20 programs 1000 times
may be about as good as 100 programs 200 times. This will not be true
at the limits though populations >5 should not do as well as a larger
group would. Large populations have the advantage a divergence which
may help against outside programs.
The strongest program I developed so far was from the largest population
run for the largest number of cycles. It out performed all programs from
shorter smaller groups and had the best outside showing against human made
programs.
Some Links.
Martin Ankerl's CoreWar Page
Martin has created an evolver "yace" originally based on ga_war.c
it integrates exhaust and doesn't use Pmars. He has had good
results on tiny hills.
Exhaust
Exhaust is a GPL redcode simulator for easy embedding into other programs
GTK+ Corewars
A GTK+ Corewars redcode simulator and some nice web based hills
StormKing - The Corewar KOTH
This is the place for Corewar info.
Check out Corewar Genetics: The Evolution of Predation by John Perry.
This paper gives a account of using Core war as a system for evolution.
The Pizza Server Home Page
Another great site for Corewars info.
Goto the Portable MARS page and get yourself a Corewar system.
The Corewar FAQ is also here.
rec.games.corewar
This is the newsgroup for Corewar.
Mathematical Models for Step Sizes.
An article on the mathematics of Corewar by Steven Morrell.
Evolved Core-Warriors Or... If you can't make them, grow them.
Some interesting results with ga_war and other evolutions systems.
Learning By Simulating Evolution Using Corewars
Ryan Coleman's finding with corewars evolution.