From jwilkinson@mail.utexas.edu Thu Jul 4 17:52:11 1996 Received: by couchey.inria.fr (5.57/Ultrix3.0-C) id AA08399; Thu, 4 Jul 96 17:52:11 +0200 Received: from mail.utexas.edu (mail.utexas.edu [128.83.126.1]) by nez-perce.inria.fr (8.7.1/8.7.1) with SMTP id RAA25279 for ; Thu, 4 Jul 1996 17:52:08 +0200 (MET DST) Received: from p2-178.flash.net (gaurdian@p2-178.flash.net [208.194.193.178]) by mail.utexas.edu (8.6.9/8.6.6) with SMTP id KAA30790 for ; Thu, 4 Jul 1996 10:52:04 -0500 Message-Id: <199607041552.KAA30790@mail.utexas.edu> Date: Thu, 04 Jul 96 10:52:02 -0700 From: JKW X-Mailer: Mozilla 1.22 (Windows; I; 16bit) Mime-Version: 1.0 To: Damien.Doligez@inria.fr Subject: (no subject) Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Status: R Here's the rgc post... If it never MADE it to rgc, go ahead and repost it yourself. :/ ----------- Well, Kline mentioned something about publishing Hazy Shade II. Well, I'm not yet ready to publish the EvolCap-style imp launch. However, I tested it with an in-line 16 process jmp/add launch, and the scores were almost exactly the same. I marked the four new lines, and where they are is where the old implaunch resided. The real key, however, to the success of this warrior is the pspace. It survived the death of Lithium, and the death of Evol Cap, so obviously the two components on their own couldn't have done it without a good switcher. It's pretty simple, too. If my opponent ever beats me five times more than I've beaten him since the last time I'd beaten him more than 50% of the time, then I switch strategies. Well, it doesn't sound so simple in English, but in pcode it's about as simple as it gets, with the exception of switch-on-loss warriors... The strategies are stored with 'key numbers,' so if I'm brainwashed the odds are only 2 in 8000 that I won't notice it. That's as brainwash resistant as you can get, without using extra pspace locations. :/ ;redcode-94 ;name Hazy Shade II ;kill Hazy Shade II ;author John K W ;assert CORESIZE == 8000 ;strategy p-warrior. very brainwash resistant. ;strategy v-8.3. more aggresive post-brainwashing decisions. ;strategy v-8.4. best of both worlds. _RESULT equ #0 _LOSS equ #117 _STR equ #238 LIMIT equ 5 _FIRST equ EvolCap _SECOND equ lithium _CODE1 equ 2137 _CODE2 equ 3379 org res ;********** Evol Cap 10.1 d equ 2667 BOOT_DIST equ 2600 BOOT_DIST2 equ 2851 S equ 2365 imp: mov.i #d, *0 jclr: dat >1, 70 EvolCap: mov.i imp, EvolCap+BOOT_DIST mov.i jclr, EvolCap+BOOT_DIST2+31+5 mov.i jclr, EvolCap+BOOT_DIST2+31+5+4000 spl.i 1, >-1250 spl.i 1, >-1400 spl.i 1, >1250 mov.i {pptr2, 1250 ;new spl 2 ;new jmp EvolCap+BOOT_DIST, >1400 ;new add.a #d, -1 ;new spl @pptr2 jmp @pptr p spl #S, >-S mov }S+1, -S+2 add -2, -1 djn.f -2, <-560 mov 32, >-60 dat 0, 0 dat 0, 0 dat 0, 0 pptr: nop 0, EvolCap+BOOT_DIST2+8 pptr2: nop -1, EvolCap+BOOT_DIST2+8+4000 ;*************pcode won: ldp LOS0, #0 jmz.b go, won ;if losses is zero, just go djn.b go, res ;if it was a tie, just go... add.ab #-1, won LOS0: stp.b won, _LOSS jmp go res: ldp _RESULT,#0 ;load last result into B-field sne #-1, res jmp naive ;setup start jmn won, res ;a one indicates a win in the last round loss: ldp LOS0, #0 ;_LOSS, #0 add #1, loss slt loss, #LIMIT jmp switch stp.b loss, LOS0 go: ldp STR0, #0 sne.ab #_CODE2, go ;if both of these jmp _SECOND ;are skipped over, sne.ab #_CODE1, go ;then we've been brainwashed, jmp _FIRST ;but we didn't lose STR0 second stp #_CODE2, _STR ;if the opponent is so un-aggresive jmp _SECOND ;as to not kill me, when it got a ;chance to brainwash me, then it ;deserves a dose of Lithium switch: ldp LOS0, #0 stp #0, LOS0 swstr: ldp STR0, #0 sne.ab #_CODE2, swstr ;if both of these jmp first ;are skipped over sne.ab #_CODE1, swstr ;then we've been jmp second ;brainwashed, and we lost first stp #_CODE1, STR0 jmp _FIRST for 10 dat 0, 0 rof naive stp #LIMIT-1, LOS0 stp #_CODE1, STR0 jmp _FIRST for 10 dat 0, 0 rof ;*************Lithium (torch t18) step equ 54 count equ 2000 BOOTDIST equ 2300 lithium spl 1 ;compressed boot. mov -1, 0 ;5 cycles slower mov {bptr, bptr sm2 mov step+1, >step+1 ; mov half of the incendiary dat -10-341, 26 sp2 spl #-1-step,-step ; spl half of the incendiary sub #step+step,1 msm2 mov sm2, *tgt2+(-step*2000)-17228 msp2 mov sp2, @msm2 tgt2 jmz sp2+1, #0 clr2 mov @1, >sm2-13 cp2 djn.b clr2, {sp2 bptr dat 0, BOOTDIST -- / John K. Wilkinson - jwilkinson@mail.utexas.edu \ \ -=- http://ccwf.cc.utexas.edu/~ifio452/ -=- /