This is a FAQ compiled by Brilliant staff with user questions and answers. You will not be able to ask questions here as we are trying to minimize clutter and make this easy to read. You may submit questions in our other discussion, or via email to competitions@brilliant.org.
Edited 7/24 about collusion and ties. Edited 7/29 about algorithms with problems.
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
In hunt_outcomes(food_earnings): is food_earnings a list in the same order as the order of reputations the hunt decision is based on? i.e. player_reputations in hunt_choices()? So you get the outcome of every of your hunt decisions explicitly?
Am I right under the assumption that there is no pre-round, or simulation, or any kind of other way of testing your program before the the competitions actually begins?
Can you submit more than one solution? (For e.g. I would like to submit one that will play to win and one that will play to survive)
Is it allowed or disallowed to collude with other algorithms (potentially your other submissions, submissions of your friends, etc.) based on agreements outside the game? (e.g. make 1 out of 100 a 'winner' and have the other 99 just help this chosen winner)
Collusion based on agreements outside the game will result in disqualification. If however, your algorithm is smart enough to determine in game that another algorithm is signaling and you wish to respond in a cooperative manner, i.e. collude, this is allowed as it is, by definition, part of the game.
Are we allowed to try to deduce from the information presented who the other players (randomly permuted) are?
Are we allowed to break your PRNG (e.g. assume you use a standard aX+b modulo p) to figure out all future randomness in the game?
Are we allowed to communicate (i.e. broadcast) to all other players before the submissions are made (e.g. make threats/offers or ensure that certain information is common knowledge)?
Will numpy or any other libraries be available? Is there any rule against using inspect?
I think I'm reading this wrong, but is it true, that the extra food for 100 player game is calculated like this: integer m is chosen from 0 < m < 9900 lets say m is 2 at least 2 people hunt, so every player receives 198 bonus food from the round?
Is it possible to go to negative food? That is, if I have 6 food left in a 3 player game can I still hunt twice (but still die if the other players don't hunt)?
If we use an OOP solution, is it expected that our player class be called Player?
Is it ok if that class inherits from another class in the same file?
Are there any limitations on imports (from the standard library)?
Will all players be in the same tribe? Or do we stay in one tribe for some rounds, then the survivors get merged with another tribe later? Or is it possible that some players will never be in the same tribe with other players?
Are we allowed to use the standard library? The random module in particular?
Can your program preserve state between rounds?
How much time will our program get before your server decides that it is stuck in a loop and kills it? Along the same vein, what is the ram usage cap?
Do you have a 'simulator' that would allow us to test our hungry programs?
Can we use another programming language other than Python?
I have been a member of Brilliant for a few months now and I have two friends with whom I'd like to make a team. Unfortunately, they do not have accounts on Brilliant. Am I still allowed to form a team with them and submit my team's code through my account, or do they have to also make accounts (or are they maybe not even allowed to play)?
Which version of Python will be supported?
Is there a check on ip's of the player who participates to the game? To prevent the creation of many account and that the same player submits more codes...this'll be unfair of course ;)
What happens in the case of a tie?
*What happens if a program get kicked out of the competition (eg. time-out, or some irregular behaviour)? It will suddenly die (so we should also expect random deaths) or it get substituted by some fixed strategy (eg. "always hunt", "chose at random", or "pick a random player, and replicate his moves for this turn")? Or the competition restart from scratch with that program removed?