Procházet zdrojové kódy

Auto picker, first 7 correct

Axel Nordh před 3 roky
rodič
revize
97ce016683
1 změnil soubory, kde provedl 55 přidání a 3 odebrání
  1. 55 3
      ATG/src/controllers/AutoPickerController.java

+ 55 - 3
ATG/src/controllers/AutoPickerController.java

@@ -53,7 +53,56 @@ public class AutoPickerController implements Initializable {
 	}
 
 	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() {
@@ -87,7 +136,7 @@ public class AutoPickerController implements Initializable {
 	}
 
 	private void pickBest(List<Result> firstRace) {
-		final int topLimit = 2;
+		final int topLimit = 4;
 		final Horse horseDb = Horse.getInstance();
 		final DriverDB driverDb = DriverDB.getInstance();
 		final Ekipage ekipageDb = Ekipage.getInstance();
@@ -356,7 +405,10 @@ public class AutoPickerController implements Initializable {
 		for (Result result : firstRace) {
 			for (Entry<String, List<Result>> sortedList : sortedLists.entrySet()) {
 				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);
+
 				}
 			}
 		}