Actually running your opponent, and passing it a fake version of its own source code is a bad idea-if it notices, it can call either forkbomb() or loopforever() as needed.
Incidentially, are you sure you want to run the whole thing as winner-take-all? My fisheries class a while back ran a delayed-effect prisoners dilemma over the matter of fish sustainability…
except that it was actually a zero-sum game because there was only ONE extra credit point, with winner take all.
Halfway through, after the fish were extinct and my team-which had the most boats-was losing due to boat-upkeep costs, I singlehandedly turned the whole thing into a game about market manipulation by running a pyramid scheme involving the boats. (I still lost because I forgot to keep exponentially buying more boats with loans from the bank, but oh well...)
Alas, I won’t be competing. (and if I do, I’ll just throw out a mimicbot...) Keep it in mind, though, if you set another one up.
There were 5 or so teams.
there were 10 or 15 “years” (rounds).
Each round, you can buy brand new boats in proportion to your current fleet, go fishing with n boats, buy boats from other players, sell boats to other players...and pay a maintanence fee on your current fleet size. Each boat that goes fishing costs a little bit more to run than letting it sit in one place. The fish reproduce, but slowly.
At the very end of the game, fleet value and bank account are added up to determine the winner.
But the value of boats is player-driven...and there was no limit on how much debt you could go into. meanwhile, the cost for brand-new boats...was constant.
The instructor intended to illustrate how the prisoners dilemma plays a role in overfishing, which I don’t think is what we actually wound up learning, since our metagame was winner-take-all and not a prisoner’s dilemma.
...
Again: you might learn something interesting with winner-take-all, and may even need to use that as the setup to prevent cooperate-bot spam due to the types of the people on this site...but it IS a different metagame. Keep that in mind when interpreting the results.
edit2: By different metagame, I mean that this tournament posesses a nash equilibrium of programs for which each program is considered a move. Finding it is possible in finite steps(It does not run afoul of the halting problem due to the 10 second limitation, as measured by the hardware of a specific machine and environment), but a brute-force approach would probably take more memory than our universe appears to possess.
I just realized...
Actually running your opponent, and passing it a fake version of its own source code is a bad idea-if it notices, it can call either forkbomb() or loopforever() as needed.
Incidentially, are you sure you want to run the whole thing as winner-take-all? My fisheries class a while back ran a delayed-effect prisoners dilemma over the matter of fish sustainability… except that it was actually a zero-sum game because there was only ONE extra credit point, with winner take all.
Halfway through, after the fish were extinct and my team-which had the most boats-was losing due to boat-upkeep costs, I singlehandedly turned the whole thing into a game about market manipulation by running a pyramid scheme involving the boats. (I still lost because I forgot to keep exponentially buying more boats with loans from the bank, but oh well...)
Alas, I won’t be competing. (and if I do, I’ll just throw out a mimicbot...) Keep it in mind, though, if you set another one up.
Can you explain the game in more detail? I don’t understand what to make of your strategy.
ok.
There were 5 or so teams. there were 10 or 15 “years” (rounds). Each round, you can buy brand new boats in proportion to your current fleet, go fishing with n boats, buy boats from other players, sell boats to other players...and pay a maintanence fee on your current fleet size. Each boat that goes fishing costs a little bit more to run than letting it sit in one place. The fish reproduce, but slowly.
At the very end of the game, fleet value and bank account are added up to determine the winner.
But the value of boats is player-driven...and there was no limit on how much debt you could go into. meanwhile, the cost for brand-new boats...was constant.
The instructor intended to illustrate how the prisoners dilemma plays a role in overfishing, which I don’t think is what we actually wound up learning, since our metagame was winner-take-all and not a prisoner’s dilemma.
...
Again: you might learn something interesting with winner-take-all, and may even need to use that as the setup to prevent cooperate-bot spam due to the types of the people on this site...but it IS a different metagame. Keep that in mind when interpreting the results.
edit2: By different metagame, I mean that this tournament posesses a nash equilibrium of programs for which each program is considered a move. Finding it is possible in finite steps(It does not run afoul of the halting problem due to the 10 second limitation, as measured by the hardware of a specific machine and environment), but a brute-force approach would probably take more memory than our universe appears to possess.
edit3: see also nshepperd’s comments