Skip to content

Instantly share code, notes, and snippets.

@Nikolaj-K
Last active January 29, 2018 21:41
Show Gist options
  • Save Nikolaj-K/dbc24f9f6dcc20fffafc7bdae8bdffb7 to your computer and use it in GitHub Desktop.
Save Nikolaj-K/dbc24f9f6dcc20fffafc7bdae8bdffb7 to your computer and use it in GitHub Desktop.
reward_model.py
import matplotlib.pyplot as plt
def bonusNormalized(levelHalf, level):
return 1 - levelHalf / float(levelHalf + level)
def levelFactor(levelHalf, level, bonusMax):
return 1 + bonusMax * bonusNormalized(levelHalf, level)
def reward(levelHalf, bonusMax, marketFactor, levelOld, levelDelta):
levelNew = levelOld + levelDelta
return marketFactor * levelDelta * levelFactor(levelHalf, level, bonusMax)
if __name__ == '__main__':
bonusMax = 3
levelHalf = 20
fs20 = [levelFactor(levelHalf, level, bonusMax) for level in range(200)]
levelHalf = 60
fs60 = [levelFactor(levelHalf, level, bonusMax) for level in range(200)]
levelHalf = 200
fs200 = [levelFactor(levelHalf, level, bonusMax) for level in range(200)]
plt.plot(fs20)
plt.plot(fs60)
plt.plot(fs200)
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment