# 5

This game continues from the alternate timeline here where I made two mistakes in the game engine.

• Bots were passed their own previous move and told it was their opponent's previous move.
• Bots were always given 0 as the round index instead of the correct positive integer.

# CloneBots

Multiple people have noted that CliqueZviBot is outperforming the other CloneBots. This is due to how the CloneBot code interacts with the bugs in the my engine.

The CloneBots still cooperate, but they do so imperfectly. All CloneBot pairings result in 200-300 splits instead of 250-250 splits. The CloneBots use source code parity combined with round number parity to determine who wins the 200-300 split. Therefore if CloneBotA and CloneBotB get a 200-300 split in favor of CloneBotB then they will always get a 200-300 split in favor of CloneBotB.

# Rounds 11-30

## Round 11

Looking at the obituary I suspect that CooperateBot may not last much longer.

Prediction by Larks after seeing the results from Rounds 1 to 10

Larks' CooperateBot died on round 11.

## Round 12

PasswordBot from Team Multics died along with "Why can't we all just get along" from Chaos Army and an NPC.

No casualties.

## Round 14

6 bots died.

• BeauBot, OscillatingTwoThreeBot, RandomOrGreedyBot and SimplePatternFinderBot from Chaos Army
• "Definitely Not Collusion Bot" from Team Multics. Multicore's fodder has been consumed. Team Multics contains only the MimicBot from here on.
• 1 NPC

## Round 15

5 bots died.

• Silly Invert Bot 2, AttemptAtFair, Insum's CooperateBot, MeasureBot and "Random-start-turn-taking" from Chaos Army
• 1 NPC

MeasureBot had succeeded in infecting AbstractSpyTreeBot's move method and replacing it with return 0. AbstractSpyTreeBot ought perform better with MeasureBot out of the game.

## Round 16

3 bots from Chaos Army died

• "Silly Counter Invert Bot"
• LiamGoddard
• "Pure TFT"

4 NPCs died

## Round 23

BendBot and Copoperater [sic] died. BendBot belonged to Zvi. CliqueZviBot does not actually belong to Zvi. It is named after Zvi's strategy from the original name.

No casualties.

## Round 25

Copybot Deluxe died.

## Round 26

RaterBot died. RaterBot performed semantic analysis on its opponents' source code. This may have contributed to breaking the symmetry of the clones.

No casualties.

## Round 28

Empiricist died. Empiricist was the most complicated bot I agreed to write the code for. The bot is exemplar of a precise, well-written spec of a clever algorithm.

On the first round, Empiricist plays 2. On any subsequent round, it examines the history against the current opponent so far. Let's denote it , where  are Empiricist's plays,  are the opponent's plays and  is the number of rounds played so far. The algorithm is as follows

Step 0: Compute Empiricist's total score so far (denote ) and the opponent's total score so far (denote ). If , then Empiricist plays 3. Otherwise, continue to the following steps.

Step 1: Compute the maximal number  s.t. the last  rounds of the game are a repetition of some previous sequence. That is,  is maximal s.t. there exists  with  s.t. the sequence  is identical to the sequence . If no  satisfies this property, set .

Step 2: Find the latest subsequence among previous repetitions, that is, the maximal  that satisfies the property above w.r.t. the chosen m. If , set .

Step 4: Examine . If , Empiricist plays 5-y. If , Empiricist plays 2.

1 NPC died.

No casualties.

# List of Survivors

The CloneBots and the MimicBot are all still alive.

Two bots from Chaos Army survived this first ¼ of Order 66.

One NPC survived too. Silly 2 Bot always returns 2.

In early tests of the game, I discovered that sometimes bots got stuck at a population of 2 from which they never died nor recovered. I added custom code to finish off any bot with a population of 2 or less. Any bot whose population drops to 2 or less will die.

# Multicore's Mystery

Multicore is in first place. But Multicore should not just be in first place. As the sole traitor among the CloneBots, Multicore's MimicBot should be dominating this competition. Plus, as a simulator, it should be able to cooperate on the first turn despite receiving misinformation about its opponent's previous move. I suspect that the MimicBot's simulator is useful because the other simulator, AbstractSpyTreeBot has the highest population of all non-clones.

Multicore's failure to completely dominate probably has something to do with the bugs in the game engine. But there's something else which at play too.

Simple bots are most advantageous to simulate. They are easy to maximize cooperation with and there is little danger of simple bots winning in the long game. The simplest bots were my silly bots. The next simplest bots were the bots I wrote on behalf of non-programmers. I programmed exclusively in Lisp. The MimicBot only has has code to simulate opponents written in Python3 and cannot simulate bots written in Lisp. (The same goes for AbstractSpyTreeBot, which MimicBot's simulator came from.) Therefore MimicBot cannot simulate the bots which it would be most worthwhile to simulate.

If this is true then AbstractSpyTreeBot continues to influence this game.

# Today's Obituary

The mutant game will continue on November 27, 2020.

# 5

New Comment
• Bots were passed their own previous move and told it was their opponent's previous move.
• Bots were always given 0 as the round index instead of the correct positive integer.

I was wondering what the second mistake was - I notice that I am no longer confused :)

Originally I was confused in this game as to why CliqueZviBot started decreasing around round 23 but I guess it is a combination of:

• getting 300-200 against a_comatose_squirrel, incomprehensibot and KarmaBot which have become a smaller part of the pool.
• getting 200-300 against A Very Special Bot, Clone wars, episode return 3 and EarlyBirdMimicBot which are becoming a larger part of the pool

(not all of them but probably most, especially the first bullet)

Hi, awesome idea! Looking forward to the next updates.

In the Mutant Game, the PasswordBots aren't really on my team. Since it appears to them that the opponent started with 3, they will play 3 on every turn against everybody.

If the round index is always 0, that means the clone truce never ends and you have population dynamics based on which clones are getting 300-200 against which other clones. Not sure if it will be stable or not.

I suspected that my simulation strategy didn't end up being all that useful, but I'm still curious what bots I managed to simulate at all. Presumably at least the PasswordBots. I guess I can find out when the code is released.