We have completed a number of games, each with between 1000 and 3000 rounds. We are currently in the process of contacting those who will be interviewed, verifying our results, etc. While we do so, we thought the community might like to see some of the aggregate results about how the game turned out.
The below graph shows the number of surviving players vs. round for some of our games. Initially, there were 350 good submissions (submissions that had the right syntax, did not freeze or break, had the appropriately defined classes etc.). As you can see, the initial food bank keeps everyone alive for a while and then quite a few people start to die very quickly. Eventually a new population equilibrium composed of survivors is reached, which is where the tails flatten out. Since this equilibrium is stable that's an indication that there are enough semi-hunting algorithms to offset the continual food loss of the population. This is good: you Brilliant members have given us reason to believe that there is hope for the human race, as not only are you smart, but apparently you are not all mean slackers too.
Who did survive all the games? Below is a graph of the reputation vs. round death. In other words, when a player died we recorded the round of death and the player's reputation at death. As you can see, those who hunted all the time died very quickly. However, those who slacked all the time did as well. This was by design - we hoped that people would realize that there were strategies that beat the always slack strategy and many people did pick up on this fact. Hence the players who lasted the longest but still died did actually cooperate some.
Additionally, the end-of-game reputations of those who survived every game are plotted below (remember every game ends after a certain randomized number of rounds). As you can see, the survivors had reputations clustered around 0.5, in fact the survivor reputation average worked out to be 0.54. I'm curious about the possible spike near the reputation of 0.2. My suspicion is that these slacking players built up a big buffer of food in the early game, but after most of the other algorithms died out these mostly slackers were slowly starved out by the remaining players. I have not explored this yet, however.
Easy Math Editor
This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.
When posting on Brilliant:
*italics*
or_italics_
**bold**
or__bold__
paragraph 1
paragraph 2
[example link](https://brilliant.org)
> This is a quote
\(
...\)
or\[
...\]
to ensure proper formatting.2 \times 3
2^{34}
a_{i-1}
\frac{2}{3}
\sqrt{2}
\sum_{i=1}^3
\sin \theta
\boxed{123}
Comments
If we survived should we have received an email by now?
Log in to reply
we're working on emails, most likely today or tomorrow
So here's my take on how it played out:
Many people wrote algorithms that:
--emulated the average behavior of the tribe, and/or
--punished bots with a lower reputation.
People call these strategies "tit-for-tat," but unlike real tit-for-tat, the bots in this competition are anonymous* and thus not accountable from one turn from the next. So rather than enforcing cooperation, these tit-for-tats bots slowly dragged each other into a downward spiral. A bot that punishes uncooperativeness, or matches other bot's uncooperativeness, will lower its own reputation in the process, resulting in a feedback loop.
Anyway, I looked through the strategies thread and counted, and it turns out Emulator/Punisher strategies are actually a lot rarer than strategies which put the question of what reputation to maintain first. So maybe this is all wrong....
*except to bots that implement tracking, but those are a tiny minority, and even then tracking doesn't work until late in the game when most bots are already dead or stable and game is effectively over.
Kudos to the people who organized this awesome game. Thank you for providing so many of us with entertainment, challenge, and curiosity.
I hope all of the non-survivors get to find out, at the very least, on which round they starved. It would be totally awesome though if everyone got to see a graph of their food and reputation over time.
I just knew I should have submitted Random(0.55)!
I'd be interested in seeing graphs about how m effected the field.
Hi, can I know my rank? I just wanna know if my program executed correctly or not... because I was very sure that I'm going to be at least a survivor, now that I'm not, I want to know good the program was... Thanks.
Log in to reply
Ranks for everyone will be published once interviews (scheduled for tomorrow, this weekend and early next week) are complete.
Log in to reply
I survived but I wasn't able to schedule an interview, I tried emailing and didn't get a response.
So if you didn't get an email by now you didn't survive?
edit: apparently my teammate got an email and i didn't. hm.
Log in to reply
Log in to reply
It's amazing how nobody died between reputations 0.5 and 0.6.
Log in to reply
Probably because the terrible ones died too quickly.
should i have received an e-mail? because i didn't
Excellent!
This is fantastic! Could you also post a graph of how many hunts happened per round, and color-coding the points by whether the cooperation threshold was acheived or not?
Log in to reply
Is there also a transcript available (text file) of the games, if your engine did spit out any human-readable statistics of the game as it was in progress?
Will I see my stats?
Excuse me, but I haven't receive any email to confirm if I survive or not. What does that mean? Is my algortihm rejected or I didn't survive?
What should I do if I haven't received any email yet, although I had submitted the code?
Beautiful! I was waiting for something like this.
Well, I have a feeling I died pretty soon, since I never saw anything that said playerreputations and huntdecisions were in the same order.
Will I at least get to learn my average reputation/how many rounds I survived?
On a completely unrelated note, I wonder why so many more people died in Run 3...
Log in to reply
Yes, you'll get to learn how you did.
Log in to reply
On the submission page? Or on another email? Because the one I've received offered no educative information, it was just a 0/1 (you are (not) a finalist) instead of giving detailed info, at least on the lines of what Nicholas suggested above.
Who will win the t-shirt? those who survived on all simulations only?
It would be nice if we could find out which of these dots we are.
I also have not received an e-mail yet, should I just assume that I did not survive?
UPDATE: Due to requests for more graphs during interviews, we have posted raw game data from one of our games here. This should allow everyone to display the graph they want! Put it up in the moar data! discussion if you think it's interesting to the community.
It looks like a lot of people died around the 300th round. Any one care to guess why so many people with repuations in the range of 0 to 0.4 all died at the same time? It is making me wonder if I understand the definition of "Round". If someone dies at round = 300, did that person have 300 TOTAL opportunities to hunt, or 300 opportunities to hunt with EVERYONE?
Log in to reply
With everyone.
Log in to reply
So then, what's your theory about why so many people died around the 300th round? And why nobody died before then? It must have something do do with the number if times the group failed to exceed M.
Log in to reply
It appears that deviations from this equal probability case, influenced by the award factor and the benefits of slacking, have cancelled each other out for the overly slacking/hunting players.
Log in to reply
While M is being reached, it's a zero sum game with food getting redistributed amongst the players. The fact that people with a reputation of 1 lived until the 300th round indicates that M was pretty consistently reached for the first 300 rounds.
Log in to reply
Unless you mean "if 100% of your opponents slack against you" this is completely wrong. Regardless, it's beside the point; you start with enough food for 100 rounds in an impossible worst case (no one hunts against you, m is never reached, you always hunt), which means it goes further if conditions are any better.
That would be why the worst strategies died near round 300 instead of round 100.
Log in to reply
Log in to reply
300(P−1) where P is the number of players in the first round.
Log in to reply
About the spike near 0.2, I wonder if it has to do with players changing their strategy mid-game. Or it could be a strategy that gets gradually more selfish over time.
My strategy was to hunt just enough that if people are hunting X% of the time, I would be within the top X% of reputations among remaining players. Also, hunger leads me to being selfish. When my food reserve falls below 25% of what they were at their highest point, I take that as an indicator that my hunting efforts are not panning out, and I choose to slack instead. The idea is to spend the reputation capital I have amassed in exchange for short-term food. If this gets me back above the hunger threshold, I return to reputation seeking mode.
It looks like there were a lot of low reputations and not so many high ones. If I estimate the average overall hunting percentage [with the assumption that reputation does not change over time, I calculate the SumOfAll (reputation * highestsurvivedround_number)], it looks like the population was hunting ~30% of the time overall. If that is the case, I would be shooting for a 70th percentile reputation for the duration of the game. That means I was probably targeting a reputation of 0.3 to 0.4 in the early rounds and then trying to climb to a higher reputation after round 500 (when the slackers die off and allow the median reputation to rise substantially). But that is only IF I managed to survive beyond the 500th round. I could easily be one of the many poor starved souls.
Log in to reply
I did something very similar. My algorithm also gets selfish, but I added a limit that doesn't allow the reputation to go below 0.6 or above 0.8. Because the perfect reputation was 0.5 (lower than my limits) I guess that my algorithm did something that was not intended to do: lowered his reputation below the limit. Looking at the 2-nd graph. So either I suvived, either I'm one of those blue dots between 0.6 and 0.75
Log in to reply
My guess is that a lot more hunting took place in the second half of the game (after all the selfish people died out). Therefore, in the middle-game the survivors probably had a reputation around 0.4 to 0.5, and then it went up gradually towards the game's end. Remember, the later rounds have far fewer players though, so even if they were hunting 100% for the second half of the game, they would only have a limited opportunity for reputation improvement.
I think all interested people should email a certain email to receive every single detail about their personal code so that mass data won't need to be posted on Brilliant and clog up the page.
Cool! I'm very excited to see the results.
I would also like to see what happens if you let the simulation run it's course over tens of thousands of rounds. It looked like once the mostly hunters were left they were still gradually dying, just at a much slower rate. I'm also of the assumption that if we haven't been contacted by now, we did not win or survive?
Log in to reply
I doubt they contacted people who survived but were not in the running for finalist.
Log in to reply
Well, I just looked back at the rules and realized that "finalist" is everyone who survived. I didn't realize they were interviewing all surviving algorithms. lol me.
Ugh, I just know i'm going to be in that 54 that had not working code. Sitting here all excited for the results only to find out I did something dumb. It ran with chads simulator at least.
How can I know if my code was chosen to compete or how well it performed? Also can you tell us which type of algorithm performed best and which worst?
I misunderstood the game at first, so I thought the strategy was to always hunt. The day before submissions closed, I was writing a good algorithm, but before I finished, it was too late. D'oh! D'oh! D'oh! D'oh! D'oh!
Me and my teammate's strategy was like bellow. I would be happy to know the weak points of it, so can anyone please tell me the these weak points? Thanks.
We were always trying to reach the medium of the player reputations in each round. Thereby, we first of all found it from the "playerreputations" list, and depending on that, the number of hunts and slacks which we were going to do in that round, would be found: << the (R) we wanted to reach after the round * total (H + S) after this round = total (H) after this round >> And the number of slacks after this round would be: << total (S) after this round = total (H + S) after this round - total (H) after this round >> Then we wanted to slack with those reputations from the most and the less reputations(which were closer to those who are just hunting or slacking and it's better for us to slack with them as we calculated). For this we took a 2D array of the player reputations with the name "kplaces" which in this array: << kplaces[i][0] = playerreputation[i] , kplaces[i][1] = i >> the reason which we took a 2D array and saved the (i)'s was that we were going to sort it, and if we didn't do that the(i)'s would be lost... After we sorted it, from the beginning and the end of this array, we started to slack with the reputations which are most close to either 1 or 0 and saved the answer in huntdecisions. And after this, because we didn't want to cooperate with any reputation which is 0 or 1 (because they are almost surely just repeating something and the best result with them would be to slack) we iterate on k_places and find the 1's and the 0's and get sure that the answer relating to them is 's'
Sorry if it was boring!!
Log in to reply
Given what actually happened, my best guess is that after the excessive hunters died off, you ended up with a low enough reputation that the colluding bots lumped you in with the slackers.
In a population split between collusive and slacking strategies, the median reputation is actually the worst place to be because you're spending more food than slackers while not reaping the benefits of collusion.