8 added 334 characters in body

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 1401, 2166, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers). I've spent some time fine-tuning at the end, but its structure is actually very simple.

The decisions are based only on a fixed set of parameters and not on the outcome of previous rounds.

The key seems to be the first round: you have to go all-in, bidding 500 seems to beis the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win Winning the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, thengives you are vulnerablea big advantage for the rest of the auction. You are only 500 dollars behind, and you have time to recover.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. Bidding too high and winning could be worse than losing this round.

In the third round, most bots stop escalating (50%: 50% of them have less than 1500 dollars by now, so there is no need to waste money now) andon this round, 1170 is a good tradeoff. Same thing in the fourth round. If you lost the first three, you can win this one very cheap, and still have enough money for the next.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on).

The last round must be all-in, and the other parameters are fine-tuned to win the last round by bidding as low as possible until then.

A lot of bots try to win the ninth round by bidding more than 2000 dollars, so I took that into account and try to overbid them (I can't win both the last two rounds anyway, and the last will be harder).

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 1401, 2166, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on).

The last round must be all-in, and the other parameters are fine-tuned to win the last round by bidding as low as possible until then.

A lot of bots try to win the ninth round by bidding more than 2000 dollars, so I took that into account and try to overbid them (I can't win both the last two rounds anyway, and the last will be harder).

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 1401, 2166, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers). I've spent some time fine-tuning at the end, but its structure is actually very simple.

The decisions are based only on a fixed set of parameters and not on the outcome of previous rounds.

The key seems to be the first round: you have to go all-in, bidding 500 is the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498. Winning the first round gives you a big advantage for the rest of the auction. You are only 500 dollars behind, and you have time to recover.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. Bidding too high and winning could be worse than losing this round.

In the third round, most bots stop escalating: 50% of them have less than 1500 dollars by now, so there is no need to waste money on this round, 1170 is a good tradeoff. Same thing in the fourth round. If you lost the first three, you can win this one very cheap, and still have enough money for the next.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on).

The last round must be all-in, and the other parameters are fine-tuned to win the last round by bidding as low as possible until then.

A lot of bots try to win the ninth round by bidding more than 2000 dollars, so I took that into account and try to overbid them (I can't win both the last two rounds anyway, and the last will be harder).

7 edited body

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 15011401, 16312166, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on).

The last round must be all-in, and the other parameters are fine-tuned to win the last round by bidding as low as possible until then.

A lot of bots try to win the ninth round by bidding more than 2000 dollars, so I took that into account and try to overbid them (I can't win both the last two rounds anyway, and the last will be harder).

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 1501, 1631, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on)

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 1401, 2166, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on).

The last round must be all-in, and the other parameters are fine-tuned to win the last round by bidding as low as possible until then.

A lot of bots try to win the ninth round by bidding more than 2000 dollars, so I took that into account and try to overbid them (I can't win both the last two rounds anyway, and the last will be harder).

6 edited body

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 15761290, 1501, 1631, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on)

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1576, 1501, 1631, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on)

# hard_coded

class hard_coded:
def __init__(self):
self.money = 0
self.round = 0

def play_round(self, did_i_win, amount):
self.money += 500
self.round += 1
if did_i_win == 0:
self.money -= amount
prob = [500, 992, 1170, 1181, 1499, 1276, 1290, 1501, 1631, 5000][self.round - 1]
if prob > self.money:
return self.money
else:
return prob


This bot is the results of genetic training against a lot of other pseudo-random bots (and some of the bots in other answers).

The key seems to be the first round: you have to go all-in, bidding 500 seems to be the safe move. Too many bots are trying to outsmart the initial move by bidding 499 or 498.

If you win the first round with 500, you have time to recover. If you lose and then win the second round with ~1000, then you are vulnerable for the rest of the auction.

A safe bet in the second round is a little over 990, but even bidding 0 gives some good result. In the third round, most bots stop escalating (50% of them have less than 1500 dollars by now, so there is no need to waste money now) and 1170 is a good tradeoff. Same thing in the fourth round.

After that, the average money required to win a round is 1500 dollars (which is the logical conclusion: everyone wins a round out of four by now, bidding less to win later is just wasting money, the situation has stabilized and it's just round-robin from now on)

5 edited body
4 edited body
3 edited body
2 edited body
Post Undeleted by G B
Post Deleted by G B
1