Issue 58 14 April, 1997
______________________________________________________________________________
Core Warrior is a weekly newsletter promoting the game of corewar. Emphasis
is placed on the most active hills--currently the '94 draft hill and the
beginner hill. Coverage will follow where ever the action is. If you have
no clue what I'm talking about then check out these five-star internet locals
for more information:
FAQs are available by anonymous FTP from rtfm.mit.edu as
pub/usenet/news.answers/games/corewar-faq.Z
FTP site is: ftp.csua.berkeley.edu /pub/corewar
Web pages are at: (Please note new Stormking's address)
http://www.koth.org/ ;Stormking
http://www.ecst.csuchico.edu/~pizza/koth ;Pizza
http://pauillac.inria.fr/~doligez/corewar/ ;Planar
Newbies should check the stormking page for the FAQ, language specification,
guides, and tutorials. Post questions to rec.games.corewar. All new players
are infinitely welcome!
If ftp.csua.berkeley.edu is unreachable, you can download pMARS at:
Terry's web page--http://www.ncs.infi.net/~wtnewton/corewar/
Planar ftp site--ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars
Fechter ftp site--ftp://members.aol.com/ofechner/corewar
A collection of Bezzi's hints in the first issues is available at:
ftp://ftp.volftp.vol.it/pub/pc/msdos/games/solutions/bbhints.zip
Beppe Bezzi web page - http://www.aspide.it/freeweb/Bezzi
______________________________________________________________________________
Greetings.
A lot of experimental warriors were tried this week. Interest seems to be
increasing... perhaps we will see some good new warriors soon.
--Anton Marsden
______________________________________________________________________________
Current Status of the Internet Pizza Server ICWS '94 Draft Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
rounds fought: 200
instruction set: ICWS '94 Draft
Last challenge: Fri Mar 21 06:54:21 PST 1997
# %W / %L / %T Name Author Score Age
1 45.6/ 37.1/ 17.3 Electric Head Anton Marsden 154.0 7
2 39.7/ 28.3/ 31.9 Newt Ian Oversby 151.2 3
3 38.2/ 28.5/ 33.2 Head or Tail Christian Schmidt 148.0 40
4 31.9/ 17.8/ 50.3 Return Of The Jedimp John K W 146.1 252
5 37.2/ 30.0/ 32.8 Nine Seven Six M R Bremer 144.5 116
6 34.0/ 25.6/ 40.3 RetroQ P.Kline 142.4 52
7 37.9/ 35.2/ 26.8 First Strike Nimon 140.6 13
8 34.3/ 28.0/ 37.7 Gigolo Core Warrior staff 140.6 306
9 40.9/ 42.6/ 16.5 myVamp5.4 Paulsson 139.2 2
10 41.4/ 44.0/ 14.6 C^2 Christian Schmidt 138.7 2
11 41.1/ 43.6/ 15.2 The Bloodhound Ian Sutton 138.6 24
12 39.3/ 40.8/ 19.9 Solomon v0.8 Ian Oversby 137.8 98
13 29.3/ 21.4/ 49.3 Impish v0.2 Ian Oversby 137.2 291
14 30.1/ 23.2/ 46.7 Trident^2 John K W 137.1 182
15 38.3/ 40.4/ 21.3 Damage Incorporated Anton Marsden 136.2 293
16 38.4/ 42.4/ 19.3 The Machine Anton Marsden 134.4 158
17 39.6/ 45.6/ 14.8 Undecided Nimon 133.7 12
18 33.3/ 33.5/ 33.2 Fast Fast Fast v6 Franz 133.1 0
19 37.3/ 43.3/ 19.4 Scanitator 5 Christian Schmidt 131.4 17
20 36.3/ 41.5/ 22.2 Brainium James Black 131.1 7
21 41.4/ 51.9/ 6.8 Obsidian Nimon 130.8 12
22 36.2/ 42.3/ 21.5 NCC-1701-A Philip Kendall 130.1 55
23 35.3/ 41.1/ 23.5 Tides v0.1 Ian Oversby 129.5 36
24 29.3/ 29.2/ 41.5 test. kafka 129.4 9
25 37.5/ 45.7/ 16.8 Blain Nimon 129.4 18
Monthly age: 14 this issue ( 12 last issue, 13 the issue before )
New warriors: 10 Turnover/age rate 71%
Average age: 80 ( 88 last issue, 93 the issue before )
Average score: 138 ( 141 last issue, 135 the issue before )
The top 25 warriors are represented by 14 independent authors: Oversby and
Nimon with 4; Schmidt and Marsden with 3; JKW with 2. All others with one
warrior each.
______________________________________________________________________________
94 - What's New
# %W / %L / %T Name Author Score Age
6 37.9/ 34.0/ 28.2 First Strike Nimon 141.7 1
9 43.7/ 48.8/ 7.5 Obsidian Nimon 138.6 1
11 40.8/ 43.9/ 15.3 Undecided Nimon 137.8 1
23 28.3/ 26.1/ 45.6 test. kafka 130.4 1
1 48.5/ 35.7/ 15.8 Electric Head Anton Marsden 161.2 1
24 35.5/ 41.4/ 23.1 Brainium James Black 129.6 1
2 38.4/ 29.8/ 31.8 Newt Ian Oversby 147.0 1
6 42.8/ 43.2/ 14.0 C^2 Christian Schmidt 142.4 1
9 41.4/ 42.9/ 15.8 myVamp5.4 Paulsson 139.8 1
18 33.3/ 33.5/ 33.2 Fast Fast Fast v6 Franz 133.1 0
Electric Head and Newt do well to get into the top five. There are also
several other good entries.
______________________________________________________________________________
94 - What's No More
# %W / %L / %T Name Author Score Age
26 29.3/ 36.5/ 34.2 Instant Ogre Edgar 122.0 22
26 24.7/ 23.3/ 52.0 blue spark 0.04 bjoern guenzel 126.1 21
26 34.5/ 43.8/ 21.6 One Man Army v1.0 Ian Sutton 125.2 7
26 30.0/ 36.7/ 33.3 Fast Fast Fast v2 Franz 123.4 58
26 34.8/ 44.3/ 20.9 Ace of Spades 2 Christian Schmidt 125.3 11
26 39.2/ 50.7/ 10.1 Twisted James Black 127.8 4
26 28.0/ 28.5/ 43.5 unrequited love kafka 127.4 346
26 31.6/ 45.3/ 23.1 Yogi Bear P.Kline 118.0 1
26 34.8/ 44.5/ 20.7 Ranger James Black 125.1 3
26 33.3/ 43.5/ 23.2 Stonebreaker Christian Schmidt 123.0 3
26 39.2/ 54.0/ 6.8 He Scans Alone P.Kline 124.5 6
Unrequited love finally falls.
______________________________________________________________________________
94 - What's Old
# %W / %L / %T Name Author Score Age
8 34.3/ 28.0/ 37.7 Gigolo Core Warrior staff 140.6 306
15 38.3/ 40.4/ 21.3 Damage Incorporated Anton Marsden 136.2 293
13 29.3/ 21.4/ 49.3 Impish v0.2 Ian Oversby 137.2 291
4 31.9/ 17.8/ 50.3 Return Of The Jedimp John K W 146.1 252
No new entries, but these warriors are still doing reasonably well.
______________________________________________________________________________
OLD HALL OF FAME
* means the warrior is still active.
Pos Name Author Age Strategy
1 Thermite II Robert Macrae 2262 Qscan -> bomber
2 Impfinity v4g1 Planar 1993 Stone/ imp
3 Jack in the box Beppe Bezzi 1620 P-warrior
4 Tornado 3.0 Beppe Bezzi 1567 Bomber
5 Torch t18 P.Kline 1539 Bomber
6 Chameleon Myer R Bremer 1437 P-warrior
7 Frontwards v2 Steven Morrell 1420 One shot scanner
8 Evol Cap 6.6 John Wilkinson 1299 Imp / stone
9 quiz Schitzo 1262 Scanner/ bomber
10 T.N.T. Maurizio Vittuari 1204 Bomber
11 Grilled Octopus v0.5 David Boeren 1154 P-warrior
12 Hazy Shade II John Wilkinson 1102 P-warrior
13 Stepping Stone Kurt Franke 1049 Qscan -> Vampire
14 Rosebud Beppe Bezzi 993 Stone/ imp
15 Iron Gate 1.5 Wayne Sheppard 926 CMP scanner
16 T.N.T. pro Maurizio Vittuari 925 Bomber
17 Agony II Stefan Strack 912 CMP scanner
18 Barrage Anton Marsden 876 Qscan -> replicator
19 Blue Funk Steven Morrell 869 Stone/ imp
20 Flurry Anton Marsden 835 Qscan -> pwarrior
21 Thermite 1.0 Robert Macrae 802 Qscan -> bomber
22 Blue Funk 3 Steven Morrell 766 Stone/ imp
23 Night Train Karl Lewin 755 Replicator
24 Mirage 1.5 Anton Marsden 736 Scanner/ bomber
25 Blizzard Anton Marsden 713 Qscan -> replicator
______________________________________________________________________________
NEW HALL OF FAME
* means the warrior is still active.
Pos Name Author Age Strategy
1 Probe Anton Marsden 403 Q^2 -> Bomber
2 Blur 2 Anton Marsden 396 Scanner
3 unrequited love kafka 346 Q^2 -> Paper
4 Gigolo Core Warrior staff 306 * Q^2 -> Stone/imp
5 Damage Incorporated Anton Marsden 293 * Q^2 -> Bomber
6 Impish v0.2 Ian Oversby 291 * Stone/imp
7 Falcon v0.3 Ian Oversby 275 P-warrior
8 Return Of The Jedimp John K W 252 * Q^2 -> Stone/imp
9 Rosebud Beppe 218 Stone/imp
10 Q^2 Miro Anders Ivner 214 Q^2 -> Scanner/bomber
11 Instant Wolf 3.4 Edgar 205 P-warrior
12 Goldfinch P.Kline 201 P-warrior
13 Simple v0.4b Ian Oversby 197 QScan -> Stone/imp
14 ompega Steven Morrell 189 Stone/imp
15 Trident^2 John K W 182 * Q^2 -> Stone/imp
16 Frogz Franz 172 Q^2 -> Paper
17 The Machine Anton Marsden 158 * Scanner
18 Memories Beppe 152 Scanner
19 Tiberius 3.1 Franz 130 Q^2 -> Paper
20 Nine Seven Six M R Bremer 116 * Q^2 -> Stone/imp
21 CC Paper 3.3 Franz 107 Q^2 -> Paper
22 mrb-test m r bremer 106 ?
23 T.N.T. pro Maurizio Vittuari 105 Bomber
24 Jack in the box II Beppe Bezzi 100 P-warrior
Unrequited love grabs 3rd place.
______________________________________________________________________________
Current Status of the Internet Pizza Server Beginner's Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
maximum age: At age 100, warriors are retired.
rounds fought: 200
instruction set: ICWS '94 Draft
Last challenge: Tue Apr 1 11:45:33 PST 1997
# %W / %L / %T Name Author Score Age
1 50.1/ 38.4/ 11.4 Pentagram 2.a J.A.Denny 161.8 40
2 49.2/ 41.4/ 9.4 Scankiller 0.1 Christian Schmidt 157.1 50
3 45.8/ 34.7/ 19.5 Hexagram J.A.Denny 156.9 38
4 39.3/ 27.4/ 33.3 Scanitator 3.0 Christian Schmidt 151.1 45
5 41.4/ 32.0/ 26.6 Flimsy v0.6 Ian Oversby 150.7 39
6 45.2/ 41.2/ 13.5 Flamberge 13.4 Matt Lewinski 149.2 88
7 36.3/ 24.7/ 39.1 Dust 7.0 Justin Kao 147.8 18
8 44.5/ 42.0/ 13.5 Mostly Harmless v1.1 Justin Kao 147.0 69
9 45.2/ 43.4/ 11.4 The Stainless Steel Rat Christian Schmidt 147.0 61
10 42.0/ 37.8/ 20.2 Vivid Radiation 2.0 Matt Lewinski 146.1 87
11 39.7/ 33.5/ 26.7 Versatility 1.7 Ross Morgan-Linial 145.9 66
12 42.9/ 42.0/ 15.1 Short Sword 4 JS Pulido 143.7 20
13 36.7/ 30.5/ 32.8 Zorm-B Anonymous 142.9 23
14 44.8/ 46.9/ 8.3 qDeath v .069 Ryan Coleman 142.6 3
15 29.2/ 17.9/ 52.9 DemonSpawn J.A.Denny 140.5 48
16 35.9/ 32.7/ 31.5 Apocalypse Matt Lewinski 139.1 96
17 40.8/ 44.3/ 14.9 Dwa Michaly b Waldemar Bartolik 137.2 26
18 30.2/ 23.3/ 46.5 Quantum Christian Schmidt 137.1 42
19 32.6/ 29.8/ 37.6 Heartworm Edgar 135.3 36
20 28.1/ 31.3/ 40.5 Kohonenian Dream Robert J. Street 124.9 12
21 31.9/ 39.5/ 28.6 Five-Finger Discount From Ryan Coleman 124.3 2
22 29.0/ 35.2/ 35.8 Kohonenian Dream Robert J. Street 122.8 11
23 31.9/ 41.8/ 26.3 Time Lag 1c3 Ilmari Karonen 122.1 22
24 31.5/ 46.1/ 22.4 Five-Finger Discount From Ryan Coleman 117.0 8
25 33.8/ 52.4/ 13.8 Five-Finger Discount From Ryan Coleman 115.1 1
Top 25 Averages:
38.3/ 36.4/ 25.3 140.2 38
______________________________________________________________________________
Current Status of the Internet Pizza Server Limited Process Hill:
Hill Specs:
coresize: 8000
max. processes: 8
duration: after 80,000 cycles, a tie is declared.
max. entry length: 200
minimum distance: 200
rounds fought: 200
instruction set: ICWS '94 Draft
Last challenge: Sat Apr 12 21:45:03 PDT 1997
# %W / %L / %T Name Author Score Age
1 58.8/ 30.3/ 10.9 Limb Rending Incisors Ian Sutton 187.3 13
2 52.5/ 35.7/ 11.9 Solomon LP v0.1 Ian Oversby 169.2 10
3 49.6/ 34.1/ 16.3 Simplicity Anton Marsden 165.0 3
4 48.2/ 33.6/ 18.2 Flips Zul Nadzri 162.7 14
5 43.0/ 26.6/ 30.4 Indecisive v0.1 Ian Oversby 159.5 19
6 42.2/ 30.3/ 27.5 Paper 'LP' II Philip Kendall 154.0 40
7 41.7/ 29.4/ 28.9 Benchmark 1.0 Zul Nadzri 154.0 38
8 42.2/ 31.2/ 26.6 Twin Flame Ian Oversby 153.3 44
9 43.0/ 33.2/ 23.8 Bolder v0.01 Ian Oversby 152.8 18
10 45.8/ 39.5/ 14.7 Romulan Warbird Philip Kendall 152.0 23
11 39.9/ 36.6/ 23.5 red marble bjoern guenzel 143.2 33
12 42.6/ 43.5/ 13.9 qDeath v .069 Ryan Coleman 141.7 2
13 39.7/ 38.9/ 21.4 Bag of Tricks Anton Marsden 140.5 28
14 38.3/ 37.6/ 24.1 Romantica Zul Nadzri 139.1 11
15 39.8/ 42.0/ 18.2 red eye bjoern guenzel 137.7 34
16 37.1/ 37.2/ 25.7 Inferno 1.8 Philip Kendall 137.1 60
17 35.2/ 34.9/ 29.9 Iocane 0.0 John K W 135.6 27
18 31.5/ 28.5/ 40.1 Paper 'LP' Philip Kendall 134.5 61
19 35.0/ 42.6/ 22.4 oldtimer bjoern guenzel 127.5 46
20 35.2/ 44.0/ 20.8 Dr. Gate v4 Franz 126.4 48
21 36.4/ 49.2/ 14.4 Hopefully Indestructible Ian Sutton 123.7 32
22 31.9/ 43.0/ 25.1 rimmer 2.0 jkw 120.7 52
23 35.9/ 52.6/ 11.5 Roots Radical v .069 Ryan Coleman 119.1 1
24 31.5/ 45.4/ 23.1 Dr. Gate Franz 117.7 50
25 33.8/ 52.9/ 13.3 Juggernaut Anton Marsden 114.7 37
Top 25 Averages:
40.4/ 38.1/ 21.5 142.8 29
______________________________________________________________________________
The Hint
P-Warriors by Anton Marsden
In the last issue of CW, Kendall presented various switching routines with
reasonably good response times. The disadvantage of his routines (and most
routines up until now) is that they are not very flexible. A switching
strategy that works well for one component may work poorly with another. Any
attempt to rectify this usually means using a large, slow switching routine.
To solve this I wrote a general purpose switching routine (P^2) that was
fast no matter what strategy the 'programmer' wanted to use.
P^2 is based on discrete finite acceptors (DFAs) which I learnt about in a
Computer Science course. To demonstrate the steps clearly, I will design a
switch-on-3-consecutive-losses routine containing 2 components.
1. Draw a state transition diagram showing all possible states. Each state
should have three outward arrows for win, loss, and tie inputs. Each arrow
should identify a component to be run and point to the next state. Note that
'components' and 'states' are not equated in this logic as they are in many
previous switchers. State numbers should start from 0.
Key:
{n}=state n
W=win
L=loss
T=tie
c1=component 1
c2=component 2
The following diagram is a bit messy but you should get the idea.
+-------------------------------------------+
| T,W (c1) |
| +-------------------+ |
| | T,W (c1) | |
| v | |
+->{0}---------------->{1}---------------->{2}----->{3}
| ^ L (c1) L (c1) L (c2)
| |
+-+
T,W (c1)
+-------------------------------------------+
| T,W (c2) |
| +-------------------+ |
| | T,W (c2) | |
| v | |
+->{3}---------------->{4}---------------->{5}----->{0}
| ^ L (c2) L (c2) L (c1)
| |
+-+
T,W (c2)
2. Pick an initial state transition, eg. {2} -> {0} using c1.
3. Put all loss transitions into a data table where entry n-1 contains the
state transition information for state n-1:
loss_table
dat 1,c1 ; State 0 goes to state 1 on a loss using component 1.
dat 2,c1 ; State 1 goes to state 2 on a loss using component 1.
dat 3,c2 ; State 2 goes to state 3 on a loss using component 2.
dat 4,c2 ; State 3 goes to state 4 on a loss using component 2.
dat 5,c2 ; State 4 goes to state 5 on a loss using component 2.
dat 0,c1 ; State 5 goes to state 0 on a loss using component 1.
4. Do the same for wins and ties.
win_table
dat 0,c1 ; State 0 goes to state 0 on a win using component 1.
dat 0,c1 ; State 1 goes to state 0 on a win using component 1.
dat 0,c1 ; State 2 goes to state 0 on a win using component 1.
dat 3,c2 ; State 3 goes to state 3 on a win using component 2.
dat 3,c2 ; State 4 goes to state 3 on a win using component 2.
dat 3,c2 ; State 5 goes to state 3 on a win using component 2.
tie_table
dat 0,c1 ; State 0 goes to state 0 on a tie using component 1.
dat 0,c1 ; State 1 goes to state 0 on a tie using component 1.
dat 0,c1 ; State 2 goes to state 0 on a tie using component 1.
dat 3,c2 ; State 3 goes to state 3 on a tie using component 2.
dat 3,c2 ; State 4 goes to state 3 on a tie using component 2.
dat 3,c2 ; State 5 goes to state 3 on a tie using component 2.
5. Set up the initial state.
init_state EQU (tie_table+2) ; {2} -> {0} using c1.
6. Put the tables and components into P^2. Remember to set STATES to the
correct value (6 in this case).
7. Optimise the code - this is left as an exercise for the reader.
Many thanks to Bezzi, Bremer and Kline who reviewed this article (and P^2)
and suggested improvements.
______________________________________________________________________________
Extra Extra
P^2 by Anton Marsden
P^2 is a fast table-based switcher which can manage any conceivable strategy
or combination of strategies using 6 cycles. However, the tables are
potentially large and for this reason it may not be the best switcher to use
in some cases, especially if you want to use a Q^2 scan in your P-Warrior.
How it works: the result of the last fight is loaded as well as the state used
for the last fight. From this information the next state is determined using
the tables that were constructed from the state transition diagram. Then the
component associated with the transition is executed.
;redcode-94
;name P^2
;author Anton Marsden
;assert CORESIZE==8000
PSTATE EQU 666 ; pspace location containing current state
STATES EQU 6 ; maximum number of states (for brainwash protection)
;NOTE: state values go from 0 to STATES-1
dat 0,init_state-state
in dat 0,loss_table-state
dat 0,win_table-state
dat 0,tie_table-state
think ldp.a #0,in ; get input value
load ldp.a #PSTATE,state ; load old state
mod.a #STATES,state ; brainwash protection
add.ba *in,state ; select correct state table
store stp.a *state,load ; store new state
state jmp @0 ; jump to warrior code
; You could also delete the #PSTATE value
; if you wish (or the stp.a instruction).
c1 EQU stone_boot
c2 EQU paper_boot
loss_table
dat 1,c1
dat 2,c1
dat 3,c2
dat 4,c2
dat 5,c2
dat 0,c1
win_table
dat 0,c1
dat 0,c1
dat 0,c1
dat 3,c2
dat 3,c2
dat 3,c2
tie_table
dat 0,c1
dat 0,c1
init_state dat 0,c1
dat 3,c2
dat 3,c2
dat 3,c2
END think
______________________________________________________________________________
Extra Extra
Simplicity by Anton Marsden
Simplicity is a limited process warrior based on B-scanners live in vain by
Matt Hastings (an '88 warrior). It is currently doing quite well on the LP
Hill.
;redcode-lp
;name Simplicity
;author Anton Marsden
;assert CORESIZE==8000
;kill Simplicity
step EQU 26
b2 mov step,{b1+8*step
a add.ab {0,}0
start jmz.f a,@b2
b1 mov grave,@b2
jmn @b1,*0
spl #0,0
mov 5,}b2
grave jmp {0,}0
FOR b2+step
dat 0,0
ROF
bomb spl #1,#1
FOR MAXLENGTH-CURLINE
dat 0,0
ROF
END start
______________________________________________________________________________
Questions? Concerns? Comments? Complaints? Mail them to people who care.
authors: Beppe Bezzi <bezzi@nemo.it> or Myer Bremer <bremermr@ecn.purdue.edu>
or Anton Marsden <amarsden@mcs.vuw.ac.nz>
|