94nop warrior Qutrum

G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

Here is KOTH warrior Qutrum. I can't see how to improve it anymore
(decoymaker only decreased scoring). It has some important differences
compared to other HSA-style scanners:

- Pointer is inside of the loop
- Any step size can be used
- When found smth, pointer doesn't changes -> fast core coverage
- Wipe inside of main body

This features have their advantages and disadvantages, and they seem to
compensate each other.

;redcode-94nop
;name Qutrum
;author inversed
;strategy HSA-style scanner
;password FIXTHIS
;history v0.6 First normal version
;history v0.7 One line shorter
;history v0.8 Failure
;history v0.9 Better switch to dat wipe
;history v1.0 Better step size
;history v1.1 Decrement/increment protection (50% of code is
protected!)
;history v1.2 Changed zero offset
;assert (CORESIZE==8000) && (MAXPROCESSES==8000)

bi equ 3629
h equ (4000+bi)
bptr equ (loop-1)
len equ inc-bptr
zofs equ 2+bi
org ptr

; Protection:
;~ increment and decrement
;- decrement
;+ increment

loop add inc, @p ;b~
ptr sne.f 0+zofs, h+zofs
add inc, ptr
jmn.f b, @ptr
p jmz.f *p3, *ptr ;a-
mov.x @p, ptr ;a~
b mov.b @p, @p2 ;f~
slt.ab #len, @p2 ;b~
jmn.b *p3, @p ;a-b~
wipe mov bomb, >bptr
p2 mov *wipe, >bptr
jmn.f wipe, @bptr
jmn.b loop, @p ;b~
p3 jmp loop, }wipe
for 4
dat 0, 0
rof
inc dat #bi, #bi
bomb spl #0, {0
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

Hi.
It's not that other HSAish scanners can't use larger steps, because
they use sub.f #pointer, pointer or something like that, it's that they
CHOSE not to do it, because it is very dangerous! If you scan onto a
place where the enemy is doing coreclear, you'll end up throwing spl's
at it until the end of your days (which is until the enemy coreclears
you...). It can still happen if you use a smaller step, but it's less
probable then to jump over a coreclear onto a spl (or dat) carpet. Here
is what I'm talking about:

MakazeIII.1(scissors) vs Qutrum
W% 64 L% 9,3 T% 26,7

MakazeIII.1(scissors) vs HSA
W% 64 L% 32,3 T% 3,7


In other words, HSAish scanners HAVE TO use small steps if they want to
prevent something like that from happening. You can still make the
fields not change themselves after the attack (like you did), but that
doesn't make sense unless you use a larger step, which is, like I've
demonstrated, not a safe thing to do. Of course, a dirtyclear (which
hurts HSAish scanners alot) shouldn't be good enough to enter 94nop by
itself, but a clear/imp could easily enter any hill containing
Qutrum-like warriors. The problem is not that Qutrum loses to them -
it's that he loses very much.
I was wondering about Qutrum when I looked at its scores against the
rest of 94nop. They looked a bit different from those that can be
expected from an HSAish scanner (although it was clear that it was an
HSAish scanner). It seems that your approach resulted in at least one
large improvement - Qutrum did well against Black Knight, which does
really good against HSAish scanners.
Anyway, Qutrum (different versions of it) remained on 94nop for some
time and did really well (even was at the top at one moment, right?).
So, it is a good warrior. :). Like you've said, its bad sides and it's
good sides obviously compensate each other.
What are your plans for your next warrior? Another scanner, or
something else?
Regards,

Nenad
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

Hi.
It seems that I've made a mistake in the previous post. I've just
performed some more tests and it appears that Qutrum defeats Digitalis
and some other clear-imps! I was very surprised. It seems that it's
stronger than I thought :). But, it still loses much to Myth and some
other coreclears...
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

Hi
Against Myth, Qutrum with step 13 performed much better because of
abovementioned reasons, but against digitalis it performed much worse!
This is because Digitalis's d-clear lefts some holes (spl 0, >stuff)
and step-13 version will continue wiping clear's dats, while standard
version will scan new places when it hits such a hole. So standard
version is also better against spreaded djns. Changing step to 13
decreases my scoring on a benchmark (wilfiz or koenig top 50). For
example, step-13 scores ~120 koenig top 50, while standard scores ~128,
so I think big step size was a good choice. It's optimized using some
empirycal/theoretical methods, but I'll talk about this later. Now I'm
experimenting with scanners and papers (b-hill is flooded with them),
and some of them are quite interesting. dx42e missed pro hill by 5
points, it uses untypical strategy: ongoing fixlen spl carpet. I'll
publish it soon.

inversed
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

Oh and by the way really stupid question: how can I send my warriors to
koenigstuhl and why some my warriors appeared there without me even
knowing !? I wanted to send Qutrum, but Biomass was just an early
version, it didn't even had a qscan!
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

inversed wrote:
> Oh and by the way really stupid question: how can I send my warriors to
> koenigstuhl and why some my warriors appeared there without me even
> knowing !? I wanted to send Qutrum, but Biomass was just an early
> version, it didn't even had a qscan!

I'm not sure who sends them, but usually everything published at r.g.c.
ends up there. If you want to send some warriors yourself you can send
them to C. Birk. the address is: birk@ociw.edu (if I remember
correctly... you can find it at Koenigstuhl) with a subject line like:
"Koenigstuhl entry".
As for the use of step 13 in qutrum, :). Step 13 is really nice, and
was therefore used by many top warriors in the past. Naturally, the new
warriors are optimized against step 13 for the same reason. So, I think
it is better not to use it. Some other small steps could work better in
my opinion. I know that I usually make my scanners resistant to HSAish
attack, end ESPECIALLY to step 13. Did you test Qutrum with other
smaller steps, as well? (like in Razor, HSA, ...)
Did you test Qutrum against an clear/i which doesn't have spl #0, >gate
in dclear, but a simple spl 0, 0, therefore having a stream without
those holes that you've mentioned?

Nenad
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

I've tested some other small steps, and often they performed better
than 13, but my standard stepsize performs better. I've tested standard
Qutrum and one with small step against Digitalis with spl #0, 0 and
standard scored much better, probably because small-step version surely
losses when it finds clear's dats, and standard version can find middle
of cleared area, wipe half of it, then scan free area for some time.
And most stones/imp launchers have spreaded djns. I guess it's good
that I didn't knew that I shouldn't use large step ;)
 
G

Guest

Guest
Archived from groups: rec.games.corewar (More info?)

Oh I'm sorry for saying such stupid thing: of course it can't wipe
half, because clear is performed at C. It performs better because...
cause... well, I don't know why ;)