Capture The Flag '88 |
---|
Organiser: Lukasz Adamowski
Hi, people! This is a robin-round round without self-fighting. Once again we have three warriors in the core, but this time nothing is so clear as it was in round 17th. Only one of them is known: The Flag. The other two are opponents. The task of each of them is to eliminate the other warrior and (even more important) to keep The Flag alive to the end of fight. The problem is The Flag is suicidal warrior, it dies after CORESIZE cycles. The code of The Flag looks like this:
;redcode-88 ;name The Flag '88 ;assert 1 flag djn $0, #0 end flag
Can you see these two magic cyphers? "88" I mean. Yes, yes, ICWS'88 is obliging. Your warriors are to be written according to this standard too. Modifiers are disallowed, P-space also. This means no PINs, no LDPs and no STPs, no handshaking and no adaptative strategies (unless you know how to do it without P-space, all ideas are welcome). There are no other limits except usual pMARS settings:
CORESIZE | 8000 |
MAXPROCESSES | 8000 |
MAXCYCLES | 80000 |
MAXLENGTH | 100 |
MINDISTANCE | 100 |
other parameters: | |
ROUNDS | 2x1000 |
VERSION | 0.8.0 |
pmars -8 -s 8000 -c 80000 -p 8000 -l 100 -d 100 -r 1000
For people that are too lazy to look for ICWS'88 specification (copied from redcode.ref):
ICWS'88 Standard: No modifiers allowed. No P-space. Allowed opcodes: DAT [#<], [#<] MOV [#$@<], [$@<] ADD [#$@<], [$@<] SUB [#$@<], [$@<] JMP [$@<], [#$@<] JMZ [$@<], [#$@<] JMN [$@<], [#$@<] DJN [$@<], [#$@<] SLT [#$@<], [#$@<] CMP [#$@<], [$@<] SPL [$@<], [#$@<]
Scoring rules:
pmars -bk -8 -r 1000 flag.red warrior1.red warrior2.redyou should get 3 rows with 5 number in each. If not, there is probably something wrong with pMARS you use (version?). As LAchi wrote the first row is The Flag, the second is Warrior1 and the third is Warrior2. Last number in each row says how many times this warrior has lost, previous says how many fights were three-way ties (they should be the same in all rows). The most interesting for us scores are in the middle of each row. These numbers say how many times each warrior (The Flag or one of opponents) was one of two survivors. But what was the other one? Now (what LAchi cleverly found out) we can use these three equation to calculate scores of each warrior:
WF2 + 0 + WF1 = A
0 + W12 + WF1 = B
WF2 + W12 + 0 = C
where A, B and C are the third numbers from each row, Wxy means survivers were x and y (1 means Warrior1, 2 means Warrior2 and F means The Flag). Three simple equations with three variables. I think everyone knows a hundred of ways to solve this kind of problem. We are interested in WF1 and WF2 values, which are equal:
WF1 = (A + B - C).1/2
WF2 = (A + C - B).1/2
Now, how to compute total score? Once again, if you execute pMARS in this way:
pmars -bk -8 -r 1000 flag.red warrior1.red warrior2.redyou will get something like (x means any number, A, B, C as above, D is the number of three-way ties):
x x A D x x x B D x x x C D xPoints earned by Warrior1 are:
(A + B - C).3/2 + Dand points earned by Warrior2 are:
(A + C - B).3/2 + DThat's all! It's easy, isn't it?
You can also execute pMARS in that way:
pmars -bk -8 -r 1000 warrior1.red flag.red warrior2.redand use LAchi's calculating system assuming that The Bully is unknown opponent (warrior1), Little Sibling is The Flag and Big Sibling is your warrior. But what's the use to calculate score with unknown opponent??? I think this is more helpful for me than you, my dear participants. Thank you once again, LAchi! I will have much less of work hosting this round.
Oh, wait! I forgot I am participating too! My warriors are already ready and I have sent it to Lukasz Grabun (don't be too suspicious, there is nothing to do with our first names or the fact we are both from Poland, THERE IS NO CONSPIRACY IN HERE! ;). Lukasz Grabun is not participating, but please don't ask him how my warriors do work, OK? ;]
Please send your entries (2 entries per player are allowed) to the address: corewars@wp.pl with "RF18 entry" as a title. Deadline is June 1st, midnight (or rather 23:59, Greenwich time). This is Saturday. All the battles will be performed on Sunday June 2nd and the scores will be published on Monday June 3rd, I think. That's all! Questions, remarks and black-mail please send to the newsgroup rec.games.corewar. Good luck to you all! ;]
Lukasz Adamowski
Ten warriors written by six players took a part in Redcoders' Frenzy Round 18th. Most of them were scanners, there were also some stones/stunners and two (and a half ;) imps. It was robin-round tour, so particular results are shown below in table (I hope it's readable).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
608 | 1723 | 2458 | 2407 | 2469 | 4380 | 3088 | 1040 | 25 | 18198 | 100.0 | |
|
|
2423 | 2425 | 2021 | 1996 | 2347 | 2740 | 695 | 441 | 991 | 16079 | 88.4 | |
|
|
1165 | 1195 | 2000 | 2000 | 2926 | 2200 | 2449 | 1320 | 394 | 15649 | 86.0 | |
|
|
1465 | 1682 | 2000 | 2000 | 1465 | 2002 | 1758 | 1229 | 1216 | 14817 | 81.4 | |
Imp |
|
1468 | 1654 | 2000 | 2000 | 1454 | 2004 | 1752 | 1206 | 1202 | 14740 | 81.0 | |
|
|
1164 | 670 | 2791 | 1465 | 1454 | 2776 | 2821 | 332 | 44 | 13517 | 74.3 | |
|
|
447 | 466 | 1672 | 1999 | 1998 | 1927 | 2291 | 268 | 59 | 11127 | 61.1 | |
|
|
103 | 728 | 1309 | 2253 | 2274 | 676 | 2519 | 306 | 74 | 10242 | 56.3 | |
Stunner |
|
5 | 441 | 2046 | 1331 | 1347 | 1655 | 307 | 795 | 0 | 7927 | 43.6 | |
Dwarfie |
|
16 | 991 | 1675 | 1306 | 1277 | 887 | 110 | 26 | 3 | 6291 | 34.6 |
As you can see the winner of "Capture The Flag '88" round is Chip Wendell and his the only one entry "John Wayne". He has showed strategy "Shoot first, and ask questions later" is the best solution for such kind of problem. The 2nd is Achille "LAchi" Astolfi and his Imperfect. That's suprise, because Imperfect is only suicidal .5c bomber plus two imps. What's the idea of saving the flag? I think LAchi expected a lot of scanners, that's why he had entered with stone. Stone is expected to eliminate the opponennt, and these two imps' aim is to keep the flag alive. Clever! The 3rd place is for Lukasz Adamowski (that's me ;). Capturer'88 is simple 1c stunner which scans for dying body of the opponent after stunning. If it finds something alive, it will deal a death-blow, but it will omit one cell in which is supposed to be prisoned Flag process.
A "black sheep" of this round was Dwarfie by Zul Nadzri. :] Dwarfie usually doesn't let The Flag to survive, so fighting against Dwarfie warriors had less chance to score well.
That's all! Thank you guys for participating! Thanks to you I've earned 86 points in ranking. ;]]]