Complexity Explorer Santa Few Institute

The tournament section is optional and is an extra (and extra fun) experience on top of the Challenge question and solution.  If you choose to take part in the tournament, please do not submit the tournament files with the rest of the submission.  Tournament .nlogo files must be submitted by June 5th 2018 directly to the email cxc@complexityexplorer.org.

Part II - The Tournament

Submission Deadline: June 5, 2018

Please submit your best, single-agent strategy (include both pseudo-code and the actual code) to enter into a tournament based on the original rules. You can assume that 0<=tau<1 and the tournament length will be 100 rounds.  There will be 50 agents in each tournament, some of these agents will be other entries, some of these agents may be copies of your own entry, some of these agents will act randomly every round, and some of these agents will choose a pool at the beginning and never move.  Depending on the number of entries we receive we may have to have an elimination bracket for the final tournament contest.

Write a NetLogo function of the following form:

to-report choose-strategy-ID

    [ low-payoff high-payoff low-number high-number my-payoffs my-choices ]

CODE CODE CODE CODE

report pool

end

Where ID is the unique ID number you will be given for this contest, CODE is the code that you have written and pool is an integer where 0 indicates that you want the to be in the stable pool, 1 indicates that you want to be in the low pool and 2 indicates that you want to be in the high pool.

low-payoff and high-payoff are lists where the first element in the list is the payoff received by the low (high) pool in the last round, the second element is the round before that all the way to the beginning of the tournament.  Payoffs are reported per agent, but if no agents choose the low pool or the high pool then the value that will be recorded is the same as if exactly one agent had chosen that pool. This is to prevent division by 0 errors, but is easily identified by the fact that the low-number / high-number elements discussed below will be 0 for that time period.

low-number and high-number are lists where the first element in the list is the number of agents who chose the low (high) pool  in the last round, the second element is the round before that all the way to the beginning of the tournament.

my-payoffs is a list where the first elements indicates the payoff that your received in the previous round, the second element is the round before that all the way to the beginning of the tournament.

my-choices is a list where the first elements indicates the choice that your agent made in the previous round, the second element is the round before that all the way to the beginning of the tournament.

In addition to the inputs passed in, you can assume that your turtle which is the calling agent has a property called my-data.  my-data is an empty list that you can use to store arbitrary data about your agent.

You will also have access to tau which is a global variable that is the current value of tau.  tau will be set to a draw from U[0,1) at the beginning of the each tournament.

In addition, to the variables and properties described above, please do not use any of the following variable names in your function since they are used by the simulation code:  entry?, wealth, my-pool, myp myc, my-strategy, lowp, highp, lown, highn, current-lowpay, current-highpay, current-lown, current-highn.

You will initially be placed in a random pool, and if you move in the first tick of the tournament to a different pool you will not be charged tau. After the first tick, every time your agent switches pools you will be charged tau. The winner of the tournament will be the agent which accumulates the most wealth after all rounds have finished. 

To get your ID, please request one from the team by filling out this Google Form.

Tournament Submission Guidelines: When you have written your function, place it in a blank text file with nothing else in it. Name your file ID.nls (a .nls file is a NetLogo source file that can be included in the tournament code) and submit that file as an attachment to an email  You can include a pseudocode document as well if you want to better explain your reasoning.

Follow this link to submit your tournament code: Submit Tournament Code


For general Challenge guidelines please go here: https://www.complexityexplorer.org/challenges/pages/guidelines