| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | AJ | AK | AL | AM | AN | AO | AP | AQ | AR | AS | AT | AU | AV | AW | AX | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Score when playing against bot (average over 100 rollouts) | |||||||||||||||||||||||||||||||||||||||||||||||||
2 | Bot ID | Submitter | Code | Description | Total Score | 0 | 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 25 | 28 | 30 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 42 | 43 | 44 | 45 | 50 | 52 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | |||
3 | 0 | Isaac King | r = 0; | Defect | 57.33 | 1.00 | 3.00 | 1.07 | 2.01 | 3.00 | 1.00 | 1.00 | 1.00 | 3.00 | 2.03 | 2.03 | 1.14 | 1.07 | 1.00 | 1.00 | 1.00 | 1.00 | 1.15 | 1.00 | 1.00 | 1.00 | 1.14 | 1.00 | 1.00 | 1.17 | 1.17 | 1.24 | 1.08 | 1.08 | 1.14 | 1.08 | 2.04 | 1.00 | 1.00 | 1.00 | 1.00 | 2.39 | 2.21 | 1.98 | 1.09 | 1.00 | 1.00 | |||
4 | 1 | Isaac King | r = 1; | Cooperate | 40.98 | 0.00 | 2.00 | 2.00 | 0.99 | 2.00 | 0.00 | 0.00 | 2.00 | 2.00 | 2.00 | 1.28 | 2.00 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.56 | 2.00 | 0.00 | 0.00 | 1.51 | 0.00 | 0.00 | 1.60 | 1.94 | 1.17 | 2.00 | 2.00 | 2.00 | 2.00 | 1.03 | 0.00 | 0.00 | 0.00 | 0.00 | 1.32 | 1.21 | 0.73 | 0.63 | 0.00 | 0.00 | |||
5 | 2 | Isaac King | r = h.length === 0 ? 1 : h[h.length - 1].o; | Tit for Tat | 67.17 | 0.97 | 2.00 | 2.00 | 1.46 | 2.00 | 2.00 | 0.94 | 0.96 | 2.00 | 2.00 | 1.64 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 1.29 | 1.66 | 2.00 | 0.94 | 1.90 | 0.96 | 0.94 | 1.80 | 1.97 | 1.58 | 2.00 | 2.00 | 2.00 | 2.00 | 1.50 | 0.94 | 2.00 | 0.94 | 0.94 | 1.62 | 1.63 | 1.39 | 1.31 | 0.96 | 0.95 | |||
6 | 3 | Odoacre | r = Math.random() < 0.5; | Random | 44.28 | 0.49 | 2.50 | 1.54 | 1.51 | 0.51 | 2.50 | 0.49 | 0.50 | 2.51 | 1.57 | 1.58 | 0.66 | 0.65 | 0.48 | 0.50 | 0.51 | 0.50 | 1.30 | 0.50 | 0.50 | 0.51 | 1.08 | 0.50 | 0.50 | 1.41 | 1.54 | 1.17 | 1.56 | 1.54 | 1.55 | 1.04 | 1.54 | 0.48 | 0.63 | 0.50 | 0.49 | 1.86 | 1.74 | 1.43 | 0.86 | 0.50 | 0.52 | |||
7 | 4 | Ender Ting | r = (c == s || !c.match('Math')) ? 1 : 0; | "Math" Hater | 47.49 | 0.00 | 2.00 | 2.00 | 1.98 | 2.00 | 2.00 | 0.00 | 0.00 | 2.00 | 2.00 | 2.02 | 2.00 | 2.00 | 0.00 | 2.00 | 0.00 | 0.00 | 1.12 | 2.05 | 0.00 | 0.00 | 1.09 | 0.00 | 0.00 | 1.69 | 1.94 | 1.25 | 2.00 | 2.00 | 2.00 | 1.09 | 1.02 | 0.00 | 0.00 | 1.00 | 1.00 | 1.39 | 2.22 | 1.96 | 0.67 | 0.00 | 0.00 | |||
8 | 5 | Dan Powell | r = c.length > 15 | Long Program Liker | 50.29 | 1.00 | 3.00 | 2.00 | 1.00 | 2.00 | 2.00 | 0.00 | 0.00 | 2.00 | 2.00 | 1.36 | 2.00 | 2.00 | 0.00 | 2.00 | 2.00 | 0.00 | 1.55 | 2.00 | 0.00 | 0.00 | 1.55 | 0.00 | 0.00 | 1.61 | 1.94 | 1.19 | 2.00 | 2.00 | 2.00 | 2.00 | 1.03 | 1.00 | 0.00 | 0.00 | 0.00 | 1.32 | 1.27 | 0.80 | 0.67 | 1.00 | 1.00 | |||
9 | 8 | Bolton Bailey | r = 0; setTimeout(function() { }, 750);\n\n | Defect | 61.35 | 1.00 | 3.00 | 1.13 | 2.02 | 3.00 | 3.00 | 1.00 | 1.00 | 3.00 | 2.02 | 2.04 | 1.08 | 1.10 | 1.00 | 1.00 | 3.00 | 1.00 | 1.14 | 1.00 | 1.00 | 1.00 | 1.12 | 1.00 | 1.00 | 1.18 | 1.20 | 1.29 | 1.10 | 1.11 | 1.09 | 1.11 | 2.03 | 1.00 | 1.00 | 1.00 | 1.00 | 2.24 | 2.26 | 1.98 | 1.11 | 1.00 | 1.00 | |||
10 | 9 | Tetra | r = c.includes(\"r = 1\") ? 1 : 0; | "r = 1" Checker | 55.91 | 1.00 | 2.00 | 1.07 | 2.01 | 3.00 | 3.00 | 1.00 | 2.00 | 2.00 | 2.05 | 2.03 | 1.13 | 2.00 | 0.00 | 2.00 | 1.00 | 0.00 | 1.13 | 2.30 | 0.00 | 1.00 | 1.08 | 1.00 | 1.00 | 1.73 | 1.20 | 1.15 | 1.10 | 1.11 | 1.07 | 1.09 | 2.03 | 1.00 | 0.00 | 1.00 | 1.00 | 1.26 | 1.26 | 1.97 | 1.16 | 1.00 | 1.00 | |||
11 | 10 | Bolton Bailey | r = 1; setTimeout(function() { }, 750); | Cooperate | 42.12 | 0.00 | 2.00 | 2.00 | 0.98 | 2.00 | 2.00 | 0.00 | 2.00 | 2.00 | 2.00 | 1.19 | 2.00 | 2.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.54 | 0.95 | 0.00 | 0.00 | 1.49 | 0.00 | 0.00 | 1.66 | 1.93 | 1.31 | 2.00 | 2.00 | 2.00 | 2.00 | 1.04 | 0.00 | 0.00 | 0.00 | 0.00 | 1.42 | 1.26 | 0.80 | 0.55 | 0.00 | 0.00 | |||
12 | 11 | Daniel Filan | r = h.length === 0 ? 1 : (h[h.length - 1].o === 1 ? h[h.length - 1].m : 1 - h[h.length - 1].m) | Pavlov | 56.49 | 0.48 | 2.00 | 2.00 | 1.48 | 2.00 | 2.00 | 0.49 | 0.48 | 2.00 | 2.00 | 1.84 | 2.00 | 2.00 | 0.48 | 2.00 | 2.00 | 0.49 | 1.26 | 2.14 | 0.49 | 0.49 | 1.93 | 0.48 | 0.49 | 1.79 | 1.97 | 1.44 | 2.00 | 2.00 | 2.00 | 2.00 | 1.50 | 0.49 | 0.49 | 0.49 | 0.49 | 1.43 | 1.71 | 1.73 | 0.97 | 0.48 | 0.48 | |||
13 | 13 | Daniel Filan | let r_ = h.length === 0 ? 1 : (h[h.length - 1].o === 1 ? h[h.length - 1].m : 1 - h[h.length - 1].m); r = Math.random() < 0.95 ? r_ : 1 - r_; | Pavlov with 5% chance of doing the opposite | 50.20 | 0.49 | 2.36 | 1.70 | 1.47 | 0.49 | 2.32 | 0.48 | 0.49 | 2.40 | 2.01 | 1.95 | 1.08 | 1.16 | 0.49 | 1.65 | 0.49 | 0.49 | 1.30 | 2.02 | 0.48 | 0.49 | 1.97 | 0.49 | 0.48 | 1.60 | 1.68 | 1.28 | 1.68 | 1.68 | 1.69 | 1.19 | 1.50 | 0.48 | 0.49 | 0.49 | 0.49 | 1.83 | 1.70 | 1.67 | 1.04 | 0.49 | 0.49 | |||
14 | 14 | Lorenzo | r = h.every((r) => r.o); | Grim Trigger | 68.86 | 0.93 | 2.00 | 2.00 | 1.92 | 2.00 | 2.00 | 0.96 | 0.94 | 2.00 | 2.00 | 1.95 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 1.21 | 0.96 | 2.00 | 0.93 | 1.39 | 0.97 | 0.95 | 1.87 | 1.88 | 1.65 | 2.00 | 2.00 | 2.00 | 2.00 | 1.95 | 0.93 | 2.00 | 0.95 | 0.95 | 2.32 | 2.19 | 1.90 | 1.28 | 0.93 | 0.95 | |||
15 | 15 | Lorenzo | r = 1 && h.every((r) => r.o); | Grim Trigger | 70.00 | 0.96 | 2.00 | 2.00 | 1.93 | 2.00 | 2.00 | 0.95 | 2.00 | 2.00 | 2.00 | 1.95 | 2.00 | 2.00 | 2.00 | 2.00 | 0.94 | 2.00 | 1.21 | 2.00 | 2.00 | 0.96 | 1.35 | 0.96 | 0.95 | 1.85 | 1.85 | 1.64 | 2.00 | 2.00 | 2.00 | 2.00 | 1.92 | 0.94 | 2.00 | 0.96 | 0.94 | 2.38 | 2.20 | 1.92 | 1.30 | 0.96 | 0.96 | |||
16 | 16 | Multicore | r = 1; r = (d === 2) ? 1 : ((d < 14) ? 0 : h.every((r) => r.o)) | Hardcoded Responses - Defect/Grim Trigger | 75.61 | 1.00 | 3.00 | 2.00 | 2.04 | 3.00 | 3.00 | 1.00 | 3.00 | 3.00 | 2.04 | 2.02 | 2.00 | 2.00 | 2.00 | 2.00 | 0.96 | 2.00 | 1.23 | 2.36 | 2.00 | 0.95 | 1.35 | 0.95 | 0.95 | 1.86 | 1.86 | 1.65 | 2.00 | 2.00 | 2.00 | 2.00 | 1.92 | 0.96 | 2.00 | 0.97 | 0.95 | 2.37 | 2.18 | 1.88 | 1.30 | 0.94 | 0.94 | |||
17 | 17 | DaemonicSigil | r = 1;if(c.split(/[^a-zA-Zd]+/).some((z)=>(z==\"c\"||z==\"h\"||z==\"i\"))){var l=h.length;r=l>0?h[l-1].o:1}else{r-=1} | Tit for Tat against bots with h/i/c in their code, else defect | 72.20 | 1.00 | 3.00 | 2.00 | 2.00 | 2.00 | 2.00 | 1.00 | 2.00 | 3.00 | 2.00 | 1.61 | 2.00 | 2.00 | 2.00 | 2.00 | 3.00 | 2.00 | 1.24 | 1.79 | 2.00 | 1.00 | 1.89 | 0.92 | 1.00 | 1.80 | 1.97 | 1.55 | 2.00 | 2.00 | 2.00 | 2.00 | 1.49 | 1.00 | 2.00 | 1.00 | 0.95 | 1.69 | 1.60 | 1.39 | 1.31 | 1.00 | 1.00 | |||
18 | 21 | Franek Zak | r = ((s.length + d) % 3 == 1) | Cooperates with bots whose ID is 2 mod 3 | 58.75 | 1.00 | 3.00 | 2.00 | 1.99 | 3.00 | 2.00 | 0.00 | 1.00 | 3.00 | 2.00 | 2.03 | 2.00 | 1.11 | 1.09 | 0.00 | 1.00 | 1.00 | 1.60 | 3.00 | 1.11 | 1.00 | 1.08 | 1.00 | 1.00 | 1.65 | 1.19 | 1.24 | 2.00 | 1.07 | 1.15 | 1.11 | 1.02 | 1.00 | 0.00 | 1.00 | 1.00 | 1.38 | 2.26 | 1.98 | 0.69 | 1.00 | 1.00 | |||
19 | 22 | Benjamin Cosman | r = 1-1;let q=\"11211111111111222211112241112112211333222222222222221211112211\";let x=d>=q.length?2:Number(q[d]);if(x===2){r=h.every((r) => r.o);}if(x===3){r=f(c);}if(x===4){r=h.length>49 && h.every((r) => r.o);} | Hardcoded Responses - Defect/Grim Trigger/Mirror | 80.19 | 1.00 | 3.00 | 2.00 | 2.00 | 3.00 | 3.00 | 1.00 | 3.00 | 3.00 | 2.02 | 2.03 | 2.00 | 2.00 | 2.00 | 2.00 | 1.00 | 2.00 | 1.20 | 3.00 | 0.96 | 1.00 | 1.40 | 1.00 | 1.00 | 1.97 | 1.97 | 1.93 | 2.00 | 2.00 | 2.00 | 2.00 | 1.93 | 0.97 | 2.00 | 1.00 | 1.00 | 2.38 | 2.24 | 1.90 | 1.30 | 3.00 | 3.00 | |||
20 | 23 | Econom3trics | r = h.length ? (h[h.length-1].o ? (h[h.length-1].m ? 11/13 : 1/2) : (h[h.length-1].m ? 7/26 : 0)) > Math.random() : 1; | Different random probability for each combination of its last move and opponent's last move | 57.15 | 0.93 | 2.22 | 1.35 | 1.60 | 0.94 | 2.22 | 0.93 | 0.94 | 2.23 | 1.59 | 1.62 | 1.27 | 1.22 | 1.27 | 1.30 | 2.20 | 1.25 | 1.22 | 2.10 | 1.25 | 0.93 | 1.43 | 0.91 | 0.94 | 1.37 | 1.42 | 1.41 | 1.31 | 1.34 | 1.28 | 1.58 | 1.64 | 0.94 | 1.03 | 0.96 | 0.94 | 1.73 | 1.76 | 1.44 | 1.21 | 0.95 | 0.95 | |||
21 | 25 | Bohaska | let o=0,z=0,j;r=Math.random();for(j=0;j<c.length;j++){if(c[j]==='1')o++;else if(c[j]==='0')z++}if(r<o/(o+z))r=1;else r=0; | Random based on ratio of 1s and 0s in opponent's code | 49.42 | 1.00 | 2.00 | 1.72 | 2.00 | 0.47 | 2.00 | 1.00 | 0.35 | 2.53 | 1.32 | 1.30 | 1.08 | 2.00 | 0.50 | 1.81 | 0.00 | 0.00 | 1.48 | 1.34 | 0.00 | 0.49 | 1.05 | 0.00 | 1.00 | 1.44 | 1.67 | 1.25 | 1.57 | 1.57 | 2.00 | 1.16 | 2.04 | 1.00 | 0.00 | 0.33 | 1.00 | 1.82 | 1.58 | 1.67 | 0.90 | 1.00 | 1.00 | |||
22 | 28 | Daniel Filan | r = 1; r=1; r = [m,2].includes(d) ? 1 : (d < 14 || [18,19,22,25,29+1,33,34,52,53,54,56,57,59+1,61].includes(d) ? 1-1 : h.every((r) => r.o)); | Hardcoded Responses - Defect/Grim Trigger | 75.83 | 1.00 | 3.00 | 2.00 | 1.99 | 3.00 | 3.00 | 1.00 | 3.00 | 3.00 | 2.02 | 2.04 | 2.00 | 2.00 | 2.00 | 2.00 | 0.95 | 1.07 | 1.22 | 3.00 | 2.00 | 1.00 | 1.42 | 1.00 | 1.00 | 1.84 | 1.86 | 1.66 | 2.00 | 2.00 | 2.00 | 2.00 | 1.93 | 0.97 | 2.00 | 1.00 | 0.92 | 2.45 | 2.29 | 1.84 | 1.37 | 1.00 | 1.00 | |||
23 | 30 | s ziner | r = typeof a!=='undefined'?1: 0 | Defect, attempt to fool simulators | 60.42 | 1.00 | 3.00 | 1.13 | 1.98 | 3.00 | 3.00 | 1.00 | 1.00 | 3.00 | 2.03 | 2.02 | 1.13 | 1.09 | 1.10 | 1.00 | 1.00 | 1.00 | 1.14 | 2.02 | 1.00 | 1.00 | 1.07 | 1.00 | 1.00 | 1.20 | 1.18 | 1.28 | 1.13 | 1.11 | 1.07 | 1.11 | 2.02 | 1.00 | 1.00 | 1.00 | 1.00 | 2.39 | 2.20 | 1.95 | 1.08 | 1.00 | 1.00 | |||
24 | 31 | s ziner | let x=[0,0];let y=[0,0];for(var i=1;i<h.length;i++){if(h[i-1].m==0&&h[i-1].o==1){x[h[i].o]+=1;}if(h[i-1].m==1&&h[i-1].o==0){y[h[i].o]+=1;}};r=(m==d||h.length===0)?1:r=x[0]>1&&x[1]==0?1:y[0]>0?0:Math.random()<h.length/99?0:h[h.length-1].o | Tit for tat with steadily increasing random chance of defecting, with special rules based on the opponent's defections and responses to defections | 60.83 | 0.93 | 2.24 | 1.91 | 1.72 | 0.95 | 2.23 | 0.94 | 0.96 | 2.25 | 1.91 | 1.54 | 1.41 | 1.36 | 1.37 | 1.90 | 0.96 | 1.40 | 1.29 | 1.75 | 1.43 | 0.96 | 2.00 | 0.96 | 0.96 | 1.59 | 1.85 | 1.33 | 1.90 | 1.89 | 1.90 | 1.74 | 1.09 | 0.92 | 1.35 | 0.93 | 0.93 | 2.22 | 1.46 | 1.34 | 1.18 | 0.96 | 0.93 | |||
25 | 33 | Agh | if(arguments.callee.name!='f'){r=(!h.length||h[h.length-1].o)}else{r=d==m} | Defect except against self, attempt to fool simulators | 62.61 | 1.00 | 3.00 | 1.09 | 2.00 | 3.00 | 3.00 | 1.00 | 1.00 | 3.00 | 2.03 | 2.02 | 1.07 | 1.08 | 1.11 | 1.15 | 1.00 | 1.00 | 1.18 | 3.00 | 1.00 | 1.00 | 1.08 | 2.00 | 1.00 | 1.21 | 1.18 | 1.21 | 1.09 | 1.10 | 1.14 | 1.16 | 2.02 | 1.00 | 1.00 | 1.00 | 1.00 | 2.34 | 2.25 | 1.98 | 1.13 | 1.00 | 1.00 | |||
26 | 34 | Bohaska | if(arguments.callee.name!='f'){r=\"Robert'); DROP TABLE Students;--\"}else{r=d==32} | Defect except against [DISQUALIFIED], attempt to fool simulators | 59.40 | 1.00 | 3.00 | 1.11 | 2.00 | 3.00 | 3.00 | 1.00 | 1.00 | 3.00 | 2.02 | 2.03 | 1.10 | 1.10 | 1.11 | 1.00 | 1.00 | 1.00 | 1.13 | 1.00 | 1.00 | 1.00 | 1.09 | 1.00 | 1.00 | 1.17 | 1.19 | 1.24 | 1.14 | 1.12 | 1.10 | 1.10 | 2.02 | 1.00 | 1.00 | 1.00 | 1.00 | 2.28 | 2.24 | 1.98 | 1.12 | 1.00 | 1.00 | |||
27 | 35 | Ilio | r = h.length === 0 ? 1 : h[h.length - 1].o;if (h.length >= 43 && h.length < 53) {r = [0,1,1,0,0,0,1,1,1,1][h.length - 43];}if (h.length >= 53) {if (h.map(e => e.o).slice(43, 53).join(\"\") === \"0110001111\") {r = 1;} else {r = 0;}} | Tit for Tat, then give signal, then defect if signal not returned | 67.35 | 0.92 | 2.20 | 1.82 | 1.58 | 2.16 | 2.20 | 0.91 | 2.13 | 2.17 | 1.97 | 1.71 | 1.78 | 1.73 | 1.75 | 1.82 | 2.18 | 1.97 | 1.25 | 1.67 | 1.72 | 0.90 | 2.02 | 0.89 | 0.91 | 1.97 | 1.97 | 1.54 | 1.87 | 1.82 | 1.85 | 1.81 | 1.57 | 0.90 | 1.79 | 0.91 | 0.89 | 1.87 | 1.74 | 1.44 | 1.23 | 0.91 | 0.91 | |||
28 | 36 | Ilio | r=h.length===0?1:h[h.length - 1].o;if(h.length>=43&&h.length<53){r=[0,1,1,0,0,0,1,1,1,1][h.length - 43];}if(h.length>=53){if(h.map(e=>e.o).slice(43,53).join(\"\")===\"0110001111\"){r=1;}else{r=h.length===0?1:h[h.length - 1].o;}} | Tit for Tat, then give signal, then resume tit for tat | 64.33 | 0.91 | 2.03 | 1.97 | 1.48 | 2.03 | 2.03 | 0.90 | 0.90 | 2.03 | 1.97 | 1.62 | 1.77 | 1.74 | 1.75 | 1.97 | 0.91 | 1.97 | 1.28 | 1.59 | 1.76 | 0.91 | 1.90 | 0.91 | 0.90 | 1.97 | 1.97 | 1.57 | 1.97 | 1.97 | 1.97 | 1.83 | 1.49 | 0.92 | 1.89 | 0.90 | 0.90 | 1.68 | 1.63 | 1.41 | 1.24 | 0.90 | 0.90 | |||
29 | 37 | Ilio | r = h.length === 0 ? 1 : h[h.length - 1].o;if (h.length >= 20 && h.length < 30) {r = [0,1,1,0,1,0,0,1,1,0][h.length - 20];}if (h.length >= 30) {if (h.map(e => e.o).slice(20, 30).join(\"\") === \"0110100110\") {r = 1;} else {r = 0;}} | Tit for Tat, then give (different) signal, then defect if signal not returned. | 64.85 | 0.88 | 2.42 | 1.62 | 1.66 | 2.38 | 2.40 | 0.85 | 2.43 | 2.35 | 1.95 | 1.83 | 1.46 | 1.48 | 1.46 | 1.60 | 0.88 | 1.93 | 1.29 | 1.52 | 1.49 | 0.86 | 2.04 | 0.90 | 0.88 | 1.70 | 1.72 | 1.93 | 1.63 | 1.63 | 1.60 | 1.74 | 1.66 | 0.88 | 1.47 | 0.88 | 0.88 | 2.07 | 1.93 | 1.57 | 1.24 | 0.88 | 0.90 | |||
30 | 38 | denyeverywhere | r=1; 17618===[...(s.substr(20)+c.substr(20))].reduce((a,c)=>a+c.charCodeAt(0),0) ? r=1 : (r = h.length === 0 ? 1 : h[h.length - 1].o) | Tit for Tat that cooperates unconditionally with its family | 67.03 | 0.96 | 2.00 | 2.00 | 1.50 | 2.00 | 2.00 | 0.95 | 0.95 | 2.00 | 2.00 | 1.64 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | 1.25 | 1.52 | 2.00 | 0.93 | 1.89 | 0.96 | 0.93 | 1.85 | 1.97 | 1.59 | 2.00 | 2.00 | 2.00 | 2.00 | 1.50 | 0.95 | 2.00 | 0.95 | 0.96 | 1.60 | 1.59 | 1.40 | 1.27 | 0.96 | 0.96 | |||
31 | 39 | denyeverywhere | r=1; 17618===[...(s.substr(20)+c.substr(20))].reduce((a,c)=>a+c.charCodeAt(0),0) ? r=1 : (r = h.length === 0 ? 1 : h[h.length - 1].o) | Tit for Tat that cooperates unconditionally with its family | 65.87 | 0.96 | 2.00 | 2.00 | 1.47 | 2.00 | 2.00 | 0.94 | 0.94 | 2.00 | 2.00 | 1.66 | 2.00 | 2.00 | 2.00 | 2.00 | 0.96 | 2.00 | 1.26 | 1.52 | 2.00 | 0.95 | 1.88 | 0.95 | 0.94 | 1.80 | 1.97 | 1.58 | 2.00 | 2.00 | 2.00 | 2.00 | 1.47 | 0.95 | 2.00 | 0.93 | 0.93 | 1.64 | 1.57 | 1.35 | 1.35 | 0.95 | 0.95 | |||
32 | 42 | Tess | if (arguments.callee.name!='f') { console.log('How DARE you attempt to simulate me!?'); process.exit(); } r = (h.pop()||{o:1}).o; | Tit for Tat, attempt to disqualify simulators | 66.36 | 0.93 | 2.00 | 2.00 | 1.46 | 2.00 | 2.00 | 0.96 | 0.97 | 2.00 | 2.00 | 1.67 | 2.00 | 2.00 | 2.00 | 2.00 | 0.92 | 2.00 | 1.21 | 2.00 | 2.00 | 0.97 | 1.89 | 0.93 | 0.95 | 1.83 | 1.97 | 1.56 | 2.00 | 2.00 | 2.00 | 2.00 | 1.51 | 0.96 | 2.00 | 0.94 | 0.95 | 1.64 | 1.60 | 1.40 | 1.28 | 0.94 | 0.93 | |||
33 | 43 | Irigi | let n=1;h.forEach(game => {if (game.o == 1 && n < 3) { n = Math.max(n - 1, 0); } else { n = Math.min(n + 1, 3); }});r = n < 2 ? 1 : 0;r = h.length > 98 ? 0 : r; | Cooperate only if opponent has cooperated at least as many times as it defected | 65.54 | 0.96 | 2.00 | 2.00 | 1.73 | 0.95 | 2.00 | 0.94 | 0.95 | 2.00 | 2.00 | 1.91 | 2.00 | 2.00 | 2.00 | 2.00 | 0.95 | 2.00 | 1.37 | 1.87 | 2.00 | 0.94 | 1.52 | 0.92 | 0.95 | 1.82 | 1.84 | 1.52 | 2.00 | 2.00 | 2.00 | 2.00 | 1.02 | 0.96 | 1.03 | 0.93 | 0.95 | 2.28 | 2.17 | 1.83 | 1.28 | 0.96 | 0.96 | |||
34 | 44 | MrLuke255 | r = h.length % 2 == 0 | Alternate between cooperate and defect | 52.21 | 0.48 | 2.49 | 1.56 | 1.44 | 2.49 | 2.48 | 0.48 | 0.49 | 2.48 | 1.52 | 1.53 | 0.67 | 0.73 | 0.70 | 1.56 | 2.49 | 0.67 | 1.27 | 0.48 | 0.70 | 0.49 | 2.36 | 0.49 | 0.49 | 1.41 | 1.56 | 1.22 | 1.55 | 1.57 | 1.55 | 2.49 | 1.52 | 0.49 | 0.48 | 0.49 | 0.49 | 1.88 | 1.72 | 1.44 | 0.85 | 0.48 | 0.49 | |||
35 | 45 | Roma | r=d==50 | Defect except against ID 50 | 56.51 | 1.00 | 3.00 | 1.11 | 2.04 | 3.00 | 1.00 | 1.00 | 1.00 | 3.00 | 2.02 | 2.04 | 1.13 | 1.12 | 1.08 | 1.00 | 1.00 | 1.07 | 1.11 | 1.00 | 1.06 | 1.00 | 1.15 | 1.00 | 1.00 | 1.20 | 1.16 | 1.24 | 1.09 | 1.11 | 1.07 | 1.08 | 2.03 | 1.00 | 0.00 | 1.00 | 1.00 | 2.29 | 2.23 | 1.99 | 1.10 | 1.00 | 1.00 | |||
36 | 50 | Multicore | try{eval(`{let f=(d,m,c,s,f,h,i)=>{let r=9;${c};return +!!r};r=f}`);let θ='r=h.at(-1);r=!r||r.o',λ=Ω=>r(m,d,θ,c,f,Ω,Ω.map(χ=>({m:χ.o,o:χ.m}))),Σ=(μ,π)=>[...μ,{m:π,o:+!1}],α=λ([...i]),β=λ(Σ(i,α));r=f(θ)&α&!β&!λ(Σ(Σ(i,α),β))|d==m}catch{r = 1} | Simulate opponent, Tit for Tat against smart bots, Defect against dumb bots | 85.56 | 1.00 | 3.00 | 2.00 | 1.93 | 3.00 | 3.00 | 1.00 | 3.00 | 3.00 | 2.01 | 2.03 | 2.00 | 2.00 | 2.00 | 2.00 | 3.00 | 2.00 | 1.12 | 3.00 | 2.00 | 1.00 | 1.38 | 1.00 | 1.00 | 1.89 | 2.01 | 1.69 | 2.00 | 2.00 | 2.00 | 2.48 | 2.05 | 3.00 | 2.00 | 3.00 | 3.00 | 2.41 | 2.25 | 1.97 | 1.34 | 1.00 | 1.00 | |||
37 | 52 | Roma | r=(d-r)/41;r!=(r**2)?r=Math.round(r-(d*3-27)/123):0; | Defect except against ID 50 | 57.66 | 1.00 | 3.00 | 1.12 | 1.99 | 1.00 | 3.00 | 1.00 | 1.00 | 3.00 | 2.02 | 2.03 | 1.10 | 1.09 | 1.06 | 1.00 | 1.00 | 1.00 | 1.08 | 2.34 | 1.00 | 1.00 | 1.14 | 1.00 | 1.00 | 1.18 | 1.20 | 1.24 | 1.10 | 1.13 | 1.11 | 1.13 | 2.03 | 1.00 | 0.00 | 1.00 | 1.00 | 2.28 | 2.21 | 1.97 | 1.10 | 1.00 | 1.00 | |||
38 | 55 | Roma | r=h.lenght==0||(Math.min(...[...s].map(_=>_.charCodeAt(m=0)))+r)==d-Math.pow(d,m) | Defect except against ID 50 | 56.77 | 1.00 | 3.00 | 1.11 | 2.02 | 1.00 | 3.00 | 1.00 | 1.00 | 3.00 | 2.02 | 2.02 | 1.11 | 1.11 | 1.10 | 1.10 | 1.00 | 1.00 | 1.11 | 1.00 | 1.16 | 1.00 | 1.14 | 1.00 | 1.00 | 1.22 | 1.19 | 1.24 | 1.09 | 1.14 | 1.09 | 1.11 | 2.02 | 1.00 | 0.00 | 1.00 | 1.00 | 2.27 | 2.29 | 1.96 | 1.15 | 1.00 | 1.00 | |||
39 | 56 | Nathaniel Monson | r = 1; if (h.length <= 9) {r = 0;} | Defect first 10 turns, then cooperate | 46.99 | 0.31 | 2.34 | 1.72 | 1.31 | 2.31 | 2.34 | 0.38 | 2.37 | 2.29 | 2.02 | 1.41 | 0.41 | 0.39 | 0.38 | 1.77 | 2.31 | 0.31 | 1.46 | 1.33 | 0.28 | 0.30 | 0.47 | 0.33 | 0.36 | 1.36 | 1.68 | 0.91 | 1.76 | 1.73 | 1.73 | 0.46 | 1.32 | 0.36 | 0.30 | 0.36 | 0.36 | 1.67 | 1.58 | 1.31 | 0.51 | 0.34 | 0.35 | |||
40 | 57 | Nathaniel Monson | r = 0;for (let i = 2, s = Math.sqrt(h.length + 1); i <= s; i++) {if((h.length + 1) % i === 0) {r = 1;};} | Defect on prime numbered rounds, else cooperate | 45.58 | 0.39 | 2.40 | 1.68 | 1.36 | 0.39 | 2.37 | 0.37 | 2.37 | 2.37 | 1.37 | 1.42 | 0.49 | 0.47 | 0.50 | 1.68 | 0.37 | 0.38 | 1.36 | 1.62 | 0.35 | 0.40 | 1.97 | 0.38 | 0.38 | 1.39 | 1.65 | 1.05 | 1.67 | 1.68 | 1.67 | 0.50 | 1.41 | 0.38 | 0.37 | 0.39 | 0.36 | 1.74 | 1.59 | 1.37 | 0.76 | 0.36 | 0.37 | |||
41 | 58 | Nathaniel Monson | r = 0; if (h.length > 0) {r = h[h.length - 1].m; if (h[h.length - 1].o === 0) {r = Number(!r)} if (Math.random() < 0.07) {r = Number(!r)}} | Pavlov but defect on first turn. 7% chance to do the opposite | 47.82 | 0.51 | 2.63 | 1.47 | 1.54 | 0.52 | 2.60 | 0.51 | 0.52 | 2.60 | 1.99 | 1.90 | 0.61 | 0.58 | 0.63 | 1.47 | 0.51 | 0.61 | 1.28 | 1.13 | 0.68 | 0.53 | 1.87 | 0.51 | 0.51 | 1.34 | 1.50 | 1.15 | 1.53 | 1.50 | 1.49 | 0.70 | 1.54 | 0.51 | 0.52 | 0.52 | 0.52 | 1.80 | 1.72 | 1.88 | 0.86 | 0.52 | 0.51 | |||
42 | 59 | Anthony Peterson | r = h.length === 0 ? 1 : h[h.length - 1].o; if (h.length > 9) r = 0; | Tit for Tat first 10 turns, then defect | 64.18 | 0.95 | 2.68 | 1.38 | 1.82 | 2.67 | 2.66 | 0.95 | 0.92 | 2.72 | 2.02 | 1.93 | 1.35 | 1.38 | 1.37 | 1.38 | 2.65 | 1.37 | 1.18 | 1.79 | 1.44 | 0.96 | 1.65 | 0.93 | 0.94 | 1.44 | 1.44 | 1.51 | 1.35 | 1.42 | 1.35 | 1.43 | 1.84 | 0.95 | 1.34 | 0.95 | 0.93 | 2.18 | 2.03 | 1.74 | 1.29 | 0.95 | 0.97 | |||
43 | 60 | Benjamin Cosman | r=(d==22) | Defect except against ID 22 | 56.39 | 1.00 | 3.00 | 1.07 | 2.00 | 3.00 | 1.00 | 1.00 | 1.00 | 3.00 | 2.04 | 2.02 | 1.14 | 1.07 | 1.12 | 1.00 | 1.00 | 0.00 | 1.10 | 1.00 | 1.00 | 1.00 | 1.08 | 1.00 | 1.00 | 1.19 | 1.21 | 1.24 | 1.09 | 1.10 | 1.12 | 1.09 | 2.03 | 1.00 | 1.00 | 1.00 | 1.00 | 2.33 | 2.29 | 1.97 | 1.11 | 1.00 | 1.00 | |||
44 | 61 | Benjamin Cosman | r=(d==42-20) | Defect except against ID 22 | 56.25 | 1.00 | 3.00 | 1.09 | 1.96 | 3.00 | 1.00 | 1.00 | 1.00 | 3.00 | 2.03 | 2.03 | 1.09 | 1.08 | 1.12 | 1.00 | 1.00 | 0.00 | 1.09 | 1.00 | 1.00 | 1.00 | 1.15 | 1.00 | 1.00 | 1.19 | 1.21 | 1.20 | 1.07 | 1.10 | 1.13 | 1.09 | 2.02 | 1.00 | 1.00 | 1.00 | 1.00 | 2.29 | 2.27 | 1.98 | 1.07 | 1.00 | 1.00 | |||
45 | ||||||||||||||||||||||||||||||||||||||||||||||||||
46 |