## Posts

2014 iterated prisoner's dilemma tournament results 2014-09-30T21:23:26.914Z
Announcing the 2014 program equilibrium iterated PD tournament 2014-07-31T12:24:07.544Z

Comment by tetronian2 on Open thread, Feb. 06 - Feb. 12, 2017 · 2017-02-07T12:17:15.876Z · LW · GW

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.

Comment by tetronian2 on Open Thread - Aug 24 - Aug 30 · 2015-08-24T20:23:34.826Z · LW · GW

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.

Comment by tetronian2 on Open Thread - Aug 24 - Aug 30 · 2015-08-24T15:52:39.795Z · LW · GW

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.

Comment by tetronian2 on Open Thread - Aug 24 - Aug 30 · 2015-08-24T15:26:59.885Z · LW · GW

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?

Comment by tetronian2 on Crazy Ideas Thread, Aug. 2015 · 2015-08-12T11:58:46.084Z · LW · GW

Ethereum is somewhat close to this.

Comment by tetronian2 on Open Thread, Jul. 27 - Aug 02, 2015 · 2015-07-30T00:49:30.569Z · LW · GW

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 the computational modeling of emotions, the aim is to capture in “Vulcan” logic such emotions as vengefulness.

...which makes it sound like the utility function/moral framework will be even more ad hoc.

Comment by tetronian2 on Open Thread, Jul. 27 - Aug 02, 2015 · 2015-07-29T00:38:19.206Z · LW · GW

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?)

Comment by tetronian2 on Open Thread, Jul. 20 - Jul. 26, 2015 · 2015-07-26T16:33:38.656Z · LW · GW

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:

• Random-length rounds rather than fixed length
• Single elimination instead of round-robin elimination
• More tooling (QuickCheck-based test suite to make it easier to test bots, and some other things)

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 (represented as a GADT), but I figured that writing bots in Haskell was already enough of a trivial inconvenience for people without involving a special DSL, so I dropped that line of experimentation.

Comment by tetronian2 on Open Thread, Jul. 20 - Jul. 26, 2015 · 2015-07-23T02:08:34.127Z · LW · GW

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.

Comment by tetronian2 on Open Thread, Jul. 20 - Jul. 26, 2015 · 2015-07-21T00:57:27.109Z · LW · GW

Is anyone interested in another iterated prisoner's dilemma tournament? It has been nearly a year since the last one. Suggestions are also welcome.

Comment by tetronian2 on 2014 iterated prisoner's dilemma tournament results · 2014-10-01T20:29:34.591Z · LW · GW

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.

Comment by tetronian2 on 2014 iterated prisoner's dilemma tournament results · 2014-09-24T15:54:15.806Z · LW · GW

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.

Comment by tetronian2 on 2014 iterated prisoner's dilemma tournament results · 2014-09-24T14:36:34.911Z · LW · GW

Thanks; fixed. And thanks for this analysis! I've added it to the OP.

Comment by tetronian2 on 2014 iterated prisoner's dilemma tournament results · 2014-09-24T14:26:52.453Z · LW · GW

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.

Comment by tetronian2 on 2014 iterated prisoner's dilemma tournament results · 2014-09-24T14:25:08.289Z · LW · GW

Thanks; fixed.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-09-24T02:51:12.581Z · LW · GW

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.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-09-19T23:17:19.610Z · LW · GW

There are 11 entries; I am very impressed by the amount of effort everyone put into their bots.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-09-17T20:11:05.318Z · LW · GW

I'm glad! It depends on how long it takes me to write up all of the results, but probably within 1 week.

Comment by tetronian2 on Open thread, Sept. 1-7, 2014 · 2014-09-02T02:23:00.131Z · LW · GW

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 average folk than we are might want to take a look at it.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-09-01T15:04:22.563Z · LW · GW

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.

Comment by tetronian2 on Why are people "put off by rationality"? · 2014-08-08T17:23:32.241Z · LW · GW

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 designed so that he can teach these rationality lessons to other characters. It feels like the world is unfair, and unfair in the favor of an unlikeable and arrogant character. There is a real-world corollary of this, of course--very arrogant people who always get what they want--and I suspect my emotional reactions to these real and fictional situations are very similar.

(I have since caught up with the rest of the fic, and enjoyed most of it.)

Comment by tetronian2 on Why are people "put off by rationality"? · 2014-08-06T21:41:01.234Z · LW · GW

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" or "ew" reaction and another group does not are fascinating to me, not least of all because they seem to pop up quite frequently here, e.g. about Eliezer's OKCupid profile and NYC cuddle piles. Both sides spew huge amounts of ink explaining their emotional reactions, and yet there never seems to be any actual sharing of understanding. In the interests of trying harder...I was also very aggravated by the first few chapters of HPMOR, and would be happy to discuss it calmly here.)

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-08-06T10:51:08.191Z · LW · GW

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.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-08-01T18:50:48.663Z · LW · GW

Whoops, fixed. And thanks, I'm curious to see what happens with this ruleset.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-08-01T12:04:30.101Z · LW · GW

Thank you for submitting! Yes, I am accepting one bot per person.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-08-01T12:04:27.276Z · LW · GW

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.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-07-31T19:24:47.791Z · LW · GW

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.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-07-31T19:20:59.061Z · LW · GW

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.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-07-31T18:18:12.822Z · LW · GW

Exactly right.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-07-31T15:56:26.204Z · LW · GW

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.

Comment by tetronian2 on Announcing the 2014 program equilibrium iterated PD tournament · 2014-07-31T14:40:34.274Z · LW · GW

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 will be declated the overall winner.

In other words, bots do not play against themselves, but they will play against all other bots at least once per tournament iteration. Let me know if this is unclear. (This setup was suggested to me by James Miller.)

Comment by tetronian2 on Open thread, July 28 - August 3, 2014 · 2014-07-30T21:54:25.796Z · LW · GW

Thank you, that is an excellent explanation and you have changed my mind; I will implement an elimination tournament as you described.

Comment by tetronian2 on Open thread, July 28 - August 3, 2014 · 2014-07-30T16:26:04.455Z · LW · GW

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 tie seems inevitable. This result doesn't sound very exciting for a competition, but is there is some sense in which it is theoretically "better" than round-robin?

Edit: This outcome doesn't always happen, but it happens most of the time.

Comment by tetronian2 on Open thread, July 28 - August 3, 2014 · 2014-07-30T09:33:48.428Z · LW · GW

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.

Comment by tetronian2 on Open thread, July 28 - August 3, 2014 · 2014-07-30T02:30:05.913Z · LW · GW

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.

Here are the rules and a brief tutorial (which are significantly more fleshed out than they were last week). I intend to open up the tournament and announce it via a discussion post in a few days, but until then, I would love to hear your feedback and suggested changes to the rules/implementation, no matter how major or minor. When the tournament opens, LW users with 50+ karma who do not know Haskell can PM me with an algorithm/psuedocode, and I will translate it into a working bot for them.

Comment by tetronian2 on Open thread, July 21-27, 2014 · 2014-07-24T09:14:22.764Z · LW · GW

Thanks for the feedback. I agree on both points; I will probably change the wording to what you suggested.

Comment by tetronian2 on Open thread, July 21-27, 2014 · 2014-07-24T02:10:53.401Z · LW · GW

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 tournament is run. Also, to help out non-programmer participants, I will be translating some participants' pseudocode/descriptions of algorithms into code. More details on this later.

The (work in progress) code that will be used to run the tournament is here.

Right now everything is still in the preliminary stages, so I would appreciate: