최종 순위
+ ---------------------------------- + --------- + ---- ----- + --------- + ---------------------------- + | 이름 | 점수 | WinRate | 타이 레이트 | 제거 가능성 | + ---------------------------------- + --------- + ---- ----- + --------- + ---------------------------- + | 1. SarcomaBotMk11 | 0.06333 | 6.13 % | 0.41 % | [42 24 10 8 6 4] % | | 2. WiseKickBot | 0.06189 | 5.91 % | 0.56 % | [51 12 7 10 7 6] % | | 3. 스트라이커 봇 | 0.05984 | 5.78 % | 0.41 % | [46 18 11 8 6 5] % | | 4. 퍼펙트 프랙 션봇 | 0.05336 | 5.16 % | 0.35 % | [49 12 14 10 6 4] % | | 5. 메란 봇 | 0.05012 | 4.81 % | 0.41 % | [57 12 8 7 6 5] % | | 6. OgBot | 0.04879 | 4.66 % | 0.45 % | [50 15 9 8 7 5] % | | 7. 스네 치봇 | 0.04616 | 4.48 % | 0.28 % | [41 29 8 9 5 3] % | | 8. 킥봇 | 0.04458 | 4.24 % | 0.44 % | [20 38 17 10 6 4] % | | 9. MehBot | 0.03636 | 3.51 % | 0.25 % | [80 34 4 3 3] % | | 10. Meh20Bot | 0.03421 | 3.30 % | 0.23 % | [57 12 8 7 9 3] % | | 11. GenericBot | 0.03136 | 3.00 % | 0.28 % | [18 39 20 11 5 3] % | | 12. HardCodedBot | 0.02891 | 2.75 % | 0.29 % | [58 21 3 6 5 4] % | | 13. GangBot1 | 0.02797 | 2.64 % | 0.32 % | [20 31 35 6 3 2] % | | 14. 육종 봇 Mk3 | 0.02794 | 2.62 % | 0.34 % | [16 15 38 17 7 4] % | | 15. GangBot0 | 0.02794 | 2.64 % | 0.30 % | [20 31 35 6 3 2] % | | 16. GangBot2 | 0.02770 | 2.62 % | 0.31 % | [20 31 35 6 3 2] % | | 17. TitTatBot | 0.02740 | 2.63 % | 0.21 % | [54 10 15 10 5 2] % | | 18. MataHari2Bot | 0.02611 | 2.35 % | 0.51 % | [39 26 11 11 6 5] % | | 19. PolyBot | 0.02545 | 2.41 % | 0.27 % | [53 18 6 13 5 3] % | | 20. SpitballBot | 0.02502 | 2.39 % | 0.22 % | [84 10 11 10 1] % | | 21. SquareUpBot | 0.02397 | 2.35 % | 0.10 % | [10 60 14 7 4 3] % | | 22. CautiousGamblerBot2 | 0.02250 | 2.19 % | 0.13 % | [60 18 10 5 3 1] % | | 23. 봇 13 | 0.02205 | 2.15 % | 0.11 % | [90 2 3 2 1] % | | 24. AggroCalcBot | 0.01892 | 1.75 % | 0.29 % | [26 49 13 5 3 3] % | | 25. CautiousBot | 0.01629 | 1.56 % | 0.14 % | [15 41 27 11 4 1] % | | 26. CoastBotV2 | 0.01413 | 1.40 % | 0.02 % | [83 12 3 0 0] % | | 27. 계산 봇 | 0.01404 | 1.29 % | 0.22 % | [87 9 11 1 1] % | | 28. HalfPunchBot | 0.01241 | 1.15 % | 0.18 % | [47 20 13 12 5 2] % | | 29. HalflifeS3Bot | 0.01097 | 1.00 % | 0.20 % | [76 9 5 4 2 2] % | | 30. 안티 강봇 | 0.00816 | 0.76 % | 0.11 % | [94 1 1 1 1] % | | 31. GeometricBot | 0.00776 | 0.74 % | 0.07 % | [19 46 25 7 2 1] % | | 32. 추측 봇 | 0.00719 | 0.05 % | 1.34 % | [65 17 4 6 5 3] % | | 33. 경계 랜덤 봇 | 0.00622 | 0.60 % | 0.05 % | [42 39 12 5 2 0] % | | 34. 스프레더 봇 | 0.00549 | 0.54 % | 0.02 % | [32 43 19 4 1 0] % | | 35. DeterminBot | 0.00529 | 0.45 % | 0.16 % | [22 41 20 11 4 2] % | | 36. 퍼센트 봇 | 0.00377 | 0.38 % | 0.00 % | [85 8 4 2 1 0] % | | 37. HalvsiestBot | 0.00337 | 0.29 % | 0.08 % | [32 43 15 6 2 1] % | | 38. GetAlongBot | 0.00330 | 0.33 % | 0.01 % | [76 18 4 0 0] % | | 39. BandaidBot | 0.00297 | 0.29 % | 0.02 % | [76 9 1041 10] % | | 40. TENaciousBot | 0.00287 | 0.29 % | 0.00 % | [94 4 0 0 0] % | | 41. 생존자 봇 | 0.00275 | 0.25 % | 0.04 % | [92 6 0 0 0] % | | 42. 랜덤 봇 | 0.00170 | 0.13 % | 0.07 % | [42 36 14 5 2 1] % | | 43. 공격적인 경계의 랜덤 봇 V2 | 0.00165 | 0.14 % | 0.06 % | [8 46 34 9 2 1] % | | 44. 블러드 봇 | 0.00155 | 0.01 % | 0.30 % | [65 28 5 1 0] % | | 45. OutBidBot | 0.00155 | 0.03 % | 0.25 % | [65 6 21 6 1 1] % | | 46. BoxBot | 0.00148 | 0.10 % | 0.09 % | [10 51 33 5 1 1] % | | 47. LastBot | 0.00116 | 0.08 % | 0.07 % | [74 6 16 2 1 0] % | | 48. UpYoursBot | 0.00088 | 0.07 % | 0.03 % | [37 40 17 5 1 0] % | | 49. AverageBot | 0.00073 | 0.06 % | 0.03 % | [74 3 10 10 2 0] % | | 50. 한심한 | 0.00016 | 0.01 % | 0.02 % | [94 0 5 0 0] % | | 51. OverfittedBot | 0.00014 | 0.01 % | 0.00 % | [58 40 2 0 0] % | | 52. 로비 봇 | 0.00009 | 0.01 % | 0.00 % | [32 41 24 2 0 0] % | | 53. 최악의 케이스 봇 | 0.00002 | 0.00 % | 0.00 % | [4 71 23 2 0] % | | 54. SmartBot | 0.00002 | 0.00 % | 0.00 % | [44 51 5 0 0] % | | 55. AAAAUpYoursBot | 0.00000 | 0.00 % | 0.00 % | [40 58 2 0 0 0] % | | 56. 킥 반봇 | 0.00000 | 0.00 % | 0.00 % | [67 32 0 0 0] % | | 57. OneShotBot | 0.00000 | 0.00 % | 0.00 % | [2 95 3 0 0] % | | 58. 킥봇 | 0.00000 | 0.00 % | 0.00 % | [100 0 0 0 0] % | | 59. 카미카제 봇 | 0.00000 | 0.00 % | 0.00 % | [100 0 0 0 0] % | | 60. MeanKickBot | 0.00000 | 0.00 % | 0.00 % | [100 0 0 0 0] % | + ---------------------------------- + --------- + ---- ----- + --------- + ---------------------------- +
참여해 주신 모든 분들께 감사 드리며 @Sarcoma에게 축하를드립니다!
규칙 :
모두 100 마력으로 시작합니다. 각 라운드에서 2 명의 플레이어가 해당 라운드에서 아직 경쟁하지 않은 참가자 풀에서 무작위로 선택됩니다. 두 선수 모두 0과 현재 마력 사이의 숫자를 골라 그 숫자를 동시에 공개합니다. 낮은 숫자를 선택한 플레이어는 즉시 죽습니다. 다른 플레이어는 남은 HP에서 선택한 숫자를 빼고 다음 라운드로 넘어갑니다.
토너먼트는 다음과 같이 작동합니다 :
참가자의 브래킷에서 2가 무작위로 선택됩니다. 그들은 직면하고, 그들 중 하나 또는 둘 다 죽는다. 다음과 같은 경우 플레이어가 사망합니다 :
- 그들은 상대의 숫자보다 작은 숫자를 선택합니다
- 체력이 0 이하로 떨어집니다
- 상대와 3 번 연속으로 묶습니다
동점 인 경우 두 플레이어는 단순히 최대 3 번 새로운 숫자를 생성합니다. 페이스 오프 후 생존자 (있는 경우)는 다음 라운드의 풀로 이동하고 현재 라운드 풀을 모두 사용할 때까지 프로세스가 반복됩니다. 수영장에 홀수 번호가 있으면 홀수 번호가 다음 라운드로 무료로 이동합니다.
당신의 임무는 현재 입력 , 상대의 입찰 목록 및 현재 상대와 이미 묶인 횟수를 알려주 는 정수 및 방법을 알려주 는 정수를 사용 하는 python2.7 의 함수를 작성하는 것입니다 많은 봇은 여전히 당신을 포함하고 있으며 토너먼트 에서 봇의 수를 나열한 정수입니다 . 히스토리에는 타이가 포함되지 않습니다. 이 함수는 0과 현재 총 hp 사이의 정수를 반환해야합니다. 동점을 무시하는 몇 가지 간단한 예는 다음과 같습니다.hp
history
ties
alive
start
def last(hp, history, ties, alive, start):
''' Bet a third of your hp at first, then bet your opponent's last bid, if possible '''
if history:
return np.minimum(hp-1, history[-1])
else:
return hp/3
def average(hp, history, ties, alive, start):
''' Bet the average opponent's bid so far, on the assumption that bids will tend downward '''
if history:
num = np.minimum(hp-1, int(np.average(history))+1)
else:
num = hp/2
return num
def random(hp, history, ties, alive, start):
''' DO YOU WANT TO LIVE FOREVER?! '''
return 1 + np.random.randint(0, hp)
함수가 hp보다 큰 숫자를 반환하면 0으로 재설정됩니다. 예, 스스로 죽일 수 있습니다. 함수는 RouletteBot 클래스의 개체 멤버에 액세스하거나 수정하려고 시도해서는 안됩니다. 향후 추가 봇에 관계없이 상대방을 분명하게 식별하는 조치를 취할 수 없습니다. 스택을 검사하는 것은 이론적으로 하나 이상의 봇이 현재 존재하는 봇만 존재하더라도 둘 이상의 다른 상대가 수집 한 정보를 생성 할 수있는 한 이론적으로 가능합니다. 즉, 어떤 적 함수가 호출되었는지 확인하기 위해 스택을 읽을 수는 없습니다.
이 규칙에 따라 승자가없고 마지막 두 참가자가 서로를 죽일 수 있습니다. 이 경우 두 결승 진출자는 각각 1 점씩 반을받습니다.
이것은 나의 첫 번째 프로그래밍 퍼즐 시도이므로 비판은 환영합니다!