Retributive morality, prisoner's dilemma and more: A challenge to CFC

Incidentally, the setup of this particular game doesn't really align well with "Prisoner's Dilemma". It uses a similar gaming method, but the results and process are quite distinct.
Correct. Any individual round uses the Prisoner's Dilemma, though. But the title of this thread says "and more".

Eric, could you post the code? I would like to have a look at it.
Haven't finished it yet. Try writing your own and asking for submissions from another forum, maybe? ;)

It won't work in Erik's game, though, because nobody can submit an algorithm that will 'learn' that you're playing randomly.
If you include if-then statements of sufficient length and complexity, you *can* make it "learn". But the second best thing is probably algorithms with weighted plays based on the proportion of NN, ND, DN and DD received to date. Also, how would you define "random" as opposed to "has a stupidly complex algorithm"? :) Go ahead and ask other players what they're doing, but remember that they're free to lie.
 
Is determining the goal for ourselves part of it?

Yeah, that's where the bit about my asking you to represent your real-life morality comes in, so we can see how that performs.

The default is probably this for a lot of people:
10 PLAY N
20 PLAY (OPPONENT.PREVIOUS)
30 GOTO 20

Aka "trust people until they abuse your trust, but give them a chance to redeem themselves".

Another common one is:
10 PLAY N
20 IF (OPPONENT.PREVIOUS = D) GOTO 40
30 GOTO 10
40 PLAY D
50 GOTO 40

"trust people until they abuse your trust, then stop trusting them because they'll probably abuse it again".

Lots of variations.

Gogf, I haven't tested all of yours against all of the others yet (that will take some time), but so far they're all equal to or better than ArneHD's strategy. :)

Going to bed now, I'm sure I'll have a dozen PMs by morning, and perhaps some politics...
 
Interesting how the code works. That part didn't make much sense at first (ten play N? huh?), but it's kind of cool to see the way this thing is being told what to do.

Thanks for doing this, by the way. I've always wondered how other tactics would work in this :).
 
I PM'ed you my entries, this could be quite fun.
 
This looks good! :goodjob:

Surely the best thing to do is to always play dirty? At best you win 4 points, at worst you and your opponent get the same amount of points. Therefore you cannot lose, only win or draw. And you will win even if they only play nice once.
 
Yes, but if you are playing say two ten round games you are A, B is a TFT, and C/D are always co-operate
Your game will look like this;
4111111111=13 (A)
0111111111=9 (B)
3333333333=30 (C)
3333333333=30 (D)
As you can see D/C did way better than you did so you lost, you managed to beat B, but that doesn't really matter because in the tournament you are in 3rd place.
 
This looks good! :goodjob:

Surely the best thing to do is to always play dirty? At best you win 4 points, at worst you and your opponent get the same amount of points. Therefore you cannot lose, only win or draw. And you will win even if they only play nice once.

The goal is not to defeat as many opponents in a 1v1 contest as possible. The goal is to get the most points overall.
 
Eleven strategies so far.

Note: Given any play by the opponent, you will get the most points by playing dirty.
Counter-note: Given any play by the opponent, the most total points for the two of you will be scored by playing nice.
 
I just opened the thread, because I knew it would require thinking :) I don't know what I'd do in your case, at least not yet. I might have a token system ... I'm supposed to PM it?

There are a few things that I'll throw out for further thought. In an extended system like we have here, there are ways to think about such an arrangement when we incorporate aspects of life. Firstly, in life we can often switch partners. This means that you can choose to enter profitable arrangements with those who have (firstly) a history of cooperating and those who continue to profit with you. If they screw you, switch to someone else.

As well, you can (usually) punish someone else using your own resources. We see this all the time with people who cheat on Free Rider systems: cooperation will go down if people Free Ride, unless there is opportunity to punish. Amazingly, people will often use their own resources to punish Free Riders, and that helps keep other Free Riders in line.
 
Bump

So how's it going? How are my entries doing?
 
In real life, I try to enter arrangements with people who show a comprehension of the idea that 'mutual teamwork leads to further teamwork, which leads to the greatest long-term benefit'. If I can, I try to determine if they have a history of teamwork. For example, there are many people on this board who do not show an understanding of this topic; believing that relative success is more important, without realising that it's also (by neccessity) temporary. This means that, in general, I will not actually risk effort by entering into an arrangement with them. The best they can hope for is to Free Ride off of my life.

As well, I try to introduce the concept of escalating benefits to my partners. Failure to cooperate on a $10 deal means I will not use them for a $100 deal later, but someone else. This is where the application to my real life kicks in the best.

I'm assuming that there's no history of my partner to judge him with in the following, but I assume a communication level where my partner seems to understand the concept of 'opportunity cost'. In that, my partner understands that every round that we screw each other is a round that he loses two potential points. The end of the second round of screwing me results in a point being lost from his total.

Step 1: explain my game-strategy to my partner.
Step 2: Start with cooperation
Step 3: In general, I will cooperate.
Step 4: If I am defaulted on, then I will default until the opponent willingly returns the points to equality (he cooperates when I default). Upon the end of the second round after defaulting on me, his point total is lower than it could have been through cooperation.
Step 5: If I am defaulted on again, I will refuse to cooperate until the opponent puts himself in debt to me (cooperates twice with my defaulting twice).
Step 6: Once the number of rounds since the last default is > the number of rounds before the last default, I will willingly put myself back to equal status by allowing a default against me. I will then cooperate again.

Repeat.

This means that I can lose if I'm tricked in one, or two round game. I can also lose if my opponent screws me on the last round of the game.
 
In real life, I am of the view that playing N has hidden benefits and D hidden costs outside the parameters of the game, so that influences me a lot. If I were just playing theoretically, as here, I like the "start N, play N on N, play random on D" strategy.

And bear in mind that in real life, we don't ever have a clear idea of the point totals.
 
And bear in mind that in real life, we don't ever have a clear idea of the point totals.

This is why merchants we bargain with complain that our bargaining is starving their family. They're trying to convince you that they're not coming out ahead in the current arrangement.
 
Bump

So how's it going?

Sorry, programming has been a pain. First place has been taken over by "The Charismatic" as an algorithm, incidentally. Your "Altruism" is behind "Psycho", with "Tit for Tat" unsurprisingly being well at the head of the pack.

El_Machinae said:
I can also lose if my opponent screws me on the last round of the game.
I run the programs without foreknowledge of that, and I'm not specifying here how long the rounds are, so no worries.
 
Who's is "Charismatic"? I'm really suprised that "Altruism" isn't doing as well as "Psycho" totally confused there:confused:

How many entries do you have so far? Do you have a way of producing standings? That would be totally cool!:cool:
 
Who's is "Charismatic"? I'm really suprised that "Altruism" isn't doing as well as "Psycho" totally confused there:confused:
The Charismatic is one of the special entries which beat out Tit-For-Tat. The problem with your Altruism algorithm is this:
In which case it defects from then on...
:cringe:


How many entries do you have so far? Do you have a way of producing standings? That would be totally cool!:cool:
I have a dozen entries, and yes I have a way of producing standings - I play each strategy against each other strategy, and add up the points they get afterwards. (punkbass is doing surprisingly well so far!) However, this is hard to do consistently in my program, and part of the reason I'm doing this is to learn to program properly, so that I can add in new strategies, rather than grafting them in and setting them up manually. So, I have to be rigorous about this, and it's taking time. Maybe I'll ask a computer teacher for help.

(What, you thought I was doing all this for your benefit? ;):p)
 
Back
Top Bottom