import random
import numpy
def update_score(score, round_score, t):
return (score + round_score) / (t + 2), t + 1
lr = 0.1
scoreT1 = scoreT2 = 998
TimeT1 = TimeT2 = 0
print('================================================')
for i in range(10):
Tiger1 = numpy.random.normal(500, 50, 1)[0]
Tiger2 = numpy.random.normal(550, 100, 1)[0]
print('Epoch {} start: '.format(i + 1))
print('Tiger1 : ', end='')
print(Tiger1)
print('Tiger2 : ', end='')
print(Tiger2)
p = random.random()
print("The machine's choice is : ", end='')
if p < lr:
print('\nRandom! ', end='')
tem = random.random()
if tem < 0.5:
print('TigerMachine1 ')
scoreT1, TimeT1 = update_score(scoreT1, Tiger1, TimeT1)
else:
print('TigerMachine2 ')
scoreT2, TimeT2 = update_score(scoreT2, Tiger2, TimeT2)
else:
if scoreT1 > scoreT2:
print('TigerMachine1 ')
scoreT1, TimeT1 = update_score(scoreT1, Tiger1, TimeT1)
elif scoreT1 < scoreT2:
print('TigerMachine2 ')
scoreT2, TimeT2 = update_score(scoreT2, Tiger2, TimeT2)
else:
print("\nTigerMachine1 and 2 have the same score!")
tem = random.random()
if tem < 0.5:
print('TigerMachine1 ')
scoreT1, TimeT1 = update_score(scoreT1, Tiger1, TimeT1)
else:
print('TigerMachine2 ')
scoreT2, TimeT2 = update_score(scoreT2, Tiger2, TimeT2)
print('The score is: {} || {}'.format(scoreT1, scoreT2))
print('================================================')
if scoreT1 > scoreT2:
print("Machine's choice is : TigerMachine1!")
elif scoreT1 < scoreT2:
print("Machine's choice is : TigerMachine2!")
else:
print("Machine is not sure which to choose!")
结果:
================================================
Epoch 1 start:
Tiger1 : 463.0101391643539
Tiger2 : 298.4885916641581
The machine's choice is :
TigerMachine1 and 2 have the same score!
TigerMachine1
The score is: 730.5050695821769 || 998
================================================
Epoch 2 start:
Tiger1 : 551.4534188059761
Tiger2 : 519.840792191374
The machine's choice is : TigerMachine2
The score is: 730.5050695821769 || 758.920396095687
================================================
Epoch 3 start:
Tiger1 : 576.184385652595
Tiger2 : 504.77483655497775
The machine's choice is : TigerMachine2
The score is: 730.5050695821769 || 421.2317442168883
================================================
Epoch 4 start:
Tiger1 : 499.1808052984322
Tiger2 : 457.4179755424246
The machine's choice is : TigerMachine1
The score is: 409.8952916268697 || 421.2317442168883
================================================
Epoch 5 start:
Tiger1 : 525.7789113792235
Tiger2 : 436.6109507239315
The machine's choice is : TigerMachine2
The score is: 409.8952916268697 || 214.46067373520495
================================================
Epoch 6 start:
Tiger1 : 566.1834496378923
Tiger2 : 561.0098334950821
The machine's choice is : TigerMachine1
The score is: 244.0196853161905 || 214.46067373520495
================================================
Epoch 7 start:
Tiger1 : 419.8646885517717
Tiger2 : 583.9723500664198
The machine's choice is : Random! TigerMachine1
The score is: 132.77687477359243 || 214.46067373520495
================================================
Epoch 8 start:
Tiger1 : 366.3212662085439
Tiger2 : 813.7469293046312
The machine's choice is : TigerMachine2
The score is: 132.77687477359243 || 205.64152060796724
================================================
Epoch 9 start:
Tiger1 : 640.8566380301332
Tiger2 : 594.9562603783611
The machine's choice is : Random! TigerMachine1
The score is: 128.93891880062094 || 205.64152060796724
================================================
Epoch 10 start:
Tiger1 : 485.82866603037724
Tiger2 : 591.4838387998494
The machine's choice is : TigerMachine2
The score is: 128.93891880062094 || 132.85422656796945
================================================
Machine's choice is : TigerMachine2!