public override float GenerateRandomXPoint()
    {
        float Y_point = UnityEngine.Random.Range(0.0f, cumulativeSatYPoints [cumulativeSatYPoints.Count - 1]);

        // computes the value x such that cumulative_sat(x) = Y_point.
        return(TargetUtils.LinearSpline(Y_point, cumulativeSatYPoints, cumulativeSatXPoints));
    }
 /// <summary>
 /// Computes the satisfaction in [0,1], given a value
 /// </summary>
 /// <returns>The satisfaction.</returns>
 /// <param name="value">Value.</param>
 public override float ComputeSatisfaction(float value)
 {
     return(TargetUtils.LinearSpline(value, satXPoints, satYPoints));
 }