STATUS TANTANGAN: BUKA
Komentari, buka PR, atau berteriak pada saya jika saya kehilangan bot Anda.
Dilema tahanan ... dengan tiga pilihan. Gila, ya?
Inilah matriks hasil kami. Pemain A di sebelah kiri, B di atas
A,B| C | N | D
---|---|---|---
C |3,3|4,1|0,5
N |1,4|2,2|3,2
D |5,0|2,3|1,1
Matriks hasil direkayasa sehingga yang terbaik bagi kedua pemain untuk selalu bekerja sama, tetapi Anda bisa mendapatkan (biasanya) dengan memilih Netral atau Defection.
Inilah beberapa bot contoh (yang bersaing).
# turns out if you don't actually have to implement __init__(). TIL!
class AllC:
def round(self, _): return "C"
class AllN:
def round(self, _): return "N"
class AllD:
def round(self, _): return "D"
class RandomBot:
def round(self, _): return random.choice(["C", "N", "D"])
# Actually using an identically-behaving "FastGrudger".
class Grudger:
def __init__(self):
self.history = []
def round(self, last):
if(last):
self.history.append(last)
if(self.history.count("D") > 0):
return "D"
return "C"
class TitForTat:
def round(self, last):
if(last == "D"):
return "D"
return "C"
Bot Anda adalah kelas Python3. Sebuah instance baru dibuat untuk setiap pertandingan, dan round()
disebut setiap putaran, dengan pilihan lawan Anda dari babak terakhir (atau Tidak ada, jika itu babak pertama)
Ada hadiah 50 rep untuk pemenang dalam waktu sebulan.
Spesifik
- Setiap bot memainkan setiap bot lainnya (1v1), termasuk dirinya sendiri, dalam putaran [DIURANGI].
- Celah standar tidak diijinkan.
- Jangan main-main dengan apa pun di luar kelas Anda atau alasan buruk lainnya.
- Anda dapat mengirim hingga lima bot.
- Ya, Anda dapat menerapkan jabat tangan.
- Tanggapan selain
C
,N
atauD
akan diam-diam diambil sebagaiN
. - Setiap poin bot dari setiap pertandingan yang mereka mainkan akan dijumlahkan dan dibandingkan.
Pengendali
Bahasa lainnya
Saya akan mengumpulkan API jika ada yang membutuhkannya.
Skor: 2018-11-27
27 bots, 729 games.
name | avg. score/round
----------------|-------------------
PatternFinder | 3.152
DirichletDice2 | 3.019
EvaluaterBot | 2.971
Ensemble | 2.800
DirichletDice | 2.763
Shifting | 2.737
FastGrudger | 2.632
Nash2 | 2.574
HistoricAverage | 2.552
LastOptimalBot | 2.532
Number6 | 2.531
HandshakeBot | 2.458
OldTitForTat | 2.411
WeightedAverage | 2.403
TitForTat | 2.328
AllD | 2.272
Tetragram | 2.256
Nash | 2.193
Jade | 2.186
Useless | 2.140
RandomBot | 2.018
CopyCat | 1.902
TatForTit | 1.891
NeverCOOP | 1.710
AllC | 1.565
AllN | 1.446
Kevin | 1.322
while len(botlist) > 1:
dengan botlist.remove(lowest_scoring_bot)
di bagian bawah loop, Anda mendapatkan turnamen eliminasi dengan hasil yang menarik.