Sections
Home
Hills
Infinite Hills
Tournaments
Software
Evolving
Optimizer
Community
Newsletter
Discussion
History
Sections
 
For Beginners
First Steps
FAQ
Guides
Lexicon
Benchmarks
For Beginners
> Home > Redcoders Frenzy > The Psycho Pair Round

Redcoders Frenzy - The ongoing corewar tournament

The Psycho Pair Round
Organiser: Nenad Tomasev


Rules

Some would say that corewar battle is about winning. Some would say that winning doesn't matter, that it's all about having as much fun as you can. Well, the fun is there, alright :). However, you'll need to do much more if you want to win this round of Redcoders Frenzy Tournament! You'll have to WIN, you'll have to LOSE and you'll HAVE to TIE... in a way, at least... The key to this round lies in finding the balance between the strong and the weak, choosing weak in a unique way, if possible, planning, considering many available options. Slightly unusual battle parameters make it no easier to win. Will you take the challenge?
                       combat properties:
                       ------------------

                       CORESIZE:    8192
                       MAXPROC:     267
                       MAXCYCLES:   100000
                       MAXLENGTH:   267
                       MINDIST:     267
                       NUM. ROUNDS: 600

                       Pspace is not allowed!
Two warriors per author are NECESSARY!!!! (you can't submit only one warrior - read further for explanation) So, it is a tourney hill size, and the number of cycles, in a medium-process enviroment. But there is more... Here is how the battles will be run, and the score calculated: Players will all submit two warriors, but the score of player won't be calculated as the score of the best scoring warrior by that player, but in a different way. Let's say that player X is fighting player Y. Let x1, x2, y1, y2 denote, respectively, the warriors submitted by the first and second player. Let sc_xi_yj denote the number of points, calculated using standard score formula, that warrior xi got when fighting warrior yj. Then this is the score formula used in this round of Redcoder's Frenzy tournament:
k1 equ 1
k2 equ 1.1
k3 equ 1.2
pointsX :=  k1*bestX - k2*worstX - k3*not_similarX
bestX := max{0.5*((sc_x1_y1 - sc_y1_x1) + (sc_x1_y2 - sc_y2_x1)), 0.5*((sc_x2_y1 - sc_y1_x2) + (sc_x2_y2 - sc_y2_x2))}
explanation: bestX is the better of the two averaged differences of scores of your warriors against the opponents warriors
worstX := min{0.5*((sc_x1_y1 - sc_y1_x1) + (sc_x1_y2 - sc_y2_x1)), 0.5*((sc_x2_y1 - sc_y1_x2) + (sc_x2_y2 - sc_y2_x2))}
explanation: worstX is the worse of the two averaged differences of scores of your warriors against the opponents warriors. Notice that if worstX < 0, you gain points!!!! In other words, it is good to have one good warrior that beats the opponent - will contribute to bestX, and one that loses much to your opponent as well!!!!
not_similarX := abs(sc_x1_x2 - sc_x2_x1)
explanation: to prevent people from submiting a good warrior and something like dat 0, 0 that'll lose horribly to the opponent, this final part of the score is introduced. If one of your warriors defeats the other heavily, it will have a negative impact on the score. Also notice that k3 > k2 > k1, so it is, in a way, more important to have warriors that have mutual W% - L% -> 0, than the warrior that loses a lot to the opponent. But, the best combination of these is what will make the winner of this round! Since handshaking in a usual way is impossible due to absence of pspace, it will be up to your skill to come up with a way to achieve this. Also, don't forget that you also need to make a good warrior, to increase your bestX score.

Results

There were 8 participants this time, and it was a close fight for the first place. There were also a few who obviously misunderstood the rules, thus ending up with a negative score. I added up the minimal number of scored points to all the scores later on, so that I could end up with % scores as usual. Without further delay, here are the final rankings:
author               score(average)   sc%
1. Chip Wendell             338     100
2. Robert Macrae            326      97.7
3. inversed                 246      82.8
4. Nenad Tomasev            237      81.1
5. Lukasz Adamovski         115      58.2
6. Zul Nadzri               26       41.5
7. Christian Schmidt       -149       8.6
8. Roy van Rijn            -195       0
The full overview of the used strategies, as well as the warrior code, will appear soon (I hope) on www.corewar.info The combo that Chip Wendell used was stone/imp + smart loser. The loser was able to recognize the s/i and join it, and suicided otherwise. My idea was to use .f HSAish scanner, and a warrior which had two parts - a counting loop and a jmp 0, 0. When it counted down to 0, it would kill the jmp, and then kill itself. Of course, the idea was that scanner will find and kill the loop before it killed the jmp 0, 0, which was invisible for the scanner. It didn't score as well as I expected, since there were many stones submitted, which had hurt my scanner too much. Zul Nadzri had gone for a simple approach He submitted a pair of dats. :) That yielded a win against every other player, but it didn't provide him with high enough score for a good place in the end. However, it prooves that it was possible to achieve a decent score in a very simple way. :)
Here is the full round-robin table:


Warrior        Index       1       2       3       4       5     6       7       8       9      10      11      12      13      14    15      16  Average
------- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -------
Warf for Dwin 1 ... 207.7 115.5 124.8 175.3 157.5 241.7 208.0 257.0 298.0 299.0 299.7 300.0 300.0 300.0 300.0 238.9
Hupapa 2 58.2 ... 118.2 105.5 59.3 201.8 286.3 226.8 290.3 300.0 300.0 298.7 300.0 300.0 300.0 300.0 229.7
Finders Keepers 3 105.0 101.2 ... 86.8 200.5 176.3 246.2 285.7 256.0 298.3 300.0 300.0 101.7 299.3 300.0 300.0 223.8
Wash'n'Go [rf25] 4 106.3 109.5 129.8 ... 141.8 104.5 249.3 186.3 257.5 284.2 138.3 299.7 299.7 298.3 300.0 300.0 213.7
DivineRFStrike 5 114.8 238.8 91.5 156.3 ... 123.7 104.8 250.7 78.5 300.0 299.2 105.5 299.3 298.8 300.0 300.0 204.1
Desperate Dan 6 130.0 89.3 111.3 188.5 169.7 ... 69.0 271.2 95.2 291.0 286.3 291.3 300.0 99.8 300.0 300.0 199.5
Dwarf for Win 7 39.2 9.8 36.2 28.3 190.3 225.0 ... 39.0 212.8 300.0 300.0 300.0 300.0 300.0 300.0 300.0 192.0
Zero Velocity 8 50.5 37.3 8.2 58.3 48.7 21.2 252.0 ... 271.8 100.0 299.7 299.3 300.0 300.0 300.0 300.0 176.5
MessTone 9 23.5 5.3 23.0 21.5 215.0 188.2 67.3 17.8 ... 296.3 296.3 245.0 300.0 299.7 300.0 300.0 173.3
Zero Trap 10 1.0 0.0 0.8 8.2 0.0 6.0 0.0 100.0 1.8 ... 300.0 300.0 300.0 300.0 300.0 300.0 127.9
Anthropomorphic 11 0.5 0.0 0.0 151.3 0.7 10.3 0.0 0.2 1.8 0.0 ... 300.0 300.0 300.0 300.0 300.0 111.0
DivineRFLoser 12 0.2 0.7 0.0 0.2 97.5 4.3 0.0 0.3 27.5 0.0 0.0 ... 300.0 300.0 300.0 300.0 88.7
Losers Weepers 13 0.0 0.0 99.2 0.2 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 275.5 300.0 300.0 65.0
Suicidal Sid 14 0.0 0.0 0.3 0.8 0.8 101.3 0.0 0.0 0.2 0.0 0.0 0.0 24.5 ... 300.0 300.0 48.5
DAT 0 0 15 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 150.0 10.0
DAT 0 1 16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 150.0 ... 10.0


© 2002-2009 corewar.info. Logo © C. Schmidt
The Rounds
Round 25
Round 24
Round 23
Round 22
Round 21
Round 20
Round 19
Round 18
Round 17
Round 16
Round 15
Round 14
Round 13
Round 12
Round 11
Round 10
Round 9
Round 8
Round 7
Round 6
Round 5
Round 4
Round 3
Round 2
Round 1
The Rounds