Tests weather the opponent code is based on the same pattern, and if so, cooperates. Otherwise it verifies an arithmetical fact and then defects.
ETA: Sorry, I was writing this in a hurry. To clarify, the idea was to create a Schelling point for a specific AbsoutismBot wrapper which will help all of the submitters to cooperate. Unfortunately, this current program doesn’t work (and the indentation doesn’t work either). I will try to modify it in the future.
ETA: Boy, the original is so bug-ridden it’s funny. Anyways, I tested this and it should work. Use this for Schelling point needs.
ETA: Bah, I give up in trying to get it indented properly.
ETA: AlexMennen has clarified the rules so that my meta-strategy is illegal.
The timing clause in the initial let is superfluous. Time doesn’t enter into the matching, which is really all that the template needs; if you need timings to deal with non-CliqueBot players differently, you can get them in the “do something else” section.
The idea behind the timing clause is so that the program will know precisely when it started running, rather than when the pattern-matching was completed. Now, I did this test:
> (define func (eval code0))
> (time (func code0))
cpu time: 0 real time: 1 gc time: 0
'C
which reveals that the difference isn’t significant. However, now that the code is out in the open, I’m not changing it.
Using ThrustVectoring’s idea, I have a template other people can use to make a clique-team. The following code
Tests weather the opponent code is based on the same pattern, and if so, cooperates. Otherwise it verifies an arithmetical fact and then defects.
ETA: Sorry, I was writing this in a hurry. To clarify, the idea was to create a Schelling point for a specific AbsoutismBot wrapper which will help all of the submitters to cooperate. Unfortunately, this current program doesn’t work (and the indentation doesn’t work either). I will try to modify it in the future.
ETA: Boy, the original is so bug-ridden it’s funny. Anyways, I tested this and it should work. Use this for Schelling point needs.
ETA: Bah, I give up in trying to get it indented properly.
ETA: AlexMennen has clarified the rules so that my meta-strategy is illegal.
Copying code written by others would be considered a violation of the one submission per person rule.
Is there a way to have this pattern match without having the behavior match, or to incorporate two such patterns into one program?
The timing clause in the initial let is superfluous. Time doesn’t enter into the matching, which is really all that the template needs; if you need timings to deal with non-CliqueBot players differently, you can get them in the “do something else” section.
The idea behind the timing clause is so that the program will know precisely when it started running, rather than when the pattern-matching was completed. Now, I did this test:
which reveals that the difference isn’t significant. However, now that the code is out in the open, I’m not changing it.