Added linear and exponential time penalty
modified the calculate score function to give random points