A working slowQscan, hopefully with no typo's.
I ran tests with all 16 triplets, as well as 14,12,10,8 & 6 against 6
q4 programs. The best scores were with 8 and 6. Each added triplet
gave up 2-3% more losses to each of the opponents. Apparently if you
are going to be a slow qscanner you better be a short one :-) At 6
triplets (24 scans and no 2-jmps) it outscored all the q4 programs
except "unheard-of" by 6-10 points. I ran all possible permutations
using a cycle limit of 5000 against each opponent.
Replacing the qM/qN pairs changed results against individual opponents
but did not make much difference on average, which is to be expected.
Once you go above step 100 there is nothing to be gained (unless
multiple opponents are using exactly the same qscan grid)
I did not try moving pGo to the end, or varying the separation between
the three components, maybe there is something more there. Certainly
you should not place the paper launch 60-85 locations before the scan
block, since that is where some of the q4's spend half their bombs.
;redcode-94
;name slowQscan
;author P.Kline
;assert CORESIZE == 8000
;1385,927 ; short list of working qM/qN combinations
;1395,932
;1400,940
;1405,931
;1410,956
;2820,1881
;2830,1880
;3290,937
;3295,938
;3300,939
;4230,2343
;4690,455
;4700,454
qM equ 2820
qN equ 1881
qStep equ 111
pStep equ (7*3754)
pStep2 equ (1303+7*1021)
pGo mov <pCopy ,{pCopy
tG spl }2 ,}1
tH spl 0
tI spl 0
mov <pCopy ,{pCopy
pCopy spl 1+7+4000 ,1+7
mov <1 ,{1
spl 2000+7 ,7
pPap spl @[EMAIL PROTECTED]
,>pStep
mov }pPap ,>pPap
mov {pPap ,<1
spl @[EMAIL PROTECTED]
,>pStep2
mov.i #6000-1-2667 ,}2667
mov.i >0 ,}0
for 20
dat 0,0
rof
qGo
sne qPtr+(qM+0)*(qN+0)+qStep*0 ,qPtr+(qM+0)*(qN
+0)+qStep*1
seq qPtr+(qM+0)*(qN+0)+qStep*2 ,qPtr+(qM+0)*(qN
+0)+qStep*3
qJump jmp qDec
sne qPtr+(qM+1)*(qN+0)+qStep*0 ,qPtr+(qM+1)*(qN
+0)+qStep*1
seq qPtr+(qM+1)*(qN+0)+qStep*2 ,qPtr+(qM+1)*(qN
+0)+qStep*3
qAinc jmp qDec ,}qDec
sne qPtr+(qM-1)*(qN+0)+qStep*0 ,qPtr+(qM-1)*(qN
+0)+qStep*1
seq qPtr+(qM-1)*(qN+0)+qStep*2 ,qPtr+(qM-1)*(qN
+0)+qStep*3
qAdec jmp qDec ,{qDec
sne qPtr+(qM+0)*(qN+1)+qStep*0 ,qPtr+(qM+0)*(qN
+1)+qStep*1
seq qPtr+(qM+0)*(qN+1)+qStep*2 ,qPtr+(qM+0)*(qN
+1)+qStep*3
qBinc jmp qDec ,>qDec
sne qPtr+(qM+0)*(qN-1)+qStep*0 ,qPtr+(qM
+0)*(qN-1)+qStep*1
seq qPtr+(qM+0)*(qN-1)+qStep*2 ,qPtr+(qM
+0)*(qN-1)+qStep*3
qBdec jmp qDec ,<qDec
sne qPtr+(qM-1)*(qN-1)+qStep*0 ,qPtr+
(qM-1)*(qN-1)+qStep*1
seq qPtr+(qM-1)*(qN-1)+qStep*2 ,qPtr+
(qM-1)*(qN-1)+qStep*3
qFdec djn.f qDec ,qDec
sne qPtr+(qM+2)*(qN+0)+qStep*0 ,qPtr+(qM+2)*(qN
+0)+qStep*1
seq qPtr+(qM+2)*(qN+0)+qStep*2 ,qPtr+(qM+2)*(qN
+0)+qStep*3
jmp qAinc ,}qDec
sne qPtr+(qM+1)*(qN+1)+qStep*0 ,qPtr+(qM+1)*(qN
+1)+qStep*1
seq qPtr+(qM+1)*(qN+1)+qStep*2 ,qPtr+(qM+1)*(qN
+1)+qStep*3
jmp qBinc ,}qDec
sne qPtr+(qM+1)*(qN-1)+qStep*0 ,qPtr+(qM
+1)*(qN-1)+qStep*1
seq qPtr+(qM+1)*(qN-1)+qStep*2 ,qPtr+(qM
+1)*(qN-1)+qStep*3
jmp qBdec ,}qDec
sne qPtr+(qM-2)*(qN+0)+qStep*0 ,qPtr+(qM-2)*(qN
+0)+qStep*1
seq qPtr+(qM-2)*(qN+0)+qStep*2 ,qPtr+(qM-2)*(qN
+0)+qStep*3
jmp qAdec ,{qDec
sne qPtr+(qM-1)*(qN+1)+qStep*0 ,qPtr+(qM-1)*(qN
+1)+qStep*1
seq qPtr+(qM-1)*(qN+1)+qStep*2 ,qPtr+(qM-1)*(qN
+1)+qStep*3
jmp qBinc ,{qDec
sne qPtr+(qM-2)*(qN-1)+qStep*0 ,qPtr+
(qM-2)*(qN-1)+qStep*1
seq qPtr+(qM-2)*(qN-1)+qStep*2 ,qPtr+
(qM-2)*(qN-1)+qStep*3
jmp qFdec ,{qDec
sne qPtr+(qM+0)*(qN+2)+qStep*0 ,qPtr+(qM+0)*(qN
+2)+qStep*1
seq qPtr+(qM+0)*(qN+2)+qStep*2 ,qPtr+(qM+0)*(qN
+2)+qStep*3
jmp qBinc ,>qDec
sne qPtr+(qM+0)*(qN-2)+qStep*0 ,qPtr+(qM
+0)*(qN-2)+qStep*1
seq qPtr+(qM+0)*(qN-2)+qStep*2 ,qPtr+(qM
+0)*(qN-2)+qStep*3
jmp qBdec ,<qDec
sne qPtr+(qM-1)*(qN-2)+qStep*0 ,qPtr+
(qM-1)*(qN-2)+qStep*1
seq qPtr+(qM-1)*(qN-2)+qStep*2 ,qPtr+
(qM-1)*(qN-2)+qStep*3
jmp qFdec ,<qDec
sne qPtr+(qM-2)*(qN-2)+qStep*0 ,qPtr+
(qM-2)*(qN-2)+qStep*1
seq qPtr+(qM-2)*(qN-2)+qStep*2 ,qPtr+
(qM-2)*(qN-2)+qStep*3
djn.f qFdec ,qDec
jmp pGo
for 4
dat 0,0
rof
null dat 0,0
qSteps dat qStep*2-1 ,qStep*2
qDec mul.x #qM ,#qN
add.f qDec ,qPtr
sne *qPtr ,@[EMAIL PROTECTED]
add.f qSteps ,qPtr
sne null ,@[EMAIL PROTECTED]
mov.x qPtr ,qPtr
qPtr mov 0 ,{qStep
mov null ,>qPtr
jmn.f qPtr ,@[EMAIL PROTECTED]
jmp pGo
end qGo


|