Yep. I don't think I was ever aware of the name; someone threw this puzzle at me in a job interview a while ago, so I figured I'd post it here for fun.
I guess I didn't formulate the rules clearly enough--if the coin lands on tails, you exit with the stake. For example, if you play and the sequence is HEADS -> HEADS -> TAILS, you exit with $4. The game only ends when tails is flipped.
Suppose someone offers you the chance to play the following game:
You are given an initial stake of $1. A fair coin is flipped. If the result is TAILS, you keep the current stake. If the result is HEADS, the stake doubles and the coin is flipped again, repeating the process.
How much money should you be willing to pay to play this game?
1 flip --- $1 probability 1/2 2 flips -- $2 probability 1/4 3 flips -- $4 probability 1/8 4 flips -- $8 probability 1/16 ...
The expected value doesn't converge but it grows extremely slowly, where almost all the benefit comes from an extremely tiny chance of extremely large gain. The obvious question is counterparty risk: how much do you trust the person offering the game to actually be able to follow through with what they offered?
If we think of this as a sum over coin flips, each flip you think is possible gives another $0.50 in expected...
It appears they are going with some kind of modal logic, which also does not appear to deal with incomplete information. I also suspect "moral" will be conflated with "utilitarian" or "utilitarian plus a diff". But then there is this bit in the press release:
Bringsjord’s first step in designing ethically logical robots is translating moral theory into the language of logic and mathematics. A robot, or any machine, can only do tasks that can be expressed mathematically. With help from Rensselaer professor Mei Si, an expert in
Possibly of local interest: Research on moral reasoning in intelligent agents by the Renssalear AI and Reasoning Lab.
(I come from a machine learning background, and so I am predisposed to look down on the intelligent agents/cognitive modelling folks, but the project description in this press release just seems laughable. And if the goal of the research is to formalize moral reasoning, why the link to robotic/military systems, besides just to snatch up US military grants?)
So, to follow up on this, I'm going to announce the 2015 tournament in early August. Everything will be the same except for the following:
Edit: I am also debating whether to make the number of available simulations per round fixed rather than relying on a timer.
I also played around with a version in which bots could view each other's abstract syntax tree (rep...
Wow, I was not aware of that. I saw that the last one got some minor attention on Hacker News and Reddit, but I didn't think about the outreach angle. This actually gives me a lot of motivation to work on this year's tournament.
Is anyone interested in another iterated prisoner's dilemma tournament? It has been nearly a year since the last one. Suggestions are also welcome.
Wow, I had no idea that people missed out on the tournament because I posted it to discussion. I'll keep this in mind for next year. Apologies to Sniffnoy and BloodyShrimp and anyone else who missed the opportunity.
Good question--after running some matches:
AnderBot Cooperates until one of the copies randomly triggers a Defect, then both copies defect for the rest of the match.
CheeseBot, DMRB, SHTFT, SimpleTFTSeer, Switch, TatForTit, TwoFacedTit, and VOFB always cooperate with themselves.
Pip always defects against itself.
Thanks; fixed. And thanks for this analysis! I've added it to the OP.
Congratulations! If you do work it out, please do post it here--I'm still not 100% sure how TatForTit managed to exploit CheeseBot and DMRB.
Thank you, I was a bit confused, and that did help me understand what you were going for. I'm actually very curious to see how the correct version performs; all of the bots will be open-sourced soon, so you're welcome to experiment. I will probably run some tests as well.
There are 11 entries; I am very impressed by the amount of effort everyone put into their bots.
I'm glad! It depends on how long it takes me to write up all of the results, but probably within 1 week.
Has anyone else seen the television show Brain Games? It is essentially intro-to-cognitive-biases aimed at the level of the average TV watcher; I was pleasantly surprised by how well it explains some basic biases with simple examples (though I have only seen an assortment of episodes from the 3rd and 4th season). However, most of the material given is not very actionable and is designed more for entertainment rather than self-improvement. Nevertheless, those interested in raising the sanity waterline and/or sparking interest in LW subjects among more avera...
The correct deadline is Sept. 15th--I extended it by 15 days because of an error in the tournament code that went unfixed for two weeks, which delayed some people from writing their bots. I've updated the post to reflect this, thanks for catching it. Anyone who already submitted a bot is welcome to re-submit if they want to make changes to their bot before the 15th.
Yes, I did find that section grating. I'm describing my emotions post-hoc here (which is not generally reliable), but what I found irritating about the first few chapters was the fact that Harry acts in an extremely arrogant way, nearly to the point of coercing the adult characters, and the story-universe appears to back him up at every turn. This is the "Atlas Shrugged" effect described downthread by CellBioGuy. Harry is probably right in most of those arguments, but he is only so effortlessly correct and competent because the story-universe is ...
While this is true, there can be a distinction between a character with flaws and a character who is extremely irritating to read about. And this is one of those judgement calls where The Audience is Always Right; it seems very reasonable to stop reading a story if the protagonist noticeably irritates you.
In general, commentary to the effect of "you should like this thing" is not very useful, especially if you are trying to figure out why someone reacted negatively.
(These discussions in which one group has an overwhelmingly strong "squick&...
Thank you very much for catching this and for explaining it in detail here and on the github page; I'm going to play around with your proposed solution today and brainstorm any other ways of dealing with this.
Whoops, fixed. And thanks, I'm curious to see what happens with this ruleset.
Thank you for submitting! Yes, I am accepting one bot per person.
Good points. Simulations do give much less information than visible source code--this was a deliberate design choice on my part, but you are probably right that this kind of setup is not really "program equilibrium." I admit, I don't have a very good understanding of where the limits of the PD game really are, and I hadn't considered the problem of the all-players tie (fortunately I don't think it is going to happen in practice). Mutual cooperation and cliques are still viable strategies here, but they may not be the Nash equilibrium anymore. Regardless, I agree that this tournament is horribly misnamed.
Unlike last year's tournament, you can't, and this is part of the challenge. Simulations are a precious resource, and you have to make an educated guess about your opponent based on the limited simulations you have.
I figured that this game is sufficiently different from the classical PD that the same Nash equilibrium/style of thinking isn't going to apply, and I was interested to see what participants can do with the fixed-size rounds. So it's just an arbitrary experimental parameter that I'm curious about.
I agree. I chose Haskell because I was intrigued by how easy it was to restrict what bots are able to do, using only Haskell's type system. I would actually love it if a large number of non-Haskellers participated--I enjoy coding Haskell, and I don't mind putting aside some time to help if the result is a larger, more interesting tournament.
Excellent questions. Here are the rules pertaining to the tournament structure (from the readme):
One submission per person.
The tournament will be round-robin elimination: Each bot will play one match against all other bots, where a match consists of 100 rounds of the prisoner's dilemma. At the end of the round-robin round, the lower-scoring half of the tournament pool will be eliminated. This process will be repeated until only one bot remains, or there is a tie. The whole tournament will be run 1000 times, and the bot that places first most frequently w
Thank you, that is an excellent explanation and you have changed my mind; I will implement an elimination tournament as you described.
Can you explain the rationale behind the elimination setup a little more? An elimination tournament seems less fair than pure round-robin. Moreover, I ran some tests with various combinations of the example bots from the tutorial, and what generally happens is the bots with strategies along the lines of "I'll cooperate if you do" (i.e. tit-for-tat, justiceBot, mirrorBot) rise to the top and then just cooperate with each other, resulting in a multi-way tie. If the actual pool of submissions contain enough bots with that kind of strategy, a large t...
The elimination tournament better simulates evolution and capitalism. With a round robin you can have a successful strategy of taking resources from stupid people. But in nature and the marketplace stupid people won't consistently get resources and so a strategy of taking from them will not be a long-term effective one.
Thank you! These changes both make sense; I will adjust the tournament structure as you described and enter your bot when the tournament is open.
This is a followup to a post I made in the open thread last week; apologies if this comes off as spammy. I will be running a program equilibrium iterated prisoner's dilemma tournament (inspired by the one last year). There are a few key differences from last year's tournament: First, the tournament is in Haskell rather than Scheme. Second, the penalty for bots that do not finish their computation within the pre-set time limit has been reduced. Third, bots have the ability to run/simulate each other but cannot directly view each other's source code.
Thanks for the feedback. I agree on both points; I will probably change the wording to what you suggested.
Sometime in the near future, I will be running an iterated prisoner's dilemma tournament in which bots can access their opponents' source code, similar to the IPD tournament that was held last year. This tournament will be open to the Internet at large (i.e. not just LW) and will probably include some Hacker News folks and some folks from my real-life social network, who are primarily programmers and people in the finance world. Once everything is officially announced, there will be a large window (a month?) in which users can submit entries before the tou...
Is it currently legal to run a for-money prediction market in Canada? I assume the answer is "no," but I was surprisingly unable to find a clear ruling anywhere on the Internet. All I can find is this article which suggests that binary options (which probably includes prediction markets) exist in a legally nebulous state right now.