When working on the Hog project, students often ask themselves:
What aspects of the game can I exploit to beat the baseline strategy?
Occasionally, a student will think about that same question in a slightly different way:
From any state in the game, what are my chances of winning? And how do I maximize that chance?
While the first is enough to complete the project with flying colors, the second set of queries is what makes the game of Hog so interesting - it is an exercise in exploiting not the ruleset for that particular semester, but the probability at the heart of the game itself.
This semester, we created one of the largest and most ambitious rulesets yet. The new Piggy Back rule heavily penalized higher-numbered rolls, completely changing how the game was played compared to previous semesters. In conjunction with the Pork Chop contest rule, participants were given a wide variety of options with which to craft their final strategies.
34 submissions
1 disqualification
20771 pork chops
1649 new lines of contest grading code
2 weeks to publish results
As expected, participants triggered the swap when they were behind their opponent. We also noticed that there were two groups of people, one of which ensured that they would only swap once, and one of which would try swapping even if they had already swapped once.
Below is a heatmap of where players decided to roll -1 to trigger Pork Chop. The y-axis represents the current player's score, and the x-axis represents the opponent's score.
The undefeated champions!
If you participated, thank you - you're awesome! If you didn't win, don't worry - there'll be many other chances down the line.
login | wins | losses | ties |
---|---|---|---|
cs61a-aor | 32 | 0 | 0 |
cs61a-adu | 32 | 0 | 0 |
cs61a-abk | 31 | 1 | 0 |
cs61a-??? | 30 | 2 | 0 |
cs61a-arq | 27 | 5 | 0 |
cs61a-afk | 27 | 5 | 0 |
cs61a-agh | 27 | 5 | 0 |
cs61a-acm | 26 | 6 | 0 |
cs61a-bdy | 26 | 6 | 0 |
cs61a-bdu | 25 | 7 | 0 |
cs61a-adx | 25 | 7 | 0 |
cs61a-bet | 25 | 7 | 0 |
cs61a-ach | 25 | 7 | 0 |
cs61a-abc | 25 | 7 | 0 |
cs61a-aqk | 23 | 9 | 0 |
cs61a-ayd | 20 | 12 | 0 |
cs61a-blb | 20 | 12 | 0 |
cs61a-ajh | 20 | 12 | 0 |
cs61a-blg | 18 | 14 | 0 |
cs61a-any | 18 | 14 | 0 |
cs61a-anv | 18 | 14 | 0 |
cs61a-bhl | 16 | 16 | 0 |
cs61a-ain | 16 | 16 | 0 |
cs61a-aps | 15 | 17 | 0 |
cs61a-aln | 15 | 17 | 0 |
cs61a-biu | 13 | 19 | 0 |
cs61a-arm | 13 | 19 | 0 |
cs61a-ahz | 13 | 19 | 0 |
cs61a-ayr | 13 | 19 | 0 |
cs61a-anf | 12 | 20 | 0 |
cs61a-aez | 10 | 22 | 0 |
cs61a-aew | 10 | 22 | 0 |
cs61a-bex | 9 | 23 | 0 |
cs61a-aup | 8 | 24 | 0 |
cs61a-att | 8 | 24 | 0 |
cs61a-awn | 7 | 25 | 0 |
cs61a-adi | 5 | 27 | 0 |
cs61a-ahv | 5 | 27 | 0 |
cs61a-add | 4 | 28 | 0 |
cs61a-adl | 4 | 28 | 0 |
cs61a-aty | 4 | 28 | 0 |
cs61a-aqe | 3 | 29 | 0 |
cs61a-aqf | 2 | 30 | 0 |
cs61a-blk | 0 | 32 | 0 |
cs61a-bmc | 0 | 32 | 0 |