|
@@ -53,7 +53,56 @@ public class AutoPickerController implements Initializable {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void buildPointMultiplier() {
|
|
private void buildPointMultiplier() {
|
|
|
- pointMultiplier.put("driverTimeAll", 0.23f);
|
|
|
|
|
|
|
+ pointMultiplier.put("driverTimeAll", 0.238f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeLast5", 0.226f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeLast10", 0.236f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeLast15", 0.240f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeDistanceAll", 0.223f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeDistanceLast5", 0.218f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeDistanceLast10", 0.223f);
|
|
|
|
|
+ pointMultiplier.put("driverTimeDistanceLast15", 0.225f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionAll", 0.290f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionLast5", 0.238f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionLast10", 0.252f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionLast15", 0.260f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionDistanceAll", 0.247f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionDistanceLast5", 0.218f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionDistanceLast10", 0.230f);
|
|
|
|
|
+ pointMultiplier.put("driverPositionDistanceLast15", 0.237f);
|
|
|
|
|
+
|
|
|
|
|
+ pointMultiplier.put("horseTimeAll", 0.252f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeLast5", 0.257f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeLast10", 0.255f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeLast15", 0.251f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeDistanceAll", 0.217f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeDistanceLast5", 0.221f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeDistanceLast10", 0.217f);
|
|
|
|
|
+ pointMultiplier.put("horseTimeDistanceLast15", 0.216f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionAll", 0.278f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionLast5", 0.274f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionLast10", 0.281f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionLast15", 0.279f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionDistanceAll", 0.223f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionDistanceLast5", 0.221f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionDistanceLast10", 0.223f);
|
|
|
|
|
+ pointMultiplier.put("horsePositionDistanceLast15", 0.223f);
|
|
|
|
|
+
|
|
|
|
|
+ pointMultiplier.put("combinedTimeAll", 0.182f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeLast5", 0.183f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeLast10", 0.181f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeLast15", 0.181f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeDistanceAll", 0.170f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeDistanceLast5", 0.170f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeDistanceLast10", 0.169f);
|
|
|
|
|
+ pointMultiplier.put("combinedTimeDistanceLast15", 0.169f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionAll", 0.189f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionLast5", 0.190f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionLast10", 0.189f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionLast15", 0.189f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionDistanceAll", 0.168f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionDistanceLast5", 0.167f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionDistanceLast10", 0.178f);
|
|
|
|
|
+ pointMultiplier.put("combinedPositionDistanceLast15", 0.168f);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@FXML public void submitAction() {
|
|
@FXML public void submitAction() {
|
|
@@ -87,7 +136,7 @@ public class AutoPickerController implements Initializable {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void pickBest(List<Result> firstRace) {
|
|
private void pickBest(List<Result> firstRace) {
|
|
|
- final int topLimit = 2;
|
|
|
|
|
|
|
+ final int topLimit = 4;
|
|
|
final Horse horseDb = Horse.getInstance();
|
|
final Horse horseDb = Horse.getInstance();
|
|
|
final DriverDB driverDb = DriverDB.getInstance();
|
|
final DriverDB driverDb = DriverDB.getInstance();
|
|
|
final Ekipage ekipageDb = Ekipage.getInstance();
|
|
final Ekipage ekipageDb = Ekipage.getInstance();
|
|
@@ -356,7 +405,10 @@ public class AutoPickerController implements Initializable {
|
|
|
for (Result result : firstRace) {
|
|
for (Result result : firstRace) {
|
|
|
for (Entry<String, List<Result>> sortedList : sortedLists.entrySet()) {
|
|
for (Entry<String, List<Result>> sortedList : sortedLists.entrySet()) {
|
|
|
if (sortedList.getValue().stream().limit(topLimit).anyMatch(res -> res.equals(result))) {
|
|
if (sortedList.getValue().stream().limit(topLimit).anyMatch(res -> res.equals(result))) {
|
|
|
- topPicks.merge(result, pointMultiplier.getOrDefault(sortedList.getKey(), 1f), Float::sum);
|
|
|
|
|
|
|
+// topPicks.merge(result, pointMultiplier.getOrDefault(sortedList.getKey(), 0f) * 4, Float::sum);
|
|
|
|
|
+ topPicks.merge(result, (topLimit - sortedList.getValue().indexOf(result)) * pointMultiplier.getOrDefault(sortedList.getKey(), 0f),
|
|
|
|
|
+ Float::sum);
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|