22 June 2010

Battleship Chronicles, Part III

Original email sent to CompTeam members:

Thank you for showing interest in computer science and participating in the Computer Team elective or joining the mailing list for the past trimester. I hope you learned something new, interesting, and worthwhile from the elective, whether it be a new algorithm, that USACO is not trivial, that Battleship is fun, but even more so when visualized with fitting sound effects, that student-run electives work, or that Dr. Nevard loves dark chocolate. Most importantly, I hope you all had fun. I know that working on USACO training or listening to lectures can get quite boring; this is why we decided to do a project for the end of the year.

After about a month of work on the final project, Battleship, we finally get to see the skills of each and every one of you as problem solvers and computer scientists. From reading your code to watching your programs battle each other on screen, we have gotten a fairly good estimate of your skills in a real-life task. My expectations were in line with the tournament results.

The tournament was run on a homebuilt machine with the following specs: Intel Core 2 Quad Q9550, 8GB memory, 100GB disk, NVidia 8800GTS 320MB running Ubuntu 10.04 LTS. Each program played every other program 399 times. The following programs were included in the tournament:
  • AndrwsBtlshpPgrm v3.0 (Andrew Cai)
  • Colonel (Jie Guan)
  • Tertius (Alec Benzer, Mark Fayngersh, Vikram Jayashankar)
  • Slayer V5 (Nick Bevacqua)
  • Over 9000 (Sam Fingeret)
  • Bob (Sam Fingeret)
  • BruteForce (Sam Fingeret)
  • Random 2.0 (Sam Fingeret)
  • Rofl Copter (Matt Lotocki)
#NONAME (Alex Zhu) was not entered because it was less than 50 lines long. Alex Zhu was disqualified by teachers' discretion. His program just shot at cell `A1'.

Zumwalt Mk II (Jonathan Beekman) was not entered because some opponents' ship placements caused it to hang.

Ari Jidai (Jonathan Sorce) was not entered because some opponents' ship placements caused it to crash.

With that being said, let me present the tournament rankings:

nonitalics = benchmark programs; they are not allowed to win the tournament

=== RESULTS ===
1. Over 9000 won 2857
2. Colonel won 2551
3. AndrwsBtlshpPgrm v3.0 won 2536
4. Slayer V5 won 1902
5. Bob won 1794
6. Tertius won 1419
7. BruteForce won 592
8. Random 2.0 won 479
9. Rofl Copter won 234

Congratulations Jie Guan for winning the first annual Battleship Tournament! Also, props to Andrew for putting up a tough fight.

Here are more statistics:

=== ACCURACY ===
Over 9000 : 37.11636673573047%
AndrwsBtlshpPgrm v3.0 : 33.74789674827501%
Colonel : 32.46263314180419%
Tertius : 29.055394377209023%
Slayer V5 : 28.02107767763948%
Bob : 27.673535550917084%
Random 2.0 : 17.22408350601313%
BruteForce : 17.080802952490675%
Rofl Copter : 9.710122203384847%

And even more statistics:

=== FULL RESULTS ===
1 = AndrwsBtlshpPgrm v3.0
2 = Colonel
3 = Tertius
4 = Slayer V5
5 = Over 9000
6 = Bob
7 = BruteForce
8 = Random 2.0
9 = Rofl Copter

1 2 3 4 5     6     7     8     9
1  0 220 318 308 124 375 398 399 394
2 179 0 379 389 56   351 399 399   399
3 81 20 0    29 50    63   381   396   399
4 91 10 370 0 67   168   399 398   399
5 275 343 349 332 0 377 399 399 383
6 24 48 336 231 22 0 398   398 337
7 1 0 18 0 0 1 0   252   320
8 0 0 3 1 0 1   147     0 327
9 5 0 0 0    16 62    79    72 0
We will be sending out an explanation about Over 9000 in the near future, by popular request.

Again, thank you all for participating in the tournament and in the elective. We hope you found it to be interesting and more helpful/fun/challenging than your normal computer science classes. I won't be sending out many emails from now on; I expect one or two more regarding the future of Computer Team. Enjoy the remainder of the year!


The Visualizer source code and dependencies are located here: http://github.com/shewu/Battleship-Visualizer

No comments:

Post a Comment